在Windows上的EC2实例上记录用户数据脚本输出

max*_*max 13 windows amazon-ec2 user-data output

我正在尝试获取ec2"用户数据"脚本日志并将其指向Windows上的系统日志.在linux上,有人已经找到了解决方案:http: //alestic.com/2010/12/ec2-user-data-output

基本上你可以将/var/log/user-data.log发送到系统日志.我需要知道如何为Windows实例做这件事.我在我的Windows实例上找不到任何user-data.log.

use*_*420 16

此问题的答案中的几个路径已于 2019 年 7 月过时。不再有任何 C:\Program Files\Amazon\Ec2ConfigService 或 C:\CFN(至少对我而言,但我没有使用 CFN规定,如果这很重要)

起初我认为 C:\ProgramData\Amazon\ 位置也已过时,但我忘记了 ProgramData在 Windows 上是隐藏的,并且默认情况下不显示隐藏文件。还记得每次安装 Windows 时必须将选择设置为“显示隐藏文件”吗?我忘记了这里。

所以,Windows用户数据记录C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log

此外,如果有帮助,Userdata 脚本本身(post-any-provisioning-template,如呈现给实例)在 C:\Windows\Temp\UserScript.ps1

但我想第二个 tarvinder91 的建议,即使用 powershell 函数“Start-Transcript”轻松创建自己的日志。您可以像Start-Transcript -Path "C:\UserData.log" -Append在脚本开头一样设置自定义路径和 -Append 。通过这种方式,您可以控制日志的去向,而不必担心如何配置 AMI 来存储日志。


efr*_*ord 9

对于那些找到并仍在寻找的人,您可以尝试在 ProgramData 中查找。那里有几个日志文件可以为您提供有关启动的更多信息。

C:\ProgramData\Amazon\EC2-Windows\Launch\Log\Ec2Launch.log
C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log
Run Code Online (Sandbox Code Playgroud)


Ait*_*tch 7

您是否尝试过查看C:\ CFN\LOG\cfn-init.log - 这通常是您获取CFN用户数据日志的地方?

内部和周围也有有用的信息

C:\ Program Files\Amazon\Ec2ConfigService\Logs\Ec2ConfigLog.txt

参考:http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-windows-stacks-bootstrapping.html


小智 5

您实际上不必依赖任何云/服务的标准日志。只需start-transcript在开始时在您的 powershell 代码中使用。C:\Users\Administrators\Documents如果此命令是从管理员配置文件或根据运行脚本的用户配置文件在其他位置运行,它通常会为您存储所有日志。