APM 数据的接收口
8126 是 Datadog Trace Agent 的默认接收端口:应用侧的追踪库(dd-trace 系列)把链路数据发到这里,由 Agent 汇总加密后上报到平台。它通常以每台主机或每个节点一个 Agent 的方式部署,容器环境里则是每个节点固定一个入口,应用通过环境变量指定 Agent 地址。端口本身不带认证,因此只应存在于应用本机或集群网段之内。
基本信息
| 服务 | Datadog Trace Agent(APM 接收端) |
|---|---|
| 协议 | TCP/HTTP(8126),也支持本地套接字 |
| 用途 | 接收应用分布式链路追踪数据 |
| 应用侧配置 | 通过环境变量指定 Agent 主机与端口 |
| 暴露要求 | 仅应用本机或集群网段 |
典型使用场景
- 接入链路追踪:应用启动时把追踪数据指向本机 Agent
- 容器化部署:每节点一个 Agent,应用通过变量获得地址
- 排障:平台看不到追踪数据时先确认应用与 Agent 是否连通
- 容量评估:核对 Agent 的接收吞吐与丢弃指标是否触顶
- 安全核对:确认该端口没有对内网全网段或公网开放
常见问题
| 现象 | 常见原因 | 排查方向 |
|---|---|---|
| 平台无追踪数据 | 应用未指向正确 Agent | 核对应用侧地址变量 |
| 部分服务有数据 | 个别服务配置遗漏 | 逐服务检查注入配置 |
| 数据时断时续 | 网络策略或 Agent 重启 | 查看 Agent 日志与丢包指标 |
| 上报量异常大 | 采样率配置失误 | 核对采样与过滤规则 |
连通与核对
连通与核对
# 确认 Agent 是否在本机监听
ss -lntp | grep 8126
# 用接口路径验证 Agent 存活
curl -s http://localhost:8126/info | head -c 200
# 容器内验证能否访问宿主机上的 Agent
# 常见做法是使用节点 IP 或主机网关地址,而不是 localhost
nc -zv <节点IP> 8126容器场景里最容易出的问题就是应用把 Agent 地址写成 localhost:容器内的 localhost 指向自身,追踪数据发不出去,而应用日志里往往只有一条不显眼的发送失败信息,看起来像是采集平台的问题。
8126 上传的数据包含请求路径、耗时以及部分请求上下文:开放给无关网段等于把接口调用结构暴露出去。生产环境建议同时启用本地套接字或仅绑定回环地址,只对必要的采集组件开放网络访问。
核对清单
- 确认应用侧地址变量与实际 Agent 位置一致
- 确认容器内使用的不是回环地址
- 确认 Agent 与采集端的出网策略已放行
- 确认采样率符合容量与成本的平衡