Elastic Beanstalk上的Docker部署没有收集NGINX日志

时间:2016-04-18 11:40:31

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

根据Amazon's Elastic Beanstalk Multicontainer Docker Configuration docs,我应该能够使用挂载点在Elastic Beanstalk期望的位置获取NGINX日志。

  

容器实例中要装入的卷以及装入它们的容器文件系统上的位置。装载包含应用程序内容的卷,以便容器可以读取您在源包中上载的数据,以及用于将日志数据写入Elastic Beanstalk可以收集它的位置的日志卷。

     

Elastic Beanstalk在容器实例上创建日志卷,每个容器一个,位于/ var / log / containers / containername。这些卷名为awseb-logs-containername,应该挂载到容器文件结构中写入日志的位置。

     

例如,以下安装点将容器中的nginx日志位置映射到nginx-proxy容器的Elastic Beanstalk生成的卷。

{
  "sourceVolume": "awseb-logs-nginx-proxy",
  "containerPath": "/var/log/nginx"
}

我在我的应用程序中为两个NGINX容器做了这个,但是当我请求日志时,EB没有提供NGINX日志。

{
  "AWSEBDockerrunVersion": 2,
  "containerDefinitions": [
    {
      "name": "gs-api-nginx-versioning",
      "image": "829481521991.dkr.ecr.us-east-1.amazonaws.com/gs-api-nginx-versioning:latest",
      "memory": 128,
      "essential": true,
      "mountPoints": [
        {
          "sourceVolume": "awseb-logs-gs-api-nginx-versioning",
          "containerPath": "/var/log/nginx"
        }
      ],
      "portMappings": [
        {
          "hostPort": 80,
          "containerPort": 80
        },
        {
          "hostPort": 443,
          "containerPort": 443
        }
      ],
      "links": [
        "gs-api-v1-nginx:v1"
      ]
    },
    {
      "name": "gs-api-v1-nginx",
      "image": "829481521991.dkr.ecr.us-east-1.amazonaws.com/gs-api-v1-nginx:latest",
      "memory": 128,
      "essential": true,
      "mountPoints": [
        {
          "sourceVolume": "awseb-logs-gs-api-v1-nginx",
          "containerPath": "/var/log/nginx"
        }
      ],
      "links": [
        "gs-api-v1-atlas-vms:atlas-vms",
        "gs-api-v1-auth:auth",
        "gs-api-v1-clean-zip:clean-zip",
        "gs-api-v1-data-alerts:data-alerts",
        "gs-api-v1-proc-events:proc-events",
        "gs-api-v1-sites:sites"
      ]
    },
    <additional container configs>
  ]
}

任何人都可以看到我在这里错过了导致日志不被收集的内容吗?

0 个答案:

没有答案