AWS ECS优化容器日志通过Terraform移动到cloudwatch日志
我正在尝试将AWS ECS容器任务日志移动到cloud watch,我已经为“Logdriver”配置了IAM策略和Terraform任务,我没有将任何容器集中日志移动到Cloudwatch>> Cofiguration.JSON>>>AWS ECS优化容器日志通过Terraform移动到cloudwatch日志,terraform,amazon-ecs,amazon-cloudwatchlogs,aws-ecr,Terraform,Amazon Ecs,Amazon Cloudwatchlogs,Aws Ecr,我正在尝试将AWS ECS容器任务日志移动到cloud watch,我已经为“Logdriver”配置了IAM策略和Terraform任务,我没有将任何容器集中日志移动到Cloudwatch>> Cofiguration.JSON>>> "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "app-api", "awslogs-region": "eu-we
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "app-api",
"awslogs-region": "eu-west-1",
"awslogs-stream-prefix": "app-logs"
}
}
ecs.tf>>
"elasticloadbalancing:DeregisterTargets",
"elasticloadbalancing:Describe*", "elasticloadbalancing:Describe*",
"elasticloadbalancing:RegisterInstancesWithLoadBalancer", "elasticloadbalancing:RegisterInstancesWithLoadBalancer",
"elasticloadbalancing:RegisterTargets" "elasticloadbalancing:RegisterTargets",
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:DescribeLogStreams",
"logs:PutSubscriptionFilter",
"logs:PutLogEvents"
任务容器记录的信息类型主要取决于它们的ENTRYPOINT命令。默认情况下,捕获的日志显示在本地运行容器时通常在交互终端中看到的命令输出,即STDOUT和STDERR I/O流
你想要什么样的日志?
根据上面的定义,如果您在ecs上使用默认的aws日志,则只能从STDOUT和STDER获取
如果您想从文件中获取日志,您应该获得自己的awslogs配置
- 将容器日志文件装载到容器实例(容器定义上的配置)
- 如果不使用ECS优化的AMI,请安装aws日志代理
- 如果您使用ECS优化的AMI,请下载use
curlhttps://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
- 使用自定义配置运行代理安装程序
python awslogs-agent-setup.py-n-r${AWS::Region}-c您的_awslogs_configuration.conf | | error_exit“无法运行CloudWatch日志代理安装程序”