【问题标题】:where and how to read results of ebextensions execution?在哪里以及如何读取 ebextensions 执行的结果?
【发布时间】:2012-10-01 22:57:41
【问题描述】:

我将 .ebextensions/start.config 文件添加到我的 WAR 包的根文件夹(如 suggested by AWS),将其部署到 Elastic Beanstalk,但没有任何反应。我可以在 EC2 实例的哪个位置看到此文件处理的日志?或者我可以在 EBT 的 TAIL 报告中看到这些信息?

【问题讨论】:

标签: amazon-web-services amazon-elastic-beanstalk


【解决方案1】:

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

cat /var/log/cfn-init-cmd.log

【讨论】:

    【解决方案2】:

    安装和配置eb cli比:

     eb logs development
    

    【讨论】:

      【解决方案3】:

      对于 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.conf),其中包含您要添加到日志包中的日志文件 (cfn-init-cmd.log) 的名称。

      【讨论】:

        【解决方案4】:

        您可以在 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.
        

        【讨论】:

          【解决方案5】:

          通过在线控制台为您的 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 文件中的命令名称。如果命令失败,您也应该在此处看到错误消息。

          【讨论】:

          • 您可以在“命令输出”术语指定的“cfn-init-cmd.log”文件中看到这些命令的输出;
          【解决方案6】:

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

          【讨论】:

          • 这个答案现在似乎已经过时了。 @SamuelJack 在此路径上查看日志文件的答案对我有用:/var/log/cfn-init.log
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-01-29
          • 2021-10-30
          • 2017-09-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多