cloud-init的输出(例如在Amazon EC2中启动云中的虚拟机时自动运行脚本)的输出会流向何处?我想知道我的初始化脚本已成功执行。
有一个/var/log/cloud-init.log文件,但它似乎仅包含部分输出(即来自SSH密钥初始化的输出)。
cloud-init的输出(例如在Amazon EC2中启动云中的虚拟机时自动运行脚本)的输出会流向何处?我想知道我的初始化脚本已成功执行。
有一个/var/log/cloud-init.log文件,但它似乎仅包含部分输出(即来自SSH密钥初始化的输出)。
Answers:
从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
,您可以手动将此配置手动添加到Cloud Config Data中。
/var/log/cloud-init.log
也不/var/log/cloud-init-output.log
捕获用户数据脚本的输出。Roberto在这里的解决方案可以解决这一问题。我见过这样做的另一个方法是前导用户数据脚本所有输出发送到系统日志与exec 1> >(logger -s -t "WhateverNameYouWantToMakeSiftingLogMessagerEasier") 2>&1