Netdata 默认不主动推送指标,而是通过Web API供外部拉取;若需推送,须启用exporting engines(如Prometheus remote_write、InfluxDB等),配置对应目标地址并验证网络与服务可达性。

Netdata 本身不主动“推送”指标,而是通过内置 Web API 提供实时、只读的指标流(如 /api/v1/allmetrics),由外部系统按需拉取。所谓“推送配置”,实际是指让 Netdata 将采集到的指标发送给第三方后端(如 Prometheus、InfluxDB、Graphite 或自建 HTTP 接收服务)。这需要启用并配置 Netdata 的 exporting engines,而非安装或启动时的默认行为。
确认 Netdata 已启用 exporting 功能
Netdata v1.40+ 默认编译时已包含主流 exporter 支持(Prometheus、OpenTelemetry、InfluxDB 等),但默认关闭。检查是否启用:
- 运行
sudo netdata -D | grep -i export,若输出含exporting engine且状态为enabled,说明已就绪 - 若无输出或显示
disabled,需确认安装方式:一键脚本部署默认启用;而 apt/yum 安装的旧版本可能缺失模块,建议重装官方脚本版
配置 Prometheus 远程写入(最常用场景)
Prometheus 不拉取 Netdata,而是 Netdata 主动将指标以 prometheus remote_write 协议发往 Prometheus 的 /api/v1/write 端点。编辑配置文件:
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
- 路径:
/etc/netdata/exporting.conf(一键脚本部署)或/opt/netdata/etc/netdata/exporting.conf - 取消注释并修改
[prometheus_remote_write]段落:enabled = yes destination = http://your-prometheus-server:9090/api/v1/write # 可选:添加 Basic Auth 或 bearer token # http_user = user # http_pass = pass # bearer_token = xxx - 保存后执行
sudo systemctl reload netdata,无需重启
对接 InfluxDB 或 Graphite(传统时序库)
这类目标需要 Netdata 主动发送指标,配置逻辑类似:
- 启用对应 section,例如
[influxdb]或[graphite] - 填写
destination(如http://influx:8086/write?db=netdata或graphite-server:2003) - InfluxDB 需确保数据库已存在;Graphite 需开启 plaintext 协议支持
- 可设置
update every = 5控制发送频率(单位:秒),避免压垮接收端
验证与排错关键点
推送失败通常不是 Netdata 配置问题,而是网络或目标服务侧原因:
- 用
curl -v -X POST http://your-target:port/... --data-binary "test,host=local value=1"手动测试目标接口是否可达、可写 - 查看 Netdata 日志:
sudo journalctl -u netdata -n 100 | grep -i export,重点关注failed to send或connection refused - 确认防火墙放行 outbound 流量(如
sudo ufw status或firewall-cmd --list-all) - Netdata 默认每 10 秒尝试一次失败推送,不会重试堆积数据——这是设计使然,非 bug

















