Ведение журнала пользовательских данных Script Выход на EC2 Экземпляры на окнах

Я пытаюсь получить журналы ec2 "user-data" script и направлять их в системный журнал на окна. На linux кто-то уже нашел решение: http://alestic.com/2010/12/ec2-user-data-output

в основном вы должны использовать tev/var/log/user-data.log для системного журнала. Мне нужно знать, как это сделать для окон. Я не смог найти какой-либо user-data.log в моем экземпляре Windows.

Ответ 2

Для тех, кто находит это и все еще ищет, вы можете попробовать поискать в ProgramData. Там есть пара лог файлов, которые дают вам больше информации о загрузке.

C:\ProgramData\Amazon\EC2-Windows\Launch\Log\Ec2Launch.log
C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log

Ответ 3

Несколько путей в ответах на этот вопрос устарели по состоянию на июль 2019 года. Больше нет ни C:\Program Files\Amazon\Ec2ConfigService, ни C:\CFN (по крайней мере для меня, но я не использую CFN для предоставление, если это имеет значение)

Сначала я думал, что расположение C:\ProgramData\Amazon\также устарело, но я забыл, что ProgramData скрыта в окнах и по умолчанию скрытые файлы не отображаются. Помните, как каждый раз, когда вы устанавливаете окна, вы должны установить выбор "показывать скрытые файлы"? Я забыл об этом здесь.

Таким образом, журналы пользовательских данных Windows находятся в C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log

Также, если это помогает, сам скрипт Userdata (post-any-provisioning-templating, как представлено экземпляру) находится в C:\Windows\Temp\UserScript.ps1

Но я хотел бы воспользоваться второй рекомендацией tarvinder91 об использовании функции powershell "Start-Transcript" для простого создания собственных журналов. Вы можете установить собственный путь и -Append как Start-Transcript -Path "C:\UserData.log" -Append в начале вашего скрипта. Таким образом, вы можете контролировать, куда идет журнал, и не беспокоиться о том, как настроен AMI для хранения журналов.

Ответ 4

Вам действительно не нужно зависеть от стандартных журналов для любого облака/службы. Просто используйте start-transcript в своем коде powershell в начале. Он будет хранить все журналы для вас, как правило, в C:\Users\Administrators\Documents, если эта команда запускается из профиля администратора или в других местах в соответствии с профилем пользователя, использующим script.

Ответ 5

Я обнаружил, что есть файл журнала, посвященный выполнению пользовательских данных, и он указывает, что произошла ошибка, но она не указывает, что такое ошибки; поэтому решение (до тех пор, пока код ops не сделает что-то лучше) не будет писать код пользовательских данных таким образом, чтобы он направлял свой вывод в файл, и этот файл можно разобрать, чтобы сообщать об ошибках или помогать в отладке.