Files
Distributed-Prometheus/doc/ALERT_RULES_EXPLANATION.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

131 lines
4.2 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.
# 告警规则说明
## 告警规则概述
当前配置了两组告警规则,用于监控 ONVIF 设备和网络设备的状态。
## 告警规则详解
### 1. ONVIF 设备告警组 (onvif_alerts)
#### ONVIFDeviceDown - ONVIF设备离线
- **触发条件**`up{job="onvif-devices"} == 0`
- **持续时间**1分钟
- **严重程度**critical严重
- **说明**:当 ONVIF 设备如摄像头无法访问或离线超过1分钟时触发
- **告警信息**:显示哪个设备实例离线
#### ONVIFDeviceHighTemperature - ONVIF设备温度过高
- **触发条件**`onvif_device_temperature > 70`
- **持续时间**2分钟
- **严重程度**warning警告
- **说明**当设备温度超过70°C时触发防止设备过热损坏
- **告警信息**:显示设备实例和当前温度值
#### ONVIFDeviceLowStorage - ONVIF设备存储空间不足
- **触发条件**`onvif_storage_usage_percent > 90`
- **持续时间**5分钟
- **严重程度**warning警告
- **说明**当设备存储使用率超过90%时触发,提醒需要清理存储空间
- **告警信息**:显示设备实例和存储使用率
### 2. 网络设备告警组 (network_alerts)
#### NetworkDeviceDown - 网络设备离线
- **触发条件**`probe_success{job="network-ping"} == 0`
- **持续时间**2分钟
- **严重程度**critical严重
- **说明**:当网络设备无法通过 ping 连通时触发
- **告警信息**:显示哪个网络设备实例无法访问
#### HighNetworkLatency - 网络延迟过高
- **触发条件**`probe_duration_seconds{job="network-ping"} > 1`
- **持续时间**5分钟
- **严重程度**warning警告
- **说明**当网络延迟超过1秒时触发表示网络质量下降
- **告警信息**:显示设备实例和延迟时间
## 为什么告警规则是 Inactive非活跃状态
告警规则显示为 **inactive** 的原因:
1. **缺少数据源**
- 这些告警依赖于边缘节点推送的数据
- 需要配置 `edge-agent` 并部署到边缘节点
- 边缘节点需要配置 ONVIF 设备和网络探测目标
2. **指标不存在**
- `up{job="onvif-devices"}` - 需要边缘节点运行 ONVIF Exporter
- `probe_success{job="network-ping"}` - 需要边缘节点运行 Blackbox Exporter
- 如果这些指标不存在,告警规则无法评估,所以是 inactive
3. **数据未推送**
- 边缘节点的数据需要通过 `remote_write` 推送到中央服务器
- 检查边缘节点是否正常连接并推送数据
## 如何激活告警规则?
### 步骤 1部署边缘节点代理
```bash
cd ../edge-agent
bash deploy.sh
```
### 步骤 2配置监控目标
1. **配置 ONVIF 设备**
- 编辑 `edge-agent/config/devices.csv`
- 添加要监控的 ONVIF 设备信息
2. **配置网络探测目标**
- 编辑 `edge-agent/config/ping-targets.csv`
- 添加要监控的网络设备 IP 地址
### 步骤 3更新配置
```bash
cd edge-agent/config
./update-configs.sh
```
### 步骤 4验证数据推送
1. 在 Prometheus 中查询指标:
```promql
up{job="onvif-devices"}
probe_success{job="network-ping"}
```
2. 如果能看到数据,告警规则会自动变为 **active** 状态
## 告警状态说明
- **Inactive非活跃**:告警规则已加载,但没有匹配的数据或条件未满足
- **Pending待触发**:条件满足,但未达到持续时间阈值
- **Firing触发中**:条件满足且持续时间达到阈值,告警已触发
- **Resolved已解决**:告警条件不再满足,告警已恢复
## 告警通知
当告警触发时,会发送到 Alertmanager然后根据配置发送通知
- 当前配置:发送到 webhook `http://127.0.0.1:5001/`
- 可以修改 `alertmanager/alertmanager.yml` 配置邮件、钉钉、企业微信等通知方式
## 自定义告警规则
可以在 `alert_rules.yml` 中添加更多告警规则,例如:
```yaml
- alert: CustomAlert
expr: your_metric > threshold
for: 5m
labels:
severity: warning
annotations:
summary: "自定义告警"
description: "描述信息"
```
修改后Prometheus 会自动重新加载配置(如果启用了 `--web.enable-lifecycle`)。