From 57df41e4df77ba15d000de8fa42a868b8331df06 Mon Sep 17 00:00:00 2001 From: mehrubon Date: Wed, 14 Dec 2022 11:06:04 +0500 Subject: [PATCH] cloudwatch imds v2 agent. More comfortable way to use cloudwatch with external option file. --- .ebextensions/02_logs_cloudwatch_imds2.config | 26 ----------- .platform/files/mycustomlogs.json | 45 +++++++++++++++++++ .../hooks/postdeploy/logs_cloudwatch_imds2.sh | 7 +++ 3 files changed, 52 insertions(+), 26 deletions(-) create mode 100644 .platform/files/mycustomlogs.json create mode 100644 .platform/hooks/postdeploy/logs_cloudwatch_imds2.sh diff --git a/.ebextensions/02_logs_cloudwatch_imds2.config b/.ebextensions/02_logs_cloudwatch_imds2.config index 0550b37..939ce7c 100644 --- a/.ebextensions/02_logs_cloudwatch_imds2.config +++ b/.ebextensions/02_logs_cloudwatch_imds2.config @@ -28,29 +28,3 @@ # - namespace: aws:elasticbeanstalk:cloudwatch:logs # option_name: RetentionInDays # value: 7 - -# files: -# "/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/laravel_logs.json" : -# mode: "000644" -# owner: root -# group: root -# content: | -# { -# "logs": { -# "logs_collected": { -# "files": { -# "collect_list": [ -# { -# "file_path": "/var/app/current/storage/logs/*.log", -# "log_group_name": "/aws/elasticbeanstalk//var/app/current/storage/logs/", -# "log_stream_name": "{instance_id}" -# } -# ] -# } -# } -# } -# } - -# container_commands: -# start_cloudwatch_agent: -# command: /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/laravel_logs.json diff --git a/.platform/files/mycustomlogs.json b/.platform/files/mycustomlogs.json new file mode 100644 index 0000000..a69ecc1 --- /dev/null +++ b/.platform/files/mycustomlogs.json @@ -0,0 +1,45 @@ +{ + "logs": { + "logs_collected": { + "files": { + "collect_list": [ + { + "file_path": "/var/log/eb-engine.log", + "log_group_name": "/aws/elasticbeanstalk//var/log/eb-engine.log", + "log_stream_name": "{instance_id}" + }, + { + "file_path": "/var/log/eb-hooks.log", + "log_group_name": "/aws/elasticbeanstalk//var/log/eb-hooks.log", + "log_stream_name": "{instance_id}" + }, + { + "file_path": "/var/log/nginx/access.log", + "log_group_name": "/aws/elasticbeanstalk//var/log/nginx/access.log", + "log_stream_name": "{instance_id}" + }, + { + "file_path": "/var/log/nginx/error.log", + "log_group_name": "/aws/elasticbeanstalk//var/log/nginx/error.log", + "log_stream_name": "{instance_id}" + }, + { + "file_path": "/var/log/httpd/access_log", + "log_group_name": "/aws/elasticbeanstalk//var/log/httpd/access_log", + "log_stream_name": "{instance_id}" + }, + { + "file_path": "/var/log/httpd/error_log", + "log_group_name": "/aws/elasticbeanstalk//var/log/httpd/error_log", + "log_stream_name": "{instance_id}" + }, + { + "file_path": "/var/app/current/storage/logs/*.log", + "log_group_name": "/aws/elasticbeanstalk//var/app/current/storage/logs", + "log_stream_name": "{instance_id}" + } + ] + } + } + } +} diff --git a/.platform/hooks/postdeploy/logs_cloudwatch_imds2.sh b/.platform/hooks/postdeploy/logs_cloudwatch_imds2.sh new file mode 100644 index 0000000..d250b41 --- /dev/null +++ b/.platform/hooks/postdeploy/logs_cloudwatch_imds2.sh @@ -0,0 +1,7 @@ +!/bin/bash + +# sudo cp ../../files/mycustomlogs.json /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/mycustomlogs.json + +# /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config +# /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a stop +# /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a start