
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像为Datadog Agent 5.x版本提供容器化部署方案,用于在Docker环境中快速部署Datadog Agent。Datadog Agent是一款轻量级监控代理,可收集主机、容器、应用的系统指标、日志、 traces 等数据,并发送至Datadog平台进行可视化和分析。适用于容器化环境下的基础设施监控、应用性能追踪及日志管理。
通过以下命令快速启动Agent容器,需替换{your_api_key_here}为实际Datadog API密钥:
bashdocker 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路径不同):
bashdocker 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=http://leader.mesos:8080。如需监控JVM应用(如Java服务),需使用JMX镜像,标签格式为{版本}-jmx,例如:
bashdocker 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标签镜像,无需挂载主机卷:
bashdocker 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。通过Docker主机IP
容器内通过主机默认路由IP(如172.17.42.1)访问,可通过ip route命令获取主机IP。
通过Docker Links(Legacy)
启动客户端容器时添加--link dd-agent:dogstatsd,通过环境变量DOGSTATSD_PORT_8125_UDP_ADDR和DOGSTATSD_PORT_8125_UDP_PORT访问。
非Alpine镜像通过DD_APM_ENABLED=true启用APM,开放8126端口接收追踪数据:
bashdocker 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
通过Docker Links
客户端容器添加--link dd-agent:dd-agent,通过环境变量DD_AGENT_PORT_8126_TCP_ADDR和DD_AGENT_PORT_8126_TCP_PORT配置追踪客户端。
Python示例:
pythonimport 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:
dockerfileFROM datadog/docker-dd-agent:latest # 添加MySQL监控配置 ADD conf.d/mysql.yaml /etc/dd-agent/conf.d/mysql.yaml
构建镜像:
bashdocker build -t my-custom-dd-agent .
启动自定义镜像:
bashdocker 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,使用方式与默认镜像类似:
bashdocker 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镜像:
bashdocker exec dd-agent service datadog-agent info
Alpine镜像:
bashdocker exec dd-agent /opt/datadog-agent/bin/agent info
bashdocker cp dd-agent:/var/log/datadog /tmp/datadog-logs # Debian # 或 docker cp dd-agent:/opt/datadog-agent/logs /tmp/datadog-logs # Alpine
Debian镜像:
bashdocker exec -it dd-agent bash tail -f /var/log/datadog/collector.log # 主日志
Alpine镜像:
bashdocker exec -it dd-agent ash tail -f /opt/datadog-agent/logs/dogstatsd.log # DogStatsD日志
如发现镜像缺陷或功能问题,可通过https://github.com/DataDog/docker-dd-agent/issues%E6%8F%90%E4%BA%A4%E5%8F%8D%E9%A6%88%E3%80%82Agent%E6%A0%B8%E5%BF%83%E5%8A%9F%E8%83%BD%E9%97%AE%E9%A2%98%E8%AF%B7%E5%8F%82%E8%80%83Datadog%E5%AE%98%E6%96%B9%E6%96%87%E6%A1%A3%E6%88%96https://github.com/DataDog/dd-agent/wiki%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务