步骤4:观察期上线前置验证报告
时间: 2026-09-13 09:53
状态: ✅ 前置验证通过,等待配置cron
前置1:备份jobs.json ✅
| 项目 | 值 |
|---|---|
| 备份路径 | C:/Users/Admin/AppData/Local/hermes/cron/jobs.json.bak_20260913 |
| 文件大小 | 188098 bytes |
| 备份时间 | 2026-09-13 09:53 |
前置2:手动执行验证 ✅
alert_channel_health.py
======================================================================
alert_channel_health.py 轮询监控
时间: 2026-09-13T09:53:10.368850
======================================================================
【jobs.json配置】
路径: C:\Users\Admin\AppData\Local\hermes\cron\jobs.json
任务数: 103
注册任务: eval_pias_daily, ops_backup_daily, ops_system_health, position_688306, risk_sentiment_radar
【监控任务列表】
✅ position_688306
✅ ops_system_health
✅ ops_backup_daily
✅ risk_sentiment_radar
✅ eval_pias_daily
【position_688306】(P0)
状态: waiting
详情: 等待首次运行
ℹ️ 不告警(waiting状态)
... (其他4个任务同样显示waiting)
======================================================================
轮询完成: 发现0个告警
======================================================================
判定: ✅ 正常(5个任务均为waiting状态,首次运行前不告警)
dead_mans_switch.py
======================================================================
dead_mans_switch.py 看门狗检查
时间: 2026-09-13T09:53:11.276934
======================================================================
心跳状态: waiting
上次检查: None
已过期: 0s
详情: 等待首次心跳
⏳ 等待首次心跳
======================================================================
判定: ✅ 正常(无心跳记录时不告警)
阶段1配置方案
| 项目 | 值 |
|---|---|
| 脚本 | scripts/alert_channel_health.py |
| 调度 | */15 * * * * (每15分钟) |
| 告警前缀 | [OBSERVE] |
| 静默期 | P0=30min, P1=5min |
| 观察期 | 3-5天 |
预期行为:
- 任务 running/failed/timeout → 发送 [OBSERVE] 告警
- 任务 waiting/unknown → 不告警,记日志
- 所有告警带 [OBSERVE] 前缀,便于区分观察期告警
阶段2配置方案
| 项目 | 值 |
|---|---|
| 脚本 | scripts/dead_mans_switch.py |
| 调度 | 0 * * * * (每小时) |
| 告警前缀 | [OBSERVE] |
| 心跳超时 | 30分钟 |
| 观察期 | 3-5天 |
验证方案:
1. 手动停止 alert_channel_health.py 30分钟
2. 观察 dead_mans_switch.py 是否检测到心跳超时
3. 恢复后验证不再告警
切换条件
阶段1 → 阶段2
- [ ] 状态检测准确率 100%
- [ ] 心跳按时更新,无缺失
- [ ] 误报 = 0,漏报 = 0
- [ ] TG成功率 > 99%
阶段2 → 正式运行
- [ ] 手动停心跳能正确检测
- [ ] 无误报
- [ ] 观察期 3-5 天无异常
回滚方案
# 1. 禁用cron
hermes cron disable <cron_id>
# 2. 恢复jobs.json
cp C:/Users/Admin/AppData/Local/hermes/cron/jobs.json.bak_20260913 \
C:/Users/Admin/AppData/Local/hermes/cron/jobs.json
# 3. 删除监控脚本(可选,不影响生产)
rm D:/Hermes/scripts/alert_channel_health.py
rm D:/Hermes/scripts/dead_mans_switch.py
结论
前置验证全部通过,可配置阶段1 cron。
请确认后再执行:
hermes cron add --name "observe_alert_channel_health" \
--schedule "*/15 * * * *" \
--command "cd /d/Hermes && python scripts/alert_channel_health.py" \
--description "[OBSERVE] 告警通道健康监控-观察期"