- 增加中央与边缘完整配置和部署脚本 - 引入 VictoriaMetrics 数据源与 remote_write 故障排查说明 - 新增 edge-agent 配置脚本、ONVIF 自建 exporter 与 ping 监控示例 Co-authored-by: Cursor <cursoragent@cursor.com>
247 lines
6.0 KiB
Markdown
247 lines
6.0 KiB
Markdown
# 边缘节点监控目标说明
|
||
|
||
## 监控目标类型
|
||
|
||
边缘节点主要监控三类目标:
|
||
|
||
### 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` 中配置。
|