如何在Elastic Beanstalk中设置CloudWatch嵌入式度量格式(emf)



我正试图在运行Docker镜像的beanstall环境中使用CloudWatch嵌入式度量格式(emf(。

(此处和此处的emf文档(

为了能够发出emf度量,aws-cloudwatch代理需要具有以下配置:

{
"logs": {
"metrics_collected": {
"emf": { }
}
}
}

但是,使用这里描述的.ebextensions方法,我找不到将emf配置传递给beanstall的命名空间定义。可用的命名空间似乎只是对现有日志进行流式传输。

如何在弹性豆茎环境中启用CloudWatch emf发布?

要传递额外的配置,请使用本问题中描述的平台挂钩。关于平台挂钩的更多细节:AWS文档、

  1. 我已包含.platform/hooks/predeploy/emf-config.sh,内容如下:
#!/bin/bash
echo '{
"logs": {
"metrics_collected": {
"emf": { }
}
}
}' > "/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/emf_metrics.json"
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config
  1. 如果使用docker,请确保在docker映像中包含这些文件。使用CDK管道,我包括:
(...)
artifacts: {
files: [
"Dockerrun.aws.json",
".platform/hooks/**/*"
]
},
  1. 最后,请确保向.sh文件添加执行权限。相关问题
chmod +x path/to/emf-config.sh
git update-index --chmod=+x path/to/emf-config.sh

最新更新