Files
Distributed-Prometheus/doc/MONITORING_TARGETS.md
Super User 95a09fd9d8 完善中央与边缘部署、远程写入与监控文档
- 增加中央与边缘完整配置和部署脚本
- 引入 VictoriaMetrics 数据源与 remote_write 故障排查说明
- 新增 edge-agent 配置脚本、ONVIF 自建 exporter 与 ping 监控示例

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 04:24:40 -05:00

6.0 KiB
Raw Blame History

边缘节点监控目标说明

监控目标类型

边缘节点主要监控三类目标:

1. ONVIF 设备 (通过 ONVIF Exporter)

监控对象

  • 📹 摄像头 (Camera) - IP 摄像头
  • 📼 NVR (Network Video Recorder) - 网络视频录像机
  • 其他支持 ONVIF 协议的设备

监控指标

  • up{job="onvif-devices"} - 设备在线状态
  • onvif_device_temperature - 设备温度
  • onvif_storage_usage_percent - 存储使用率
  • 其他 ONVIF 设备指标

配置位置

  • CSV 配置:config/devices.csv
  • JSON 配置:config/onvif-targets.json

配置示例

ip,device_type,model,location,username,password,onvif_port
192.168.1.100,camera,HIKVISION_DS-2CD2342WD-I,front_door,admin,password1,80
192.168.1.50,nvr,HIKVISION_DS-7608NI-I2,server_rack,admin,password4,80

告警规则

  • ONVIFDeviceDown - 设备离线告警
  • ONVIFDeviceHighTemperature - 温度过高告警
  • ONVIFDeviceLowStorage - 存储空间不足告警

2. 网络设备 (通过 Blackbox Exporter)

监控对象

  • 🌐 路由器 - 网络网关设备
  • 🔌 交换机 - 网络交换设备
  • 💻 服务器 - 各种服务器设备
  • 🌍 外部服务 - DNS、网站等外部服务
  • 📡 网络设备 - 任何可通过 ICMP ping 的设备

监控方式

  • ICMP Ping - 网络连通性探测
  • TCP 连接 - TCP 端口连通性
  • HTTP 探测 - HTTP 服务可用性

监控指标

  • probe_success{job="network-ping"} - Ping 成功状态 (0/1)
  • probe_duration_seconds{job="network-ping"} - Ping 延迟时间
  • probe_http_status_code - HTTP 状态码
  • probe_tcp_connect_success - TCP 连接成功状态

配置位置

  • CSV 配置:config/ping-targets.csv
  • JSON 配置:config/ping-targets.json

配置示例

ip,device,group,network
192.168.1.1,main_router,network,internal
8.8.8.8,google_dns,external,external
1.1.1.1,cloudflare_dns,external,external

告警规则

  • NetworkDeviceDown - 网络设备离线告警
  • HighNetworkLatency - 网络延迟过高告警

3. 边缘节点自身 (Prometheus Edge)

监控对象

  • 边缘 Prometheus 服务自身

监控指标

  • up{job="prometheus-edge"} - Prometheus 服务状态
  • prometheus_tsdb_* - 时序数据库指标
  • prometheus_config_* - 配置相关指标

配置位置

  • prometheus-edge/prometheus.yml (自动配置)

监控目标汇总表

监控类型 Job名称 Exporter 配置文件 监控间隔 告警规则
ONVIF设备 onvif-devices ONVIF Exporter config/onvif-targets.json 120秒 ONVIFDeviceDown
ONVIFDeviceHighTemperature
ONVIFDeviceLowStorage
网络设备 network-ping Blackbox Exporter config/ping-targets.json 300秒 NetworkDeviceDown
HighNetworkLatency
边缘节点自身 prometheus-edge Prometheus自身 自动配置 60秒 -

典型监控场景

场景 1家庭/办公室监控

ONVIF 设备

  • 前门摄像头
  • 后院摄像头
  • 客厅摄像头
  • NVR 录像机

网络设备

  • 主路由器 (192.168.1.1)
  • 交换机
  • 内部服务器

场景 2企业监控

ONVIF 设备

  • 多个区域的摄像头
  • 多个 NVR 设备
  • 不同品牌的摄像头

网络设备

  • 核心路由器
  • 汇聚交换机
  • 接入交换机
  • 关键服务器
  • 外部 DNS 服务

场景 3最小化测试

ONVIF 设备

  • 无(留空用于测试)

网络设备

  • 公共 DNS (8.8.8.8, 1.1.1.1)
  • 本地路由器(如果可访问)

配置建议

ONVIF 设备配置

  1. 设备信息

    • IP 地址
    • 设备类型 (camera/nvr)
    • 型号
    • 位置标签
    • 用户名和密码
    • ONVIF 端口(通常 80 或 8080
  2. 安全建议

    • 使用强密码
    • 定期更换密码
    • 限制网络访问

网络设备配置

  1. 内部设备

    • 路由器、交换机等关键网络设备
    • 重要服务器
    • 网络打印机等
  2. 外部服务

    • 公共 DNS (8.8.8.8, 1.1.1.1)
    • 关键外部服务
    • 用于测试网络连通性
  3. 标签使用

    • group - 设备分组
    • network - 网络类型 (internal/external)
    • device - 设备名称

数据流向

监控目标
    │
    ├─ ONVIF 设备 ──> ONVIF Exporter ──┐
    │                                    │
    ├─ 网络设备 ──> Blackbox Exporter ──┤
    │                                    │
    └─ 边缘节点自身 ──────────────────────┤
                                          │
                                          ▼
                              Prometheus Edge
                                          │
                                          │ remote_write
                                          ▼
                              VictoriaMetrics (中央服务器)

验证监控目标

1. 检查 ONVIF 设备

在边缘节点 Prometheus 查询:

up{job="onvif-devices"}

2. 检查网络设备

在边缘节点 Prometheus 查询:

probe_success{job="network-ping"}

3. 检查数据推送

在中央服务器 Grafana 查询:

up{region="workernode_1"}
probe_success{region="workernode_1"}

常见问题

Q: 没有 ONVIF 设备怎么办?

A: 可以留空 ONVIF 设备配置,只使用网络探测功能进行测试。

Q: 如何添加新的监控目标?

A:

  1. 编辑对应的 CSV 文件 (devices.csvping-targets.csv)
  2. 运行 cd config && ./update-configs.sh
  3. 等待 5 分钟自动重载,或重启 prometheus-edge 容器

Q: 监控目标太多会影响性能吗?

A:

  • ONVIF 设备:每个设备约 1-2 秒查询时间
  • 网络 Ping每个目标约 0.1-0.5 秒
  • 建议:单节点不超过 100 个目标

Q: 如何监控 HTTPS 服务?

A: 修改 blackbox/config.yml,添加 HTTPS 探测模块,然后在 ping-targets.json 中配置。