如何在 Elastic Beanstalk 中设置 CloudWatch 嵌入式指标格式 (emf)
How to setup CloudWatch embedded metrics format (emf) in Elastic Beanstalk
我正在尝试在 beantalk 环境中使用 CloudWatch 嵌入式指标格式 (emf) 运行 Docker 图片。
为了能够发出 emf 指标,aws-cloudwatch-agent 需要具有以下配置:
{
"logs": {
"metrics_collected": {
"emf": { }
}
}
}
但是,我无法使用 here 中描述的 .ebextensions
方法找到命名空间定义以将 emf 配置传递给 beanstalk。
可用的命名空间似乎只是流式传输现有日志。
如何在弹性 beantalk 环境中启用 CloudWatch emf 发布?
要传递其他配置,请使用 . More detail on platform hooks: AWS documentation、
中描述的平台挂钩
- 我已经包含
.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
- 如果您使用 docker,请确保将此文件包含在您的 docker 图像中。使用我包含的 CDK 管道:
(...)
artifacts: {
files: [
"Dockerrun.aws.json",
".platform/hooks/**/*"
]
},
- 最后,一定要给.sh文件加上执行权限。
chmod +x path/to/emf-config.sh
git update-index --chmod=+x path/to/emf-config.sh
我正在尝试在 beantalk 环境中使用 CloudWatch 嵌入式指标格式 (emf) 运行 Docker 图片。
为了能够发出 emf 指标,aws-cloudwatch-agent 需要具有以下配置:
{
"logs": {
"metrics_collected": {
"emf": { }
}
}
}
但是,我无法使用 here 中描述的 .ebextensions
方法找到命名空间定义以将 emf 配置传递给 beanstalk。
可用的命名空间似乎只是流式传输现有日志。
如何在弹性 beantalk 环境中启用 CloudWatch emf 发布?
要传递其他配置,请使用
- 我已经包含
.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
- 如果您使用 docker,请确保将此文件包含在您的 docker 图像中。使用我包含的 CDK 管道:
(...)
artifacts: {
files: [
"Dockerrun.aws.json",
".platform/hooks/**/*"
]
},
- 最后,一定要给.sh文件加上执行权限。
chmod +x path/to/emf-config.sh
git update-index --chmod=+x path/to/emf-config.sh