diff --git a/.ebextensions/02_logs_cloudwatch_imds2.config b/.ebextensions/02_logs_cloudwatch_imds2.config new file mode 100644 index 0000000..0550b37 --- /dev/null +++ b/.ebextensions/02_logs_cloudwatch_imds2.config @@ -0,0 +1,56 @@ +# The following file configures a new version of cloudwatch logs agent that uses IMDSv2 instead of IMDSv1 +# to push the /var/app/current/storage/logs/*.log files to a Log Group in CloudWatch Logs. + +# This version of CloudWatch Logs agent is installed automatically on Amazon Linux 2 instances. + +# The old version of cloudwatch doesn't support Metadata Service Version 2 (IMDSv2) and it's recommended to use a new one +# Link to reference: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html + +# You can then see the CloudWatch Logs by accessing the AWS CloudWatch Console and clicking +# the "Logs" link on the left. The Log Group name will follow this format: +# /aws/elasticbeanstalk// + +# For more information about "Log Streaming" feature, see: +# https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html + +# Usually, the option_settings with enabled Stream Logs should be uncommented if you are not using IaaC, like Chef or Terraform. +# If you created the environment manually, uncomment the following lines and set the amount of retention in days. + +# Before uncommenting this, please update to match yours, or name it as you wish + +# 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 + +# 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