如何将Elastic beantalk的自定义日志流式传输到Cloudwatch?

时间:2018-12-07 09:15:13

标签: amazon-cloudwatch amazon-elastic-beanstalk

我设置了一个AWS Elasticbeanstalk环境,该平台是Tomcat。现在,我的要求是将Tomcat日志catalina.out流式传输到AWS Cloudwatch。通过关注官方文档,我得到了以下结果:

如果我部署单个war文件,并且在其根文件夹中有一个.ebextensions文件夹,那么我可以在Cloudwatch中找到catalina.out了!

但是如果我部署一个zip文件,它的结构是: app.zip - .ebextensions - app1.war - app2.war 我在Cloudwatch中找不到日志!

.ebextensions文件夹中的.config文件写为:

files: "/etc/awslogs/config/beanstalklogs_custom.conf": mode: "000600" owner: root group: root content: | [/var/log/tomcat8/catalina.out] log_group_name = `{"Fn::Join":["/", ["/aws/elasticbeanstalk", { "Ref":"AWSEBEnvironmentName" }, "var/log/tomcat8/catalina.out"]]}` log_stream_name = {instance_id} file = /var/log/tomcat8/catalina.out*

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以使用AWS Appender将应用程序日志写入CloudWatch。要将其与Elastic Beankstalk一起使用,您需要向Elastic Beanstalk使用的执行角色添加权限。检查您的Elastic Beanstalk Instant profile