cloud-init 的日志输出存储在哪里?

cloud-init 的日志输出存储在哪里?

输出来自哪里云初始化(在云中启动虚拟机时自动运行脚本,例如在 Amazon EC2 上)去吗?我想知道我的初始化脚本是否已成功执行。

有一个 /var/log/cloud-init.log 文件,但它似乎只包含部分输出(即来自 SSH 密钥初始化)。

答案1

自从cloud-init0.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 中

相关内容