您可以在 Web UI 中跟踪一些日志,以查看您的 .ebextensions 是否有效 (via Elastic Beanstalk → view an environment → Logs)。您应该看到您定义的每个命令的成功或失败消息。 (例如,对于名为 01_setup 的命令,您会看到类似 command 01_setup succeeded 的消息。)
查看命令输出
虽然日志快照会显示命令失败,但不会显示命令输出:
[ERROR] Command 01_setup (setup.cmd) failed
[ERROR] Error encountered during build of postbuild_0_server: Command 01_setup failed
Traceback (most recent call last):
<irrelevant traceback>
您可以连接到底层 EC2 服务器并在 cfn-init-cmd.log 文件中查看命令输出(在 Windows 中为 c:\cfn\log\cfn-init-cmd.log,在 Linux 中为 /var/log/cfn-init-cmd.log)。这提供了更多有用的信息:
[INFO] Running command "setup.cmd"
[INFO] -----------------------Command Output-----------------------
[INFO] 'setup.cmd' is not recognized as an internal or external command,
[INFO] operable program or batch file.
[INFO] ------------------------------------------------------------
[ERROR] Exited with error code 1
有关连接 EC2 实例的帮助,请参阅Windows instructions。
进一步的故障排除
命令输出还允许您运行任意命令以了解发生了什么。例如,正在执行的命令在哪个目录?
这是.ebextensions 文件:
container_commands:
where_am_i:
command: dir
这是cfn-init-cmd.log中的输出:
[INFO] Running command "dir"
[INFO] -----------------------Command Output-----------------------
[INFO] Volume in drive C has no label.
[INFO] Volume Serial Number is 12A7-BAEB
[INFO]
[INFO] Directory of C:\inetpub\wwwroot
[INFO]
[INFO] 05/29/2015 05:42 PM <DIR> .
[INFO] 05/29/2015 05:42 PM <DIR> ..
[INFO] 05/29/2015 05:42 PM <DIR> .ebextensions
[INFO] 05/29/2015 05:31 PM <DIR> bin
[INFO] 05/28/2015 05:20 PM 106 Global.asax
[INFO] 05/28/2015 05:20 PM 498 packages.config
[INFO] 05/28/2015 05:20 PM 2,054 README.md
[INFO] 05/29/2015 06:56 PM 3,064 Web.config
[INFO] 4 File(s) 5,722 bytes
[INFO] 4 Dir(s) 4,553,273,344 bytes free
[INFO] ------------------------------------------------------------
[INFO] Completed successfully.