本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
本仓库用于构建Datadog Agent 5.x容器的基础镜像。用户需使用构建后的镜像配置并运行Agent。若需Datadog Agent 6.x Dockerfile,可参考datadog-agent仓库。
默认镜像可直接使用,仅需通过环境变量设置API_KEY。
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
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字段作为主机名。如需修改,可通过以下方式:
/etc/dd-agent/datadog.conf中的hostname字段。DD_HOSTNAME设置(推荐,见下文环境变量说明)。为确保Docker检查正常运行,主机需启用cgroup内存管理,配置方法参考Debian Wiki。
例如,Debian Jessie及以上系统需在启动参数中添加cgroup_enable=memory swapaccount=1,否则Agent无法识别系统。修改启动参数的方法可参考此线程。
快速启动命令中已启用自动发现(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时需实例关联IAM角色 |
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数据接收服务器(用于Agent作为代理场景) |
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=[***]启用Marathon检查。
适用于Kubernetes、ECS、Docker Swarm等动态环境,详细说明参考自动发现指南。
mkdir /opt/dd-agent-conf.d touch /opt/dd-agent-conf.d/nginx.yaml # 示例:Nginx检查配置
容器启动时会自动将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 \ -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运行。
默认镜像(如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追踪数据。-p 8125:8125/udp至启动命令。-p 127.0.0.1:8125:8125/udp。设USE_DOGSTATSD=no禁用DogStatsD。
容器内通过默认路由IP(如ip route查询)访问主机上的DogStatsD,例如配置客户端连接172.17.42.1:8125。
启动客户端容器时添加--link dogstatsd:dogstatsd,环境变量DOGSTATSD_PORT_8125_UDP_ADDR和DOGSTATSD_PORT_8125_UDP_PORT自动注入,供客户端使用。
添加-e DD_APM_ENABLED=true启用trace-agent(非Alpine镜像支持),接收APM追踪数据。
-p 8126:8126/tcp至启动命令。-p 127.0.0.1:8126:8126/tcp。示例启动命令:
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
启动客户端容器时添加--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"] )
客户端配置追踪器连接主机默认路由IP(如172.17.0.1):
from ddtrace import tracer; tracer.configure(hostname="172.17.0.1", port=8126)
如需在镜像中预配置Agent,可基于官方镜像构建:
创建Dockerfile:
FROM datadog/docker-dd-agent # 示例:添加MySQL检查配置 ADD conf.d/mysql.yaml /etc/dd-agent/conf.d/mysql.yaml
构建镜像:
docker build -t dd-agent-image .
运行自定义镜像:
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} \ dd-agent-image
Agent 5.7+提供Alpine Linux基础镜像(标签格式usual_tag-alpine),体积约为Debian版本的60%,安全性更高。
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/)。/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镜像:
docker exec dd-agent service datadog-agent info
Alpine镜像:
docker exec dd-agent /opt/datadog-agent/bin/agent info
注:
docker exec命令需Docker 1.3及以上版本支持。
docker cp dd-agent:/var/log/datadog /tmp/log-datadog-agent
Debian镜像:
docker exec -it dd-agent bash tail -f /var/log/datadog/dogstatsd.log
Alpine镜像:
docker exec -it dd-agent ash tail -f /opt/datadog-agent/logs/dogstatsd.log
如发现容器相关问题,可提交Github Issue;Agent本身问题请参考其文档或Wiki。<|FCResponseEnd|># Datadog Agent 5.x Docker镜像文档
本镜像用于构建Datadog
免费版仅支持 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