2026 OpenClaw 守护集成实战:
租用 Mac Mini 健康检查与异常 Webhook 告警可复现步骤
2026年3月24日
RunMini 技术团队
阅读时间:约 8 分钟
在租用 Mac Mini上跑 OpenClaw,最怕进程掉线却无人知晓。本文给安装启动、launchd 守护思路、健康探针、Webhook 告警 JSON 示例与退出码排查表;保活与定时可参考站内 cron 与看门狗、Ollama 协同保活。下单可走 免登录购买页。🔔💻
① 三类典型痛点
- SSH 断会话即停:仅交互式启动,注销后子进程被 SIGHUP 带走,OpenClaw 静默退出。
- 无观测:端口活着但业务假死,没有探针与日志轮转,问题发现滞后数小时。
- 告警不可达:只写本地日志,没有 Webhook,手机端收不到「已恢复/仍失败」状态。
② 守护方式对照(租用节点场景)
远程 Mac 上优先launchd做用户级常驻;需要「每分钟踢一脚」时可叠加 cron 看门狗。下表帮你一眼选型。📊
| 方式 | 适用 | 注意 |
|---|---|---|
| launchd LaunchAgent | 开机自启、崩溃自动拉起、标准日志 | plist 路径与 Label 唯一;改 plist 须 unload/load |
| cron + 脚本 | 周期探针、补拉进程 | 环境变量与 PATH 与交互 shell 不一致,需写绝对路径 |
| 前台 nohup / tmux | 临时调试、短期验证 | 机器重启或会话结束易丢,不适合 7×24 |
③ 可复现落地步骤(≥5 步)
- 安装与一次性验证:按官方文档安装 Node 或 Docker 版 OpenClaw,执行
openclaw doctor,记录本机监听地址与健康 URL(常见为127.0.0.1:端口/health,以实际为准)。 - 手动启动通过再落盘:用与 plist 相同的
ProgramArguments前台跑通,确认日志目录可写。 - launchd 思路:在
~/Library/LaunchAgents/放置com.yourname.openclaw.plist,开启RunAtLoad与KeepAlive,StandardOutPath/StandardErrorPath指向滚动或按日切分路径;执行launchctl load。 - 健康检查探针:另建 shell 脚本:先
pgrep -f openclaw(或你的进程名片断),再curl -fsS --max-time 3 健康URL;任一步失败则退出码 1 并进入告警分支。 - 异常 Webhook:探针失败时
curl -X POST推送 JSON(见下节);成功则可选写「恢复」事件,避免重复轰炸可加本地锁文件或退避分钟数。 - 联调与回滚:
launchctl kickstart -k gui/$(id -u)/com.yourname.openclaw验证重启;异常时unload改 plist 再load。
④ Webhook 告警字段示例(按需映射到飞书/企微/Slack)
将下列字段作为自定义机器人或中间网关的统一入参,便于后续转卡片消息。密钥勿入库,使用环境变量注入。
{
"event": "openclaw.health_fail",
"severity": "critical",
"host": "rented-mac-mini-01",
"timestamp": "2026-03-24T08:00:00Z",
"check": "http_probe",
"detail": "curl exit 22 HTTP 502",
"exit_code": 22,
"suggested_action": "kickstart launchd + tail stderr log"
}
⑤ 常见退出码排查表(探针与 shell)
| 退出码 | 常见含义 | 建议动作 |
|---|---|---|
| 0 | 成功 | 无需告警;可记 last_ok 时间戳 |
| 1 | 通用失败 / 自定义探针失败 | 看脚本里哪条命令最先非零;加 set -x 重跑 |
| 2 | Shell 内置误用(bash) | 检查重定向、括号配对与 shebang |
| 6 | curl 无法解析主机 | DNS/离线;在租用机上 ping 与路由 |
| 7 | curl 连接被拒 | 进程未监听或端口错;对照 plist 参数 |
| 22 | curl -f 遇 HTTP ≥400 | 应用假死或反向代理错;读 OpenClaw 日志 |
| 126 | 不可执行 | chmod +x 或解释器路径错误 |
| 127 | 命令未找到 | cron/launchd 的 PATH 过窄;改绝对路径 |
| 130 | 128+2 SIGINT | 人工中断;区分于崩溃 |
| 137 | 128+9 SIGKILL | OOM 或手动强杀;查系统日志与内存 |
⑥ 可引用信息(阈值与约定)
- 探针超时:HTTP 建议 2~5 秒;连续失败 2 次再发 Webhook,降低抖动。
- 日志:launchd 标准输出与错误分文件,单文件超百 MB 应 logrotate 或按日切分。
- 租用机:保持与 OpenClaw 专栏 其他文一致的 SSH 保活与防休眠策略,避免「进程在、机器睡」的假健康。