在 Elastic Beanstalk 中,如何将自定义日志发送到 Amazon Linux 2023 平台上的 CloudWatch?

问题描述 投票:0回答:1

我正在 Amazon Linux 2023 上部署 Elastic Beanstalk 应用程序。我正在尝试配置新的 Amazon CloudWatch 代理以将自定义日志转发到 cloudwatch。过去,这是通过将一些配置文件添加到

awslogs
目录中来完成的,但新代理已弃用这种做法。这个新代理的配置文件位于
/opt/amazon/amazon-cloudwatch-agent/etc/beanstalk.json
。我可以看到 eb-engine 使用此配置文件启动代理,所以我想我可以用我的配置覆盖。我已确认我正在写入该文件,但在代理启动之前它又被默认值覆盖。我猜测 Elastic Beanstalk 的脚本会在启动代理之前添加默认配置

如何使用具有 Elastic Beanstalk 扩展配置或平台挂钩的新代理来执行此操作?

amazon-elastic-beanstalk amazon-cloudwatch amazon-linux-2023
1个回答
0
投票

下面的配置文件使用新 amazon-cloudwatch-agent 的 自定义配置文件

container_commands: 01_append_logs_config: command: | amazon-cloudwatch-agent-ctl -a append-config -m ec2 -c file:/tmp/custom-cloudwatch-config.json -s files: "/tmp/custom-cloudwatch-config.json": mode: "000600" owner: root group: root content: | { "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/var/log/logfilename.log", "log_group_name": "`{"Fn::Join":["/", ["/aws/elasticbeanstalk", { "Ref":"AWSEBEnvironmentName" }, "var/log/logfilename.log"]]}`", "log_stream_name": "{instance_id}" }, ] } } } }
    
© www.soinside.com 2019 - 2024. All rights reserved.