本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
本镜像为Datadog Agent 5.x版本提供容器化部署方案,用于在Docker环境中快速部署Datadog Agent。Datadog Agent是一款轻量级监控代理,可收集主机、容器、应用的系统指标、日志、 traces 等数据,并发送至Datadog平台进行可视化和分析。适用于容器化环境下的基础设施监控、应用性能追踪及日志管理。
通过以下命令快速启动Agent容器,需替换{your_api_key_here}为实际Datadog API密钥:
docker run -d --name dd-agent \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -v /proc/:/host/proc/:ro \ -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \ -e API_KEY={your_api_key_here} \ -e SD_BACKEND=docker \ -e NON_LOCAL_TRAFFIC=false \ datadog/docker-dd-agent:latest
在Amazon Linux版本低于2的系统上,使用以下命令(cgroup路径不同):
docker run -d --name dd-agent \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -v /proc/:/host/proc/:ro \ -v /cgroup/:/host/sys/fs/cgroup:ro \ -e API_KEY={your_api_key_here} \ -e SD_BACKEND=docker \ -e NON_LOCAL_TRAFFIC=false \ datadog/docker-dd-agent:latest
默认情况下,Agent容器使用主机docker info命令返回的Name字段作为主机名。如需自定义,可通过以下方式:
DD_HOSTNAME,例如-e DD_HOSTNAME=my-custom-host,Agent会自动将其写入/etc/dd-agent/datadog.conf。datadog.conf并修改hostname字段(不推荐,优先使用环境变量)。为确保Docker监控检查正常运行,主机需启用cgroup内存管理。例如在Debian Jessie及以上系统中,需在启动参数中添加cgroup_enable=memory swapaccount=1,步骤如下:
/etc/default/grub,修改GRUB_CMDLINE_LINUX添加参数。update-grub更新配置。快速启动命令中通过SD_BACKEND=docker启用自动发现,Agent会基于默认模板自动对容器执行监控检查。
SD_BACKEND环境变量。SD_CONFIG_BACKEND指定配置后端(如etcd、consul、zk),结合SD_BACKEND_HOST、SD_BACKEND_PORT等参数配置服务发现源。详细说明参见Datadog自动发现文档。
通过环境变量可配置Agent核心参数,常用变量如下:
| 环境变量 | 说明 | 示例值 |
|---|---|---|
API_KEY/DD_API_KEY | Datadog API密钥(必填) | abc1234567890 |
DD_HOSTNAME | 自定义主机名 | web-server-01 |
TAGS/DD_TAGS | 主机标签,逗号分隔 | env:prod,team:backend |
EC2_TAGS | 是否采集EC2实例标签(需IAM角色) | yes |
LOG_LEVEL/DD_LOG_LEVEL | 日志级别(CRITICAL/ERROR/WARNING/INFO/DEBUG) | DEBUG |
DD_LOGS_STDOUT | 是否将Agent日志转发至stdout/stderr | yes |
PROXY_HOST/PROXY_PORT | 代理服务器地址和端口 | proxy.example.com/3128 |
NON_LOCAL_TRAFFIC | 是否允许外部IP发送StatsD指标(默认true,需注意安全风险) | false |
DD_APM_ENABLED | 是否启用APM追踪(非Alpine镜像支持) | true |
DD_COLLECT_LABELS_AS_TAGS | 采集容器标签作为指标标签(逗号分隔标签键) | com.docker.label.app,com.docker.label.env |
USE_DOGSTATSD | 是否禁用DogStatsD(默认启用) | no |
KUBERNETES=yes。KUBERNETES_COLLECT_EVENTS=true,或通过KUBERNETES_LEADER_CANDIDATE=true启用leader选举。KUBERNETES_NAMESPACE_NAME_REGEX指定需监控的命名空间(正则表达式)。MESOS_MASTER=yes。MESOS_SLAVE=yes。MARATHON_URL=[***]。如需监控JVM应用(如Java服务),需使用JMX镜像,标签格式为{版本}-jmx,例如:
docker run -d --name dd-agent-jmx \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -v /proc/:/host/proc/:ro \ -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \ -e API_KEY={your_api_key_here} \ datadog/docker-dd-agent:latest-jmx
仅需DogStatsD指标收集时,使用{版本}-dogstatsd标签镜像,无需挂载主机卷:
docker run -d --name dogstatsd \ -e API_KEY={your_api_key_here} \ -p 8125:8125/udp \ datadog/docker-dd-agent:latest-dogstatsd
-e DD_APM_ENABLED=true开启8126端口追踪。-p 8125:8125/udp。-p 127.0.0.1:8125:8125/udp。容器内通过主机默认路由IP(如172.17.42.1)访问,可通过ip route命令获取主机IP。
启动客户端容器时添加--link dd-agent:dogstatsd,通过环境变量DOGSTATSD_PORT_8125_UDP_ADDR和DOGSTATSD_PORT_8125_UDP_PORT访问。
非Alpine镜像通过DD_APM_ENABLED=true启用APM,开放8126端口接收追踪数据:
docker run -d --name dd-agent \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -v /proc/:/host/proc/:ro \ -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \ -e API_KEY={your_api_key_here} \ -e DD_APM_ENABLED=true \ -p 8126:8126/tcp \ datadog/docker-dd-agent:latest
客户端容器添加--link dd-agent:dd-agent,通过环境变量DD_AGENT_PORT_8126_TCP_ADDR和DD_AGENT_PORT_8126_TCP_PORT配置追踪客户端。
Python示例:
import os from ddtrace import tracer tracer.configure( hostname=os.environ["DD_AGENT_PORT_8126_TCP_ADDR"], port=os.environ["DD_AGENT_PORT_8126_TCP_PORT"] )
如需预配置Agent(如添加监控检查模板),可基于官方镜像构建自定义镜像:
创建Dockerfile:
FROM datadog/docker-dd-agent:latest # 添加MySQL监控配置 ADD conf.d/mysql.yaml /etc/dd-agent/conf.d/mysql.yaml
构建镜像:
docker build -t my-custom-dd-agent .
启动自定义镜像:
docker run -d --name dd-agent \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -v /proc/:/host/proc/:ro \ -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \ -e API_KEY={your_api_key_here} \ my-custom-dd-agent
Alpine版本镜像体积更小(约为Debian版的40%),标签格式为{版本}-alpine,使用方式与默认镜像类似:
docker run -d --name dd-agent \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -v /proc/:/host/proc/:ro \ -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \ -e API_KEY={your_api_key_here} \ datadog/docker-dd-agent:latest-alpine
注意事项:
/opt/datadog-agent/agent/conf.d/(而非/etc/dd-agent/conf.d/)。docker exec dd-agent /opt/datadog-agent/bin/agent info。镜像版本遵循X.Y.Z格式,其中:
X:Docker镜像主版本号Y:Docker镜像次版本号Z:Datadog Agent版本号(三位数,如Agent 5.5.0对应550)示例:10.0.550表示Docker镜像主版本10、次版本0,包含Agent 5.5.0。
Debian镜像:
docker exec dd-agent service datadog-agent info
Alpine镜像:
docker exec dd-agent /opt/datadog-agent/bin/agent info
docker cp dd-agent:/var/log/datadog /tmp/datadog-logs # Debian # 或 docker cp dd-agent:/opt/datadog-agent/logs /tmp/datadog-logs # Alpine
Debian镜像:
docker exec -it dd-agent bash tail -f /var/log/datadog/collector.log # 主日志
Alpine镜像:
docker exec -it dd-agent ash tail -f /opt/datadog-agent/logs/dogstatsd.log # DogStatsD日志
如发现镜像缺陷或功能问题,可通过GitHub Issues提交反馈。Agent核心功能问题请参考Datadog官方文档或Agent Wiki。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429