Где найти журналы для пользовательских данных cloud-init script?

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

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

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

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

Ответы

Ответ 1

поэтому я попытался реплицировать вашу проблему. Обычно я работаю в Cloud Config и поэтому просто создал простые тестовые пользовательские данные script следующим образом:

#!/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 означает" очень поздно в последовательности загрузки "" После входа в мой экземпляр (машина Scientific Linux) я сначала перешел в /var/log/boot.log, и там я нашел:

Привет, мир. Время сейчас Ср, 11 Сен. 2013 10:21:37 +0200! Я

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

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

...

... (больше результатов поиска yum)

...

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

boot dev home lib64 media opt root selinux sys usr

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

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

Привет, мир. Время сейчас Wed, 11 Sep 2013 10:21:37 +0200!

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

exit 0   #or some other code

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

Ответ 2

Вы можете создать файл облачной конфигурации (с "# облаком-config" вверху) для ваших пользовательских данных, используйте runcmd для вызова script, а затем включите запись вывода следующим образом:

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

Ответ 3

По умолчанию для пользовательских данных облачной инициализации уже /var/log/cloud-init-output.log, как в AWS, DigitalOcean, так и большинстве других облачных провайдеров. Вам не нужно настраивать дополнительные записи, чтобы увидеть результат.