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

247 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 边缘节点监控目标说明
## 监控目标类型
边缘节点主要监控三类目标:
### 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<br>ONVIFDeviceHighTemperature<br>ONVIFDeviceLowStorage |
| 网络设备 | `network-ping` | Blackbox Exporter | `config/ping-targets.json` | 300秒 | NetworkDeviceDown<br>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` 中配置。