AWS ECS优化的容器日志通过Terraform移至cloudwatch日志

时间:2018-10-23 10:13:06

标签: terraform amazon-ecs amazon-cloudwatchlogs aws-ecr

我正在尝试将AWS ECS容器任务日志移至云监视,我已为“ Logdriver”配置了IAM策略和Terraform任务,我没有将任何容器集中式日志移至Cloudwatch >>

Cofiguration.JSON >>>

SELECT  CASE WHEN col1 = 'a' THEN CONVERT(VARCHAR(150),HashBytes('SHA2_256', ids),2) ELSE ids END As ids,
col1
FROM @T

ecs.tf >>

"logConfiguration": {
    "logDriver": "awslogs",
    "options": {
      "awslogs-group": "app-api",
      "awslogs-region": "eu-west-1",
      "awslogs-stream-prefix": "app-logs"
    }
  } 

1 个答案:

答案 0 :(得分:0)

  

任务容器记录的信息类型主要取决于其ENTRYPOINT命令。默认情况下,如果在本地运行容器(即STDOUT和STDERR I / O流),则捕获的日志将显示通常在交互式终端中看到的命令输出。

您想获取哪种日志? 根据上面的定义,只有在ecs上使用默认的aws日志时,才可以从STDOUT和STDER获取

如果要从文件获取日志,则应该获得自己的awslogs配置。

  • 将容器日志文件安装到容器实例(容器定义上的配置)
  • 如果不使用ECS优化的AMI,请安装aws logs代理 https://docs.aws.amazon.com/en_us/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html
  • 如果您使用ECS优化的AMI,请下载curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
  • 使用您的自定义配置运行代理设置

    python awslogs-agent-setup.py -n -r ${AWS::Region} -c your_awslogs_configuration.conf || error_exit "Failed to run CloudWatch Logs agent setup"