24

我将.ebextensions/start.config文件添加到我的 WAR 包的根文件夹(如AWS 建议的那样),将其部署到 Elastic Beanstalk,但什么也没发生。我可以在 EC2 实例的哪个位置查看此文件处理的日志?或者我可以在 EBT 的 TAIL 报告中看到这些信息?

4

6 回答 6

23

通过在线控制台为您的 Elastic Beanstalk 环境生成日志快照。

查看日志时,搜索以“cfn-init.log”开头的部分。

在该部分中,您会看到类似的条目

2013-08-30 10:25:13,517 [INFO] Command 01-ec2setcomputername-enable succeeded
2013-08-30 10:25:24,516 [INFO] Command 02-install-server-monitor succeeded
2013-08-30 10:25:30,115 [INFO] Command 03-install-agent succeeded

其中 01-ec2setcomputername-enable 等是我的 .config 文件中的命令名称。如果命令失败,您也应该在此处看到错误消息。

于 2013-08-30T11:37:23.463 回答
14

您可以在 Web UI 中跟踪一些日志以查看您是否.ebextensions工作(通过 Elastic Beanstalk → 查看环境 → 日志)。您应该看到您定义的每个命令的成功或失败消息。(例如,对于名为的命令,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文件中的命令输出(c:\cfn\log\cfn-init-cmd.log在 Windows 或/var/log/cfn-init-cmd.logLinux 中)。这提供了更多有用的信息:

[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 说明

进一步的故障排除

命令输出还允许您运行任意命令来确定发生了什么。例如,正在执行的命令在哪个目录中?

这是.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.
于 2015-05-29T19:29:20.947 回答
7

在 Linux 32 位 Tomcat 7 容器上,我能够在以下位置找到日志: /var/log/eb-tools.log,在那里我能够看到我的哪些命令失败了。

于 2012-10-11T16:23:07.687 回答
7

对于 Windows,包含您的自定义 ebextension 输出的日志文件不是您通过 EB 控制台“请求日志”命令获得的 EB 日志的一部分。但是,您可以通过 .ebextension 文件中的文件命令轻松将该日志文件添加到包中:

files:
  "C:\\Program Files\\Amazon\\ElasticBeanstalk\\config\\taillogs.d\\cfn-init-cmd.conf" :
    content: |
      c:\cfn\log\cfn-init-cmd.log

它所做的只是使用要添加到日志包中的日志文件 (cfn-init-cmd.log) 的名称创建一个新的配置文件 (cfn-init-cmd.conf)。

于 2016-05-12T14:15:10.760 回答
0

安装和配置eb cli比:

 eb logs development
于 2017-03-03T08:30:45.647 回答
0

您可以通过 ssh 进入 ec2 查看日志并查看日志。为此,从根文件夹执行:

cat /var/log/cfn-init-cmd.log
于 2021-11-14T19:26:37.287 回答