步骤4观察期上线前置验证报告

源文件:D:\Hermes\reports\步骤4观察期上线前置验证报告.md · 日期 2026-09-13 · 3KB

步骤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

阶段2 → 正式运行


回滚方案

# 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] 告警通道健康监控-观察期"