Amazon ec2 我的Elastic Beanstalk环境无法将容器日志流式传输到CloudWatch多容器
我正在尝试将Elastic Beanstalk环境的EC2容器日志流式传输到CloudWatch。我遵循了本文()中的说明,通过手动将awslogs代理安装到正在运行的EC2实例中,并通过在Amazon ec2 我的Elastic Beanstalk环境无法将容器日志流式传输到CloudWatch多容器,amazon-ec2,amazon-elastic-beanstalk,amazon-cloudwatch,amazon-cloudwatchlogs,Amazon Ec2,Amazon Elastic Beanstalk,Amazon Cloudwatch,Amazon Cloudwatchlogs,我正在尝试将Elastic Beanstalk环境的EC2容器日志流式传输到CloudWatch。我遵循了本文()中的说明,通过手动将awslogs代理安装到正在运行的EC2实例中,并通过在/var/awslogs/etc/awslogs.conf文件中设置我想要传输的日志文件(按照本文的说明),可以让CloudWatch日志流正常工作 是否有办法自动执行此日志代理安装过程?我通过将下面的.config文件添加到我的.ebextensions目录中,研究了为ElasticBeanstalk设置部
/var/awslogs/etc/awslogs.conf
文件中设置我想要传输的日志文件(按照本文的说明),可以让CloudWatch日志流正常工作
是否有办法自动执行此日志代理安装过程?我通过将下面的.config
文件添加到我的.ebextensions
目录中,研究了为ElasticBeanstalk设置部署后脚本以运行,但它似乎没有被触发。这些日志不仅没有显示在CloudWatch中,而且在部署之后,我已经通过ssh访问了我的EC2实例,似乎找不到应该创建的/var/awslogs/etc/aws.conf
。请注意,我们正在使用多容器docker设置,并希望为三个容器中的每个容器流式传输日志,如下所示:
commands:
"00_install_log_agent":
command: sudo python ./awslogs-agent-setup.py --region <OUR_AWS_REGION>
files:
"/var/awslogs/etc/aws.conf" :
mode: "000600"
owner: root
group: root
content: |
[containers/nginx-*-stdouterr.log]
log_group_name = `{"Fn::Join":["/", ["/aws/elasticbeanstalk", { "Ref":"AWSEBEnvironmentName" }, "var/log/containers/nginx"]]}`
log_stream_name = {instance_id}
file = /var/log/containers/nginx-*-stdouterr.log
[containers/ui-*-stdouterr.log]
log_group_name = `{"Fn::Join":["/", ["/aws/elasticbeanstalk", { "Ref":"AWSEBEnvironmentName" }, "var/log/containers/ui"]]}`
log_stream_name = {instance_id}
file = /var/log/containers/ui-*-stdouterr.log
[containers/api-*-stdouterr.log]
log_group_name = `{"Fn::Join":["/", ["/aws/elasticbeanstalk", { "Ref":"AWSEBEnvironmentName" }, "var/log/containers/api"]]}`
log_stream_name = {instance_id}
file = /var/log/containers/api-*-stdouterr.log
commands:
"01_restart_awslogs":
command: sudo service awslogs restart
命令:
“00\u安装\u日志\u代理”:
命令:sudopython./awslogs-agent-setup.py--region
文件夹:
“/var/awslogs/etc/aws.conf”:
模式:“000600”
所有者:root
组:根
内容:|
[容器/nginx-*-stdouterr.log]
log_group_name=`{“Fn::Join”:[“/”,[“/aws/elasticbeanstalk”,{“Ref”:“AWSEBEnvironmentName”},var/log/containers/nginx”]}`
log_stream_name={instance_id}
file=/var/log/containers/nginx-*-stdouterr.log
[容器/ui-*-stdouterr.log]
log_group_name=`{“Fn::Join”:[“/”,[“/aws/elasticbeanstalk”,{“Ref”:“AWSEBEnvironmentName”},var/log/containers/ui”]}`
log_stream_name={instance_id}
file=/var/log/containers/ui-*-stdouterr.log
[容器/api-*-stdouterr.log]
log_group_name=`{“Fn::Join”:[“/”,[“/aws/elasticbeanstalk”,{“Ref”:“AWSEBEnvironmentName”},var/log/containers/api”]}`
log_stream_name={instance_id}
file=/var/log/containers/api-*-stdouterr.log
命令:
“01\u重新启动\u awslogs”:
命令:sudo服务awslogs restart
如何解决/调试此问题