Install
openclaw skills install openclaw-auto-recoveryOpenClaw 基础设施心跳监控与自动恢复。用于:部署/卸载心跳守护进程、配置主机监控(Gateway/磁盘/内存/CPU/进程)、设置飞书告警、自动重启故障 Gateway。当用户提到"心跳监控"、"heartbeat daemon"、"服务器告警"、"自动重启"、"健康检查"、"auto recovery"...
openclaw skills install openclaw-auto-recoveryOpenClaw 基础设施心跳守护进程,负责:
bash ~/.openclaw/extensions/infra-heartbeat/scripts/install-heartbeat.sh
交互式安装向导会要求填写必填配置(飞书 App ID/Secret、Gateway Token、通知目标)。
# 查看状态
systemctl --user status heartbeat-daemon
# 查看日志
tail -f ~/.openclaw/workspace-infra/heartbeat.log
# 重启服务
systemctl --user restart heartbeat-daemon
# 卸载
bash ~/.openclaw/extensions/infra-heartbeat/scripts/uninstall-heartbeat.sh
配置文件:~/.config/infra-heartbeat/config.env
详细配置参数见 references/configure.md。
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
FEISHU_APP_ID | ✅ | — | 飞书应用 App ID |
FEISHU_APP_SECRET | ✅ | — | 飞书应用 App Secret |
GATEWAY_TOKEN | ✅ | — | Gateway 访问令牌 |
TARGET_OPEN_ID | ✅ | — | 通知目标 open_id |
CHECK_INTERVAL | — | 180s | 检测间隔 |
DISK_THRESHOLD | — | 80% | 磁盘告警阈值 |
MEM_THRESHOLD | — | 85% | 内存告警阈值 |
CPU_THRESHOLD | — | 60% | CPU 告警阈值 |
systemctl --user restart heartbeat-daemon
infra-heartbeat/ skill 目录复制到新机器 ~/.openclaw/extensions/bash install-heartbeat.shGATEWAY_TOKEN、TARGET_OPEN_ID 等参数无需修改脚本,配置全部外部化。
锚点机制:
- 每次检测到 Gateway UP → 若配置 MD5 有变化 → 保存 last-good.1/.2/.3(最多3份,轮转)
- last-good.N 之间 MD5 均不同,确保每份都是真实变更过的配置
Gateway DOWN
├─ 连续失败 < 3 次
│ ├─ 备份当前配置(仅供历史记录,不用于回滚)
│ ├─ 校验 JSON → INVALID → rollback_one(仅回滚,不重启)
│ ├─ restart → sleep 60 → check
│ │ ├─ UP → 成功,清零计数,下次 UP 时更新 last-good
│ │ └─ DOWN → rollback_config() 依次尝试:
│ │ last-good.1 → restart → check
│ │ ↓ DOWN last-good.2 → restart → check
│ │ ↓ DOWN last-good.3 → restart → check
│ │ ↓ DOWN → 失败计数+1,告警"需人工介入"
│ └─ 连续 ≥ 3 次 → 停止自动重启
│
└─ 连续失败 ≥ 3 次 → 停止自动重启 → 发"需人工介入"通知
daily-health-check:每天一次,纯告警,不自动恢复两者互为补充,生产环境建议同时运行。
# Gateway Token
cat ~/.openclaw/openclaw.json | jq -r '.gateway.auth.secret'
# 查看当前运行的配置
systemctl --user show heartbeat-daemon --property=ExecStart