AWS 弹性豆茎中的多容器 docker 配置的增强运行状况概述未正确报告

我上传了一个有 multi-containers docker platform 两个容器的项目, 里面有 xyz abc aws elastic-beanstalk tomcat xyz 服务器。我有以下配置在我的文件的项目 Dockerrunner.aws.json

{
  "AWSEBDockerrunVersion": 2,
  "containerDefinitions": [
    {
      "name": "xyz",
      "image": "",
      "essential": true,
      "memory": 2048,
      "links": [
        "abc"
      ],
      "environment": [
        {
          "name": "ENVIRONMENT",
          "value": "QA"
        },
        {
          "name": "LOG_HOME",
          "value": "/usr/local/tomcat/logs"
        },
        .
        .
        .
      ],
      "mountPoints": [
        {
          "sourceVolume": "awseb-logs-xyz",
          "containerPath": "/usr/local/tomcat/logs"
        }
      ],
      .
      .
    },
    {
      "name": "abc",
      "image": "image123",
      "essential": true,
      .
      .
      .
    }
  ]
}

但是, 我无法查看弹性豆茎健康部分的数据。
enter image description here

到目前为止, 我为解决此问题所做的工作:

  • 我读 (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-serverlogs.html), 并了解到弹性豆茎有特殊的日志记录格式为多容器健康页面工作。
  • 对于测试建议, 我通过访问 ec2 实例, 以相同的格式手动创建了一个错误日志文件。我在位置 ( /var/log/containers/xyz 其中运行状况代理读取日志) 的 ec2 实例主机中创建的文件也正确地映射到 tomcat 日志文件在 /usr/local/tomcat/logs 坞站容器中的位置 (即) xyz

但是, 我仍然看不到增强的健康概述部分的变化。

第1个答案

这个 aws 支持站点:

弹性豆茎控制台, 验证是否启用了增强的运行状况报告:

  1. 选择"配置", 然后在"web 层"下的"运行状况" 面板上, 选择编辑设备。
  2. "运行状况报告"下, 确保将 "系统类型" 设置为"增强"。

64 位亚马逊 Linux 2016. xx. x. x. x. x 运行 node. js 平台:

确保配置了正确的代理服务器:

  1. 选择"配置", 然后在"web 层" 下的"软件配置"面板上, 选择编辑设备。

  2. "容器选项" 中, 确保选择了代理服务器。 如果代理服务器设置为无,则不会在下生成应用程序日志文件 /var/log/nginx/healthd/ , 并且运行状况报告不会生成要显示的数据。

您还可以修改 node. js 日志和位置, 使其与增强的运行状况日志格式兼容, 然后查看 healthd 配置文件 /etc/healthd/config.yaml

64 位亚马逊 Linux 2016. xx. x. x. x 运行多容器 Docker 2. xx:

此平台不附带代理服务器, 因此您需要确保以正确的格式从其容器生成日志, 并配置 healthd 以读取日志。若要在多容器 Docker 环境中使用增强的运行状况监视, 需要配置 healthd 为使用这些日志。

若要向运行状况代理提供日志, 请确保执行以下操作:

  • 日志的格式正确

  • 日志被写入/var/log/nginx/healthd/

  • 日志名称使用的格式:application.log.$year-$month-$day-$hour

  • 日志每小时旋转一次

  • 日志未被截断

注意: 使用 node. js 平台时, 如果禁用代理, 则不会在下创建日志 /var/logs/nginx/healthd/ 。您必须重新启用代理或配置您的 node. js 应用程序, 以生成下的日志。/var/logs/nginx/healthd/

此示例Docker-构 onter-v2 . zip 代码演示如何管理 healthd 将配置设置为读取另一个目录的 ebe 理财扩展。[...]

相关问题

在 AWS Lambda 中不再转换 pdf 来自 CodePipeline (AWS) 的代码构建 (AWS) 不工作 AWS 弹性豆茎中的多容器 docker 配置的增强运行状况概述未正确报告 如何重新启动 Windows 容器 烧瓶 CLI 在通过文档撰写运行时引发 "OSError: [Errno 8] Exec 格式错误" E: 在使用 docker compose 的 php-fpm 映像构建中,包 “mysql-client” 没有安装候选