# 边缘节点监控目标说明 ## 监控目标类型 边缘节点主要监控三类目标: ### 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` **配置示例**: ```csv 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` **配置示例**: ```csv 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 查询: ```promql up{job="onvif-devices"} ``` ### 2. 检查网络设备 在边缘节点 Prometheus 查询: ```promql probe_success{job="network-ping"} ``` ### 3. 检查数据推送 在中央服务器 Grafana 查询: ```promql up{region="workernode_1"} probe_success{region="workernode_1"} ``` --- ## 常见问题 ### Q: 没有 ONVIF 设备怎么办? A: 可以留空 ONVIF 设备配置,只使用网络探测功能进行测试。 ### Q: 如何添加新的监控目标? A: 1. 编辑对应的 CSV 文件 (`devices.csv` 或 `ping-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` 中配置。