
如果你使用 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容器的基础镜像。用户需使用构建后的镜像配置并运行Agent。若需Datadog Agent 6.x Dockerfile,可参考https://github.com/DataDog/datadog-agent/tree/master/Dockerfiles%E3%80%82
默认镜像可直接使用,仅需通过环境变量设置API_KEY。
标准系统启动命令
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)启动命令
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
主机名(Hostname)
默认情况下,Agent容器使用主机docker info命令中的Name字段作为主机名。如需修改,可通过以下方式:
/etc/dd-agent/datadog.conf中的hostname字段。DD_HOSTNAME设置(推荐,见下文环境变量说明)。控制组(CGroups)
为确保Docker检查正常运行,主机需启用cgroup内存管理,配置方法参考Debian Wiki。
例如,Debian Jessie及以上系统需在启动参数中添加cgroup_enable=memory swapaccount=1,否则Agent无法识别系统。修改启动参数的方法可参考此线程。
自动发现(Autodiscovery)
快速启动命令中已启用自动发现(auto-conf模式),Agent会自动对默认检查模板中列出的容器镜像运行检查。
SD_BACKEND环境变量。环境变量
部分配置参数可通过环境变量调整,具体如下:
| 环境变量 | 说明 |
|---|---|
DD_HOSTNAME | 设置主机名(写入datadog.conf) |
TAGS/DD_TAGS | 设置主机标签,格式:simple-tag-0,tag-key-1:tag-value-1 |
EC2_TAGS | 启用EC2主机标签,设为yes时需实例关联https://github.com/DataDog/dd-agent/wiki/Capturing-EC2-tags-at-startup |
LOG_LEVEL/DD_LOG_LEVEL | 设置日志级别(CRITICAL/ERROR/WARNING/INFO/DEBUG) |
DD_LOGS_STDOUT | 设为yes时将所有日志发送至stdout/stderr,供Docker处理 |
PROXY_HOST/PROXY_PORT/PROXY_USER/PROXY_PASSWORD | 配置代理服务器信息 |
DD_URL | 设置Datadog数据接收服务器(用于https://github.com/DataDog/dd-agent/wiki/Proxy-Configuration#using-the-agent-as-a-proxy%E5%9C%BA%E6%99%AF%EF%BC%89 |
NON_LOCAL_TRAFFIC | 启用/禁用外部IP的statsd上报,默认true;设为false时仅允许本地流量 |
SD_BACKEND | 自动发现后端,设为docker启用(唯一支持的后端) |
SD_CONFIG_BACKEND | 配置后端类型(etcd/consul/zk),用于自动发现模板来源 |
SD_BACKEND_HOST/SD_BACKEND_PORT | 配置后端的地址和端口 |
SD_TEMPLATE_DIR | 配置后端中检查模板的路径,默认datadog/check_configs |
SD_CONSUL_TOKEN | Consul配置后端的认证令牌 |
SD_BACKEND_USER/SD_BACKEND_PASSWORD | etcd配置后端的认证凭据 |
DD_APM_ENABLED | 启用trace-agent(非Alpine镜像支持),允许接收APM追踪数据 |
DD_PROCESS_AGENT_ENABLED | 启用进程Agent(非Alpine镜像支持),用于实时进程/容器视图 |
DD_COLLECT_LABELS_AS_TAGS | 收集指定容器标签为指标标签,格式:com.docker.label.foo,com.docker.label.bar |
MAX_TRACES_PER_SECOND | APM最大采样速率(每秒追踪数),设为0禁用限制 |
DD_HISTOGRAM_PERCENTILES | 直方图分位数,默认0.95,空格分隔多个值(如0.9 0.95 0.99) |
DD_HISTOGRAM_AGGREGATES | 直方图聚合方式,默认max median avg count,空格分隔多个值 |
启用集成
通过环境变量启用
Kubernetes监控:设KUBERNETES=yes启用Kubernetes检查。
KUBERNETES_COLLECT_EVENTS=true;或启用Leader选举(KUBERNETES_LEADER_CANDIDATE=true)并通过KUBERNETES_LEADER_LEASE_DURATION设置租期(秒)。default命名空间,通过KUBERNETES_NAMESPACE_NAME_REGEX设置正则表达式匹配目标命名空间。kube_service标签,设KUBERNETES_COLLECT_SERVICE_TAGS=false禁用。KUBERNETES_KUBELET_HOST覆盖。Mesos监控:设MESOS_MASTER=yes启用Mesos Master检查;MESOS_SLAVE=yes启用Mesos Slave检查。
Marathon监控:设MARATHON_URL=http://leader.mesos:8080启用Marathon检查。
通过自动发现启用
适用于Kubernetes、ECS、Docker Swarm等动态环境,详细说明参考自动发现指南。
通过配置文件挂载启用
bashmkdir /opt/dd-agent-conf.d touch /opt/dd-agent-conf.d/nginx.yaml # 示例:Nginx检查配置
容器启动时会自动将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 \ -v /opt/dd-agent-conf.d:/conf.d:ro \ # 挂载配置目录 -e API_KEY={your_api_key_here} \ datadog/docker-dd-agent
/conf.d下的.yaml文件复制至/etc/dd-agent/conf.d/(Alpine版本为/opt/datadog-agent/agent/conf.d/)。如需运行基于JMX的检查,需使用JMX镜像(标签格式usual_tag-jmx),例如datadog/docker-dd-agent:latest-jmx、datadog/docker-dd-agent:11.0.5150-jmx。此类镜像在基础镜像上添加了JVM,支持jmxfetch运行。
独立DogStatsD镜像
默认镜像(如latest)同时运行DogStatsD服务器和Agent收集器。如需仅运行DogStatsD,使用独立镜像(标签格式usual_tag-dogstatsd),例如datadog/docker-dd-agent:latest-dogstatsd、datadog/docker-dd-agent:11.0.5141-dogstatsd-alpine。
/proc、/sys/fs或Docker socket。datadog.conf中的全局标签(收集器未运行)。-e DD_APM_ENABLED=true接收APM追踪数据。从主机访问DogStatsD
-p 8125:8125/udp至启动命令。-p 127.0.0.1:8125:8125/udp。禁用DogStatsD
设USE_DOGSTATSD=no禁用DogStatsD。
从其他容器访问DogStatsD
通过Docker主机IP
容器内通过默认路由IP(如ip route查询)访问主机上的DogStatsD,例如配置客户端连接172.17.42.1:8125。
通过Docker链接(Legacy)
启动客户端容器时添加--link dogstatsd:dogstatsd,环境变量DOGSTATSD_PORT_8125_UDP_ADDR和DOGSTATSD_PORT_8125_UDP_PORT自动注入,供客户端使用。
添加-e DD_APM_ENABLED=true启用trace-agent(非Alpine镜像支持),接收APM追踪数据。
从主机访问APM
-p 8126:8126/tcp至启动命令。-p 127.0.0.1:8126:8126/tcp。示例启动命令:
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
从其他容器访问APM
通过Docker链接
启动客户端容器时添加--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"] )
通过Docker主机IP
客户端配置追踪器连接主机默认路由IP(如172.17.0.1):
pythonfrom ddtrace import tracer; tracer.configure(hostname="172.17.0.1", port=8126)
如需在镜像中预配置Agent,可基于官方镜像构建:
创建Dockerfile:
dockerfileFROM datadog/docker-dd-agent # 示例:添加MySQL检查配置 ADD conf.d/mysql.yaml /etc/dd-agent/conf.d/mysql.yaml
构建镜像:
bashdocker build -t dd-agent-image .
运行自定义镜像:
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} \ dd-agent-image
Agent 5.7+提供Alpine Linux基础镜像(标签格式usual_tag-alpine),体积约为Debian版本的60%,安全性更高。
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/)。/opt/datadog-agent/bin/agent info)。Docker镜像版本格式:X.Y.Z,其中:
X:Docker镜像主版本Y:Docker镜像次版本Z:Agent版本示例:首个包含Datadog Agent 5.5.0的Docker镜像版本为10.0.550。
Debian镜像:
bashdocker exec dd-agent service datadog-agent info
Alpine镜像:
bashdocker exec dd-agent /opt/datadog-agent/bin/agent info
注:
docker exec命令需Docker 1.3及以上版本支持。
bashdocker cp dd-agent:/var/log/datadog /tmp/log-datadog-agent
Debian镜像:
bashdocker exec -it dd-agent bash tail -f /var/log/datadog/dogstatsd.log
Alpine镜像:
bashdocker exec -it dd-agent ash tail -f /opt/datadog-agent/logs/dogstatsd.log
如发现容器相关问题,可提交https://github.com/DataDog/docker-dd-agent/issues%EF%BC%9BAgent%E6%9C%AC%E8%BA%AB%E9%97%AE%E9%A2%98%E8%AF%B7%E5%8F%82%E8%80%83%E5%85%B6%E6%96%87%E6%A1%A3%E6%88%96https://github.com/DataDog/dd-agent/wiki%E3%80%82<|FCResponseEnd|># Datadog Agent 5.x Docker镜像文档
本镜像用于构建Datadog
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务