2013-09-09 3 views
15

Я инициализирую примеры экземпляров, выполняющих производные от стандартного Ubuntu 13.04 AMI, вставив скрипт оболочки в поле пользовательских данных.Где найти журналы для сценария пользовательских данных cloud-init?

Это работает. Скрипт запускается. Но его трудно отлаживать, потому что я не могу понять, где записывается вывод скрипта, если он есть.

Я просмотрел /var/log/cloud-init.log, который, как представляется, содержит кучу вещей, которые будут иметь отношение к отладке самого облачного init, но ничего о моем скрипте. Я grepped в/var/log и ничего не нашел.

Есть ли что-то особенное, что я должен сделать, чтобы включить регистрацию?

+1

Вы проверили /var/log/boot.log? CloudInit запускается во время загрузки, поэтому ваши «отпечатки» и ошибки должны появляться где-то в этом журнале. – cjdcordeiro

+0

Все, что я получаю в boot.log, это: «start-init start: Mon, 09 Sep 2013 06:39:55 +0000. до 44,94 секунд " – cbare

+1

Что это за сценарий, который вы передаете? Если у него нет никаких выходов, то для вас нормально ничего не видеть. – cjdcordeiro

ответ

5

поэтому я попытался воспроизвести вашу проблему. Обычно я работаю в облаке 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 оболочки, пользователь-данные «будут выполнены в rc.local, как во время первой загрузки. rc.local-like означает «очень поздно в последовательности загрузки». После входа в мой экземпляр (научный Linux-компьютер) я сначала перешел в /var/log/boot.log, и там я нашел:

Hello World. Время сейчас Ср, 11 Сен. 2013 10:21:37 +0200! Я

не поступил. Файл журнала где-нибудь? Загруженные плагины: список изменения, ядро-модуль, приоритеты, protectbase, безопасность, : tsflags, versionlock 126 пакетов исключены из-хранилищ приоритетных защиты 9 пакетов исключенных из-хранилищ защиты^Mepel/pkgtags
| 581 kB 00:00

================= = ============================== [[1mGit^[[0; 10mPython.noarch: Python^[[1mGit^[[0; Библиотека 10m с^[[1mgit^[[0; 10m.x86_64: быстрый веб-интерфейс для^[[1mgit^[[0; 10m

...

... (подробнее поиска ня выход)

...

бин и т.д. Lib потеряли + нашел мнт прок SBIN SRV TMP уаг

загрузки DEV домой lib64 медиа неавтоматического корень SELinux SYS USR

(другие не связанные вещи)

Итак, как вы можете видеть, мой сценарий бежал и был правильно зарегистрирован. Кроме того, как и ожидалось, у меня был мой вынужденного бревна 'output.txt' в /root/output.txt с содержанием:

Hello World. Время сейчас Ср, 11 Сен. 2013 10:21:37 +0200!

Итак ... Я не совсем уверен, что происходит в вашем скрипте. Убедитесь, что вы выхода из сценария с

exit 0 #or some other code 

Если он все еще не работает, вы должны предоставить больше информации, как ваш сценарий, ваш boot.log, ваш /etc/rc.local, и ваш cloudinit.log. btw: какова ваша версия в облачном режиме?

+0

Я проверил, что это работает на CentOS AMI (ami-0027bf69) и не работает на стандартном Ubuntu 13.04 AMI (ami-c30360aa). На Ubuntu файл output.txt записывается как ожидалось, я изменил строку yum на «apt-get install -y git». Этот AMI работает с BOOTLOGD_ENABLE = Нет, поэтому нет boot.log. Спасибо, @cjdcordeiro! – cbare

+1

Хм, я думаю, я позвоню, чтобы проверить, что ведение журнала либо намеренно отключено, либо повреждено на Ubuntu 13.04 AMI и/или в Cloud-Init 0.7.2. Спасибо за помощь! – cbare

+0

Да, это, вероятно, вопрос Ubuntu AMI. – cjdcordeiro

13

Вы можете создать облако-конфигурационный файл (с «# облачной конфигурации» в верхней части) для вашего UserData, используйте RunCmd для вызова скрипта, а затем включить ведение лога вывода, как это:

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

Спасибо, Майкл. Я попробую это и отчитаюсь, когда начну следующий раунд. – cbare

+0

Этот файл существует в моем поле centos. –

+0

@can - Я недавно заметил это сам при использовании AMI AmazonLinux. Я использовал Ubuntu AMI в то время, когда я написал этот комментарий. Я предполагаю, что он добавлен к значениям по умолчанию в некоторых других дистрибутивах. Очень хорошо! – Michael