- 增加中央与边缘完整配置和部署脚本 - 引入 VictoriaMetrics 数据源与 remote_write 故障排查说明 - 新增 edge-agent 配置脚本、ONVIF 自建 exporter 与 ping 监控示例 Co-authored-by: Cursor <cursoragent@cursor.com>
4.2 KiB
4.2 KiB
告警规则说明
告警规则概述
当前配置了两组告警规则,用于监控 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 的原因:
-
缺少数据源:
- 这些告警依赖于边缘节点推送的数据
- 需要配置
edge-agent并部署到边缘节点 - 边缘节点需要配置 ONVIF 设备和网络探测目标
-
指标不存在:
up{job="onvif-devices"}- 需要边缘节点运行 ONVIF Exporterprobe_success{job="network-ping"}- 需要边缘节点运行 Blackbox Exporter- 如果这些指标不存在,告警规则无法评估,所以是 inactive
-
数据未推送:
- 边缘节点的数据需要通过
remote_write推送到中央服务器 - 检查边缘节点是否正常连接并推送数据
- 边缘节点的数据需要通过
如何激活告警规则?
步骤 1:部署边缘节点代理
cd ../edge-agent
bash deploy.sh
步骤 2:配置监控目标
-
配置 ONVIF 设备:
- 编辑
edge-agent/config/devices.csv - 添加要监控的 ONVIF 设备信息
- 编辑
-
配置网络探测目标:
- 编辑
edge-agent/config/ping-targets.csv - 添加要监控的网络设备 IP 地址
- 编辑
步骤 3:更新配置
cd edge-agent/config
./update-configs.sh
步骤 4:验证数据推送
-
在 Prometheus 中查询指标:
up{job="onvif-devices"} probe_success{job="network-ping"} -
如果能看到数据,告警规则会自动变为 active 状态
告警状态说明
- Inactive(非活跃):告警规则已加载,但没有匹配的数据或条件未满足
- Pending(待触发):条件满足,但未达到持续时间阈值
- Firing(触发中):条件满足且持续时间达到阈值,告警已触发
- Resolved(已解决):告警条件不再满足,告警已恢复
告警通知
当告警触发时,会发送到 Alertmanager,然后根据配置发送通知:
- 当前配置:发送到 webhook
http://127.0.0.1:5001/ - 可以修改
alertmanager/alertmanager.yml配置邮件、钉钉、企业微信等通知方式
自定义告警规则
可以在 alert_rules.yml 中添加更多告警规则,例如:
- alert: CustomAlert
expr: your_metric > threshold
for: 5m
labels:
severity: warning
annotations:
summary: "自定义告警"
description: "描述信息"
修改后,Prometheus 会自动重新加载配置(如果启用了 --web.enable-lifecycle)。