16

Where does output from cloud-init (automatically runs scripts when starting up a virtual machine in the cloud, for example at Amazon EC2) go? I would like to know that my initialization scripts executed successfully.

There is a /var/log/cloud-init.log file, but it seems to contain only partial output (namely from the SSH key initialization).

17

Since cloud-init 0.7.5 (released on Apr 1 2014), all output from cloud-init is captured by default to /var/log/cloud-init-output.log. This default logging configuration was added in a commit from Jan 14 2014:

# this tells cloud-init to redirect its stdout and stderr to
# 'tee -a /var/log/cloud-init-output.log' so the user can see output
# there without needing to look on the console.
output: {all: '| tee -a /var/log/cloud-init-output.log'}

To add support for previous versions of cloud-init, you can manually add this configuration manually to your Cloud Config Data.

3

I couldn't find way a "native" way for doing that. Before passing the script to cloud-init, I've simply (automatically) appended a >> /tmp/init-script-log 2>&1 to each line of the script, to forward stout and stderr to a file.

| improve this answer | |
  • As Valko pointed out, neither /var/log/cloud-init.log nor /var/log/cloud-init-output.log captures output from user-data scripts. Roberto's solution here answers that concern. Another way I've seen this done is to preamble your user-data script to send all output to syslog with exec 1> >(logger -s -t "WhateverNameYouWantToMakeSiftingLogMessagerEasier") 2>&1 – Toddius Zho Jan 29 '18 at 17:00
1

On the Centos 7 AMI I am using, the output of my user data script is in /var/log/cloud-init-output.log.

| improve this answer | |
0

On my EC2 box (running the Amazon Linux AMI) it's stored in /var/log/cloud-init.log

| improve this answer | |
  • 2
    Thanks, but it doesn't seem to contain output from user scripts. – Markus Hallmann Feb 19 '11 at 7:24
0

I've found log output in /var/log/messages (CentOS7 AWS AMI)

| improve this answer | |
-4

First of all let me congratulate you on using cloud-init, it's a quite amazing tool!

There's no way yet to setup a log level but by default cloud-init will run with DEBUG enabled.

It's still in heavy development, I expect it to be a lot better by the release of Ubuntu Natty

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.