3
我有一个部署在AWS Elastic Beanstalk中的PHP Laravel Worker &想要将/var/app/current/storage/logs/*.log
设置为CloudWatch。然而,我遇到的解决方案是Forge部署或香草EC2实例。如何在AWS Elastic Beanstalk中部署CloudWatch Laravel日志?
希望在这个问题上的任何帮助。
我有一个部署在AWS Elastic Beanstalk中的PHP Laravel Worker &想要将/var/app/current/storage/logs/*.log
设置为CloudWatch。然而,我遇到的解决方案是Forge部署或香草EC2实例。如何在AWS Elastic Beanstalk中部署CloudWatch Laravel日志?
希望在这个问题上的任何帮助。
您需要配置CloudWatch的代理人所描述的here:
我认为logs.config应该是这样的
option_settings:
- namespace: aws:elasticbeanstalk:cloudwatch:logs
option_name: StreamLogs
value: true
- namespace: aws:elasticbeanstalk:cloudwatch:logs
option_name: DeleteOnTerminate
value: false
- namespace: aws:elasticbeanstalk:cloudwatch:logs
option_name: RetentionInDays
value: 7
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
"/etc/awslogs/config/logs.conf" :
mode: "000600"
owner: root
group: root
content: |
[/var/app/current/storage/logs]
log_group_name = `{"Fn::Join":["/", ["/aws/elasticbeanstalk", { "Ref":"AWSEBEnvironmentName" }, "var/app/current/storage/logs"]]}`
log_stream_name = {instance_id}
file = /var/app/current/storage/logs/*.log
commands:
"01":
command: chkconfig awslogs on
"02":
command: service awslogs restart
请参考/var/log/awslogs.log你的EC2实例进行故障排除。