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

在Elastic Beanstalk EC2实例部署Datadog Agent失败求助

解决Elastic Beanstalk自动化安装Datadog Agent失败的问题

可能的原因及排查步骤

1. 检查.ebextensions配置文件的合法性

  • 配置文件必须以.config为后缀(比如datadog-agent.config),放置在项目根目录的.ebextensions文件夹下
  • 严格遵循YAML语法:用空格缩进(禁止用Tab),键值对格式正确
  • 示例基础结构:
    commands:
      01_install_datadog:
        command: "你的安装命令"
    

2. 确保环境变量正确传递

不要在命令中硬编码API密钥,通过Elastic Beanstalk环境变量传递更安全且可靠:

  • 先在Elastic Beanstalk控制台的配置 > 软件中添加环境变量:DD_API_KEY(你的真实密钥)、DD_SITE(值为datadoghq.eu)
  • 在.config文件中用Elastic Beanstalk的工具获取环境变量,避免直接硬编码:
    commands:
      01_install_datadog:
        command: |
          DD_API_KEY=$(/opt/elasticbeanstalk/bin/get-config environment -k DD_API_KEY) \
          SITE=$(/opt/elasticbeanstalk/bin/get-config environment -k DD_SITE) \
          DD_APM_INSTRUMENTATION_ENABLED=host \
          bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_script_agent7.sh)" >> /var/log/datadog_install.log 2>&1
        test: "[ ! -f /usr/bin/datadog-agent ]"
    
  • test参数的作用:如果Agent已安装则跳过命令,避免重复执行

3. 查看安装日志定位错误

自动化安装失败时,通过日志排查是关键:

  • 登录EC2实例后,查看安装命令的输出日志:cat /var/log/datadog_install.log
  • 查看Elastic Beanstalk的部署日志:cat /var/log/eb-activity.log 或 cat /var/log/cfn-init.log,里面会记录.ebextensions命令的执行状态和错误信息

4. 验证实例的网络与权限

  • 确保EC2实例所在的子网能访问公网:如果是私有子网,需配置NAT网关;如果是公有子网,需配置正确的路由表
  • 检查实例的IAM角色权限:必须允许访问S3资源(s3:GetObject),因为安装脚本从S3下载。可以在IAM角色中添加以下权限策略:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "s3:GetObject",
          "Resource": "arn:aws:s3:::dd-agent/scripts/*"
        }
      ]
    }
    

5. 适配Amazon Linux版本差异

如果是Amazon Linux 2,可尝试显式指定执行用户为root(虽然.ebextensions的commands默认以root执行):

commands:
  01_install_datadog:
    command: |
      DD_API_KEY=$(/opt/elasticbeanstalk/bin/get-config environment -k DD_API_KEY) \
      SITE=$(/opt/elasticbeanstalk/bin/get-config environment -k DD_SITE) \
      DD_APM_INSTRUMENTATION_ENABLED=host \
      bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_script_agent7.sh)" >> /var/log/datadog_install.log 2>&1
    test: "[ ! -f /usr/bin/datadog-agent ]"
    user: root

验证安装结果

部署完成后,登录EC2实例执行以下命令确认:

sudo service datadog-agent status
cat /etc/datadog-agent/datadog.yaml

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 03:17:20