fe8b24ca0b
关闭分项告警后不再推送对应恢复消息;仪表盘移除服务器列表并更新设置页说明。 Co-authored-by: Cursor <cursoragent@cursor.com>
1.4 KiB
1.4 KiB
2026-06-08 — 资源恢复 Telegram 联动资源告警开关
摘要
关闭「CPU/内存/磁盘」单项告警开关后,对应指标的「资源恢复」Telegram 也不再推送。
动机
用户关闭 CPU 告警后仍收到「🟢 【资源恢复】CPU 已回落至正常范围」;恢复此前仅检查 notify_recovery 总开关,未检查 notify_alert_cpu 等分项。
变更
server/utils/notify_toggles.py— 新增recovery_notify_enabled()、resource_recovery_notify_enabled(metric)(总开关 + CPU/内存/磁盘分项)server/infrastructure/telegram/__init__.py—send_telegram_recovery使用联动检查frontend/src/types/api.ts— 设置页 CPU/内存/磁盘/恢复开关说明文案tests/test_notify_toggle_sync.py— CPU/内存/磁盘告警与恢复、Redis/MySQL 恢复联动单测
逻辑
资源类(CPU / 内存 / 磁盘):
| notify_recovery | notify_alert_* | 对应恢复 Telegram |
|---|---|---|
| off | * | 不发送 |
| on | off | 不发送 |
| on | on | 发送 |
系统类(Redis / MySQL):告警与恢复共用同一 notify_system_* 开关(send_telegram_system_alert 已统一检查)。
涉及文件
见上。
迁移 / 重启
无 DB 变更;后端部署/重启生效。
验证
pytest tests/test_notify_toggle_sync.py -q
关闭 CPU 告警开关 → 不应再收到 CPU 恢复 Telegram。