# 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 变更;后端部署/重启生效。 ## 验证 ```bash pytest tests/test_notify_toggle_sync.py -q ``` 关闭 CPU 告警开关 → 不应再收到 CPU 恢复 Telegram。