You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Elastic Beanstalk中配置CloudWatch嵌入式指标格式(EMF)

在Elastic Beanstalk Docker环境启用CloudWatch EMF指标的实现方法

前提条件

首先确保你的Elastic Beanstalk实例关联的IAM角色已添加以下权限:

  • cloudwatch:PutMetricData
  • logs:CreateLogStream
  • logs:PutLogEvents

方案1:通过.ebextensions注入EMF配置(推荐)

Elastic Beanstalk的CloudWatch Agent会自动合并/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/目录下的所有JSON配置片段,无需使用官方预留的配置命名空间,直接写入配置文件即可生效:

  1. 在你的应用部署包根目录新建.ebextensions文件夹,创建配置文件01_enable_emf.config,内容如下:
files:
  "/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/99-emf-config.json":
    mode: "000644"
    owner: root
    group: root
    content: |
      {
        "logs": {
          "metrics_collected": {
            "emf": {}
          }
        }
      }

container_commands:
  01_restart_cloudwatch_agent:
    command: "systemctl restart amazon-cloudwatch-agent"
    ignoreErrors: false

注:若使用Amazon Linux 1的旧版Elastic Beanstalk平台,需将container_commands中的重启命令替换为service amazon-cloudwatch-agent restart

  1. 正常部署应用包到Elastic Beanstalk即可,配置会自动生效。

方案2:适配Docker容器日志输出场景

如果你的Docker应用直接将EMF格式日志输出到stdout/stderr,无需额外修改日志路径:

  • Elastic Beanstalk默认会收集容器的stdout/stderr日志写入CloudWatch日志组
  • 按方案1启用EMF采集后,CloudWatch Agent会自动从日志流中识别EMF格式内容,提取为指标存入CloudWatch Metrics

验证生效方法

部署完成后:

  1. 触发你的应用输出若干EMF格式日志
  2. 进入CloudWatch控制台,在「指标」页面的自定义命名空间下即可看到EMF提取生成的指标

内容的提问来源于stack exchange,提问作者mikethe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 14:24:03