Datadog Agent 对接
把 Datadog Agent 的 v1 series 指标写到夜莺;明确 v2 API、认证与其他 Datadog 数据类型的兼容边界。
最后校对于
这页帮助已有 Datadog Agent 的机器把兼容的指标数据写到夜莺,保留已有采集配置。
夜莺 v9 的 Pushgw 注册了 /datadog/api/v1/series。这不是完整的 Datadog 后端,也没有 v2 series 接收路由。
本文配置以 Datadog Agent 7.70.0 的配置项为依据;其他版本先核对是否仍支持切换到 v1。
配置
修改 Linux 上的 /etc/datadog-agent/datadog.yaml,将上报地址换成夜莺地址:
api_key: "replace-with-agent-key"
dd_url: "http://127.0.0.1:17000/datadog"
use_v2_api:
series: false
替换示例地址和 key。dd_url 到 /datadog 为止,不要把它填成完整的 /api/v1/series 地址,Agent 会追加 API 路径。
只改 dd_url 不够:Agent 7.70.0 默认启用 v2 series。
use_v2_api.series: false 是让它使用夜莺兼容的 v1 JSON series。
服务端需开启 [HTTP.APIForAgent].Enable。如果配置了 [HTTP.APIForAgent.BasicAuth],夜莺会将请求中的 api_key 与该表中配置的密码值匹配,不能用页面登录 Token 替代。
未开启服务端认证时,夜莺不校验该值,但 Agent 本身仍需要有效的非空配置。
重启并验证
sudo systemctl restart datadog-agent
sudo datadog-agent status
sudo journalctl -u datadog-agent -n 100 --no-pager
预期结果:Agent 启动正常,指标写入 /datadog/api/v1/series 没有 401 或路由错误。
再在夜莺即时查询中选择实际接收指标的时序库,确认采集指标出现且时间戳持续更新。
夜莺会把 Datadog 指标名里的 .、- 转为 _,例如 system.cpu.user 对应 system_cpu_user。
排查时检查 Agent 和夜莺两边日志,不能只看 Agent 服务在运行。
兼容辅助端点的成功响应,不代表日志、APM、事件或全部 service check 已被保存;本页只承诺 v1 series 指标链路。 若 Agent 版本已不支持这种配置,改用 Categraf 或已验证的 Prometheus 采集链路。
下一步
实现依据:Pushgw 路由、series 解析与认证。