25

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

基本上你会把 /var/log/user-data.log 放到系统日志中。我需要知道如何为 Windows 实例执行此操作。我在我的 Windows 实例上找不到任何 user-data.log。

4

5 回答 5

18

截至 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”轻松创建自己的日志。您可以设置自定义路径和 -Append 就像Start-Transcript -Path "C:\UserData.log" -Append在脚本的开头一样。通过这种方式,您可以控制日志的去向,而不必担心 AMI 是如何配置来存储日志的。

于 2019-07-01T18:50:52.817 回答
10

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

C:\ProgramData\Amazon\EC2-Windows\Launch\Log\Ec2Launch.log
C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log
于 2018-03-30T13:21:35.910 回答
8

您是否尝试过查看 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

于 2014-04-28T09:10:02.620 回答
6

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

于 2018-01-19T05:20:44.443 回答
0

我发现有一个专用于用户数据执行的日志文件,它表明发生了错误,但不表明错误是什么;因此解决方案(直到 ops-code 做得更好)是以将其输出定向到文件的方式编写用户数据代码,并且可以解析该文件以报告错误详细信息或帮助调试。

于 2013-12-22T06:35:51.807 回答