Files
Distributed-Prometheus/doc/EDGE_AGENT_CONFIG.md
root c4825c2d27 feat: 引入 vmauth 鉴权与严格多租户
- 对外端口统一为 18428(vmauth 入口),VM 不再直接暴露宿主机端口
- 边缘 vmagent 与中央 Prometheus remote_write 增加 basic auth
- 支持 tenants.csv 驱动的 per-tenant 写入/查询隔离,并提供管理员跨租户只读查询
- 更新 Grafana provisioning 与部署/文档

Made-with: Cursor
2026-04-22 11:41:13 +00:00

3.5 KiB
Raw Blame History

边缘节点配置文件说明

需要什么

类型 说明 对应组件
必选 remote_write 推送到中央 prometheus-edge
必选 Ping/网络探测 blackbox-exporter
可选 ONVIF 等 onvif-exporter--profile onvif),见 ONVIF_ALTERNATIVES.md

容器与数据流

容器 作用 端口
prometheus-edge (vmagent) 抓取 Blackbox及可选 ONVIFremote_write → 中央 VictoriaMetrics含内存+磁盘缓存 9092
blackbox-exporter Ping/HTTP/TCP 探测 9115内部
onvif-exporter 可选ONVIF 探测 9600内部

数据流:目标 → Exporter → prometheus-edge → remote_write → 中央 VictoriaMetrics。

目录与配置

  • config/targets.csv统一监控目标ping/onvif/topology格式与脚本见 TARGETS_AND_MONITORING.md
  • config/update-configs.sh:从 targets.csv 生成 target-onvif.jsontarget-ping.jsontarget-topology.geojson
  • prometheus-edge (vmagent):使用 config/vmagent/vmagent-scrape.yml.template 抓取;CENTRAL_SERVER_HOST/PORT 来自 .env;磁盘缓存卷 vmagent-cache-data
  • .envCENTRAL_SERVER_HOSTCENTRAL_SERVER_PORT=18428VMAUTH_WRITE_USERVMAUTH_WRITE_PASSWORDEDGE_NODE_ID。本机同机用 ./deploy.sh --local;跨机配 .env./deploy.sh

严格多租户(推荐)

中央启用 central-server/config/vmauth/tenants.csv 后,每个边缘节点建议配置独立的 VMAUTH_WRITE_USER/VMAUTH_WRITE_PASSWORD,与中央 tenants.csv 中对应的 write 账号一致;这样每个边缘写入各自 tenantGrafana 也能按 tenant 独立查询。

常用操作

  • 改监控目标:编辑 config/targets.csvcd config && ./update-configs.shvmagent 每 5 分钟自动重载 JSON无需重启。
  • 改中央地址:编辑 .envdocker compose restart prometheus-edge

中心宕机 / 断网时的缓存

docker-compose.yaml 使用 vmagent 实现:

层级 机制 说明
短时内存缓存 内存队列 中心短暂不可达时在内存中缓冲(约 30 分钟量级)
长时磁盘缓存 持久化队列 长时间离线写入磁盘(默认 512MB恢复后自动补传
冗余重试 失败重试 边缘重启后从磁盘恢复未上传数据

参数(修改 prometheus-edge 的 command 可调):-remoteWrite.maxDiskUsagePerURL=512MB-remoteWrite.tmpDataPath=/cache/remotewrite-memory.allowedPercent=80。监控指标:vmagent_remotewrite_pending_bytesvmagent_remotewrite_packets_dropped_total

相关文档