ฉันได้ติดต่อทีมสนับสนุนของ AWS แล้วและคำตอบของพวกเขาคือ:
ซึ่งสามารถทำได้โดยใช้ไฟล์การกำหนดค่า .ebextensions เพื่อติดตั้งแพ็คเกจ awslogs และกำหนดไฟล์บันทึก log_group_name และชื่อ log_stream เพื่อสตรีมบน CloudWatch
โปรดดูตัวอย่างด้านล่างสำหรับการเปิดใช้งาน Catalina Logs ใน CloudWatch สำหรับ Tomcat8 Environment ---.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---
หมายเหตุ: ห้ามใช้ตัวอย่างที่ให้มาในการผลิต เป้าหมายของกลุ่มตัวอย่างคือเพื่อแสดงฟังก์ชันการทำงาน" ฉันไม่ได้ตรวจสอบ แต่ถ้าใครจะทดสอบโซลูชันนี้ โปรดแสดงความคิดเห็นและทำเครื่องหมายว่าถูกต้อง ถ้าไม่ ฉันจะลบคำตอบของฉัน
person
florins
schedule
05.09.2018