输出来自哪里云初始化(在云中启动虚拟机时自动运行脚本,例如在 Amazon EC2 上)去吗?我想知道我的初始化脚本是否已成功执行。
有一个 /var/log/cloud-init.log 文件,但它似乎只包含部分输出(即来自 SSH 密钥初始化)。
答案1
自从cloud-init
0.7.5(2014 年 4 月 1 日发布),默认情况下,cloud-init 的所有输出都会被捕获到/var/log/cloud-init-output.log
。此默认日志记录配置是在犯罪自2014年1月14日起:
# 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'}
要添加对以前版本的支持cloud-init
,您可以手动将此配置添加到您的云配置数据。
答案2
日志存储在systemd中:
journalctl -u cloud-final
答案3
我找不到一种“原生”的方式来实现这一点。在将脚本传递给 cloud-init 之前,我只是(自动)>> /tmp/init-script-log 2>&1
在脚本的每一行后面附加了一个,以将 stout 和 stderr 转发到一个文件。
答案4
在我的 EC2 机器(运行 Amazon Linux AMI)上,它存储在 /var/log/cloud-init.log 中