在哪里可以找到cloud-init用户数据脚本的日志?

时间:2013-09-09 05:17:17

标签: cloud-init

我正在通过将shell脚本粘贴到用户数据字段来初始化运行标准Ubuntu 13.04 AMI派生的spot实例。

这很有效。该脚本运行。但它很难调试,因为我无法弄清楚脚本输出的记录位置,如果在任何地方。

我查看了/var/log/cloud-init.log,它似乎包含了一些与调试cloud-init相关的东西本身,但与我的脚本无关。我在/ var / log中找到了没找到的东西。

我有什么特别的事情可以打开登录吗?

3 个答案:

答案 0 :(得分:14)

您可以为您的userdata创建一个cloud-config文件(顶部带有“#cloud-config”),使用runcmd调用脚本,然后启用这样的输出日志记录:

output: {all: '| tee -a /var/log/cloud-init-output.log'}

答案 1 :(得分:7)

在AWS,DigitalOcean和大多数其他云提供商中,cloud init用户数据的默认位置已经 /var/log/cloud-init-output.log 。您不需要设置任何其他日志记录来查看输出。

答案 2 :(得分:5)

所以我试图复制你的问题。通常我在Cloud Config中工作,因此我只创建了一个简单的测试用户数据脚本,如下所示:

#!/bin/sh

echo "Hello World.  The time is now $(date -R)!" | tee /root/output.txt

echo "I am out of the output file...somewhere?"

yum search git    # just for fun

ls

exit 0

请注意,使用CloudInit shell脚本时,用户数据“将在首次启动时以类似rc.local的级别执行.rc.local-like意味着'在启动序列中很晚'” 登录到我的实例(Scientific Linux机器)后,我首先访问了/var/log/boot.log,然后我找到了:

  

Hello World。现在时间是星期三,2013年9月11日10:21:37 +0200!我是

     

文件外。日志文件在哪里?加载插件:更改日志,   内核模块,优先级,保护库,安全性,                 :由于存储库优先级保护而排除的tsflags,versionlock 126软件包由于存储库而排除了9个软件包   保护^ Mepel / pkgtags
  | 581 kB 00:00

     

=============================== N / S配对:git ========== ===================== ^ [[1mGit ^ [[0; 10mPython.noarch:Python ^ [[1mGit ^ [[0; 10m Library c ^ [[ 1mgit ^ [[0; 10m.x86_64:快速网络   接口^ [[1mgit ^ [[0; 10m

     

...

     

...(更多yum搜索输出)

     

...

     

bin等lib lib lost + found mnt proc sbin srv tmp var

     

boot dev home lib64 media opt root selinux sys usr

     

(其他不相关的东西)

因此,正如您所看到的,我的脚本已经运行并且已正确记录。 另外,正如预期的那样,我在/root/output.txt中使用内容强制记录'output.txt':

  

Hello World。现在时间是星期三,2013年9月11日10:21:37 +0200!

所以......我不确定你的剧本中发生了什么。 确保您使用

退出脚本
exit 0   #or some other code

如果它仍然不起作用,您应该提供更多信息,例如您的脚本,boot.log,/etc/rc.local和您的cloudinit.log。 顺便说一下:你的cloudinit版本是什么?