- 增加中央与边缘完整配置和部署脚本 - 引入 VictoriaMetrics 数据源与 remote_write 故障排查说明 - 新增 edge-agent 配置脚本、ONVIF 自建 exporter 与 ping 监控示例 Co-authored-by: Cursor <cursoragent@cursor.com>
6.0 KiB
6.0 KiB
边缘节点监控目标说明
监控目标类型
边缘节点主要监控三类目标:
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 设备配置
-
设备信息:
- IP 地址
- 设备类型 (camera/nvr)
- 型号
- 位置标签
- 用户名和密码
- ONVIF 端口(通常 80 或 8080)
-
安全建议:
- 使用强密码
- 定期更换密码
- 限制网络访问
网络设备配置
-
内部设备:
- 路由器、交换机等关键网络设备
- 重要服务器
- 网络打印机等
-
外部服务:
- 公共 DNS (8.8.8.8, 1.1.1.1)
- 关键外部服务
- 用于测试网络连通性
-
标签使用:
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:
- 编辑对应的 CSV 文件 (
devices.csv或ping-targets.csv) - 运行
cd config && ./update-configs.sh - 等待 5 分钟自动重载,或重启
prometheus-edge容器
Q: 监控目标太多会影响性能吗?
A:
- ONVIF 设备:每个设备约 1-2 秒查询时间
- 网络 Ping:每个目标约 0.1-0.5 秒
- 建议:单节点不超过 100 个目标
Q: 如何监控 HTTPS 服务?
A: 修改 blackbox/config.yml,添加 HTTPS 探测模块,然后在 ping-targets.json 中配置。