Amazon elastic beanstalk 从AWS ElasticBeanstalk收集JVM堆转储
我正在使用AWS ElasticBeanstalk和Tomcat作为web服务器。我想调试并记录Java虚拟机性能、崩溃报告,并将它们写入CloudWatch日志 目前,AWS ElasticBeanstalk收集由web服务器、应用程序服务器、ElasticBeanstalk平台脚本创建的日志。您可以将CloudWatch日志用作集中式日志系统 如何在CloudWatch中收集我的自定义JVM日志,正如我在开始时提到的那样 谢谢Amazon elastic beanstalk 从AWS ElasticBeanstalk收集JVM堆转储,amazon-elastic-beanstalk,jvm-crash,Amazon Elastic Beanstalk,Jvm Crash,我正在使用AWS ElasticBeanstalk和Tomcat作为web服务器。我想调试并记录Java虚拟机性能、崩溃报告,并将它们写入CloudWatch日志 目前,AWS ElasticBeanstalk收集由web服务器、应用程序服务器、ElasticBeanstalk平台脚本创建的日志。您可以将CloudWatch日志用作集中式日志系统 如何在CloudWatch中收集我的自定义JVM日志,正如我在开始时提到的那样 谢谢 Florin我与AWS支持团队进行了对比,他们的回答是: 可以使
Florin我与AWS支持团队进行了对比,他们的回答是: 可以使用.ebextensions配置文件来安装awslogs包,并定义要在CloudWatch上传输的日志文件、日志组名称和日志流名称 请在下面的示例中查找在CloudWatch for Tomcat8环境中启用Catalina日志的示例 ---.ebextensions/cwatch.config--- 注:请勿使用生产中提供的样品。此示例的目的是演示功能。”
我没有检查,但如果有人要测试此解决方案,请发表评论并将其标记为有效。如果没有,我将删除我的答案。我与AWS支持团队进行了对话,他们的答案是: 可以使用.ebextensions配置文件来安装awslogs包,并定义要在CloudWatch上传输的日志文件、日志组名称和日志流名称 请在下面的示例中查找在CloudWatch for Tomcat8环境中启用Catalina日志的示例 ---.ebextensions/cwatch.config--- 注意:不要使用生产中提供的示例。示例的目的是演示功能。”
我没有检查它,但如果有人将测试此解决方案,请评论并将其标记为有效。如果没有,我将删除我的答案。你找到办法了吗?你找到办法了吗?
packages:
yum:
awslogs: []
files:
"/etc/awslogs/awscli.conf" :
mode: "000600"
owner: root
group: root
content: |
[plugins]
cwlogs = cwlogs
[default]
region = `{"Ref":"AWS::Region"}`
"/etc/awslogs/awslogs.conf" :
mode: "000600"
owner: root
group: root
content: |
[general]
state_file = /var/lib/awslogs/agent-state
[/var/log/tomcat8]
log_group_name = `{"Fn::Join":["-", [{ "Ref":"AWSEBEnvironmentName" }, "catalina"]]}`
log_stream_name = {instance_id}_messages
file = /var/log/tomcat8/catalina.out
datetime_format = %b %d %H:%M:%S
initial_position = start_of_file
buffer_duration = 5000
[/var/log/messages]
log_group_name = `{"Fn::Join":["-", [{ "Ref":"AWSEBEnvironmentName" }, "syslog"]]}`
log_stream_name = {instance_id}_messages
file = /var/log/messages
datetime_format = %b %d %H:%M:%S
initial_position = start_of_file
buffer_duration = 5000
[/var/log/eb-activity.log]
log_group_name = `{"Fn::Join":["-", [{ "Ref":"AWSEBEnvironmentName" }, "eb"]]}`
log_stream_name = {instance_id}_eb-activity.log
file = /var/log/eb-activity.log
datetime_format = [%Y-%m-%dT%H:%M:%S.%3NZ]
initial_position = start_of_file
buffer_duration = 5000
[/var/log/eb-cfn-init.log]
log_group_name = `{"Fn::Join":["-", [{ "Ref":"AWSEBEnvironmentName" }, "eb"]]}`
log_stream_name = {instance_id}_eb-cfn-init.log
file = /var/log/eb-cfn-init.log
datetime_format = [%Y-%m-%dT%H:%M:%S.%3NZ]
initial_position = start_of_file
buffer_duration = 5000
[/var/log/eb-commandprocessor.log]
log_group_name = `{"Fn::Join":["-", [{ "Ref":"AWSEBEnvironmentName" }, "eb"]]}`
log_stream_name = {instance_id}_eb-commandprocessor.log
file = /var/log/eb-commandprocessor.log
datetime_format = [%Y-%m-%dT%H:%M:%S.%3NZ]
initial_position = start_of_file
buffer_duration = 5000
[/var/log/eb-publish-logs.log]
log_group_name = `{"Fn::Join":["-", [{ "Ref":"AWSEBEnvironmentName" }, "eb"]]}`
log_stream_name = {instance_id}_eb-publish-logs.log
file = /var/log/eb-publish-logs.log
datetime_format = %Y-%m-%d %H:%M:%S,%3N
initial_position = start_of_file
buffer_duration = 5000
[/var/log/eb-tools.log]
log_group_name = `{"Fn::Join":["-", [{ "Ref":"AWSEBEnvironmentName" }, "eb"]]}`
log_stream_name = {instance_id}_eb-tools.log
file = /var/log/eb-tools.log
datetime_format = %Y-%m-%d %H:%M:%S,%3N
initial_position = start_of_file
buffer_duration = 5000
commands:
"01":
command: chkconfig awslogs on
"02":
command: service awslogs restart
---end---
and here is a simpler version to Add log to default CloudWatch logs streaming config
Warning: does not set retention policy, won't obey retention policy (e.g "delete when env is deleted)
---.ebextensions/log.config---
files:
/etc/awslogs/config/mylog.conf:
owner: root
group: root
mode: "000644"
content:
Fn::Sub: |
[/var/log/mylog.log]
log_group_name=/aws/elasticbeanstalk/${AWSEBEnvironmentName}/var/log/mylog.log
log_stream_name={instance_id}
file=/var/log/mylog.log
commands:
restart_awslogs:
command: service awslogs restart || service awslogs start
---end---