2026 租用 Mac mini 上的 OpenClaw 健康探测、合成可用性与磁盘护栏
部署在 香港、日本、韩国、新加坡或美国 租用 ProxyMac Mac mini 上的 OpenClaw 网关,常常表面「健康」却在悄悄失败:HTTP 监听器仍绑定,但模型路由卡住、磁盘已用 92%,或 LaunchAgent 重启过快导致日志来不及刷盘。这份 2026 手册叠加 分层健康探测——由 LaunchAgent 调度的快速本机 curl、来自局域网外的较慢 合成可用性 检查,以及针对 磁盘与统一日志 的阈值护栏——并把失败事件接回 Launchctl 恢复 与 部署排障 中的结构化步骤。你将获得一张 五列信号矩阵(表格形态不同于限流专文)、可复制的 curl 探测行、关键时序参数(60 秒 周期、5 秒 客户端超时、12 GB 可用空间下限),以及 五步应急矩阵,让值班同学不必猜测究竟是 Cloudflare、TLS,还是网关进程最先出问题。
建议同时查阅 帮助中心 的自动化说明,并在把更多智能体堆到同一台 mini 上之前,通过 定价页 预留容量。
落地时建议把探测结果与发布节奏绑定:每次升级 OpenClaw 或替换模型供应商密钥后,先观察 15 分钟 内的探测成功率与 p95 延迟,再扩大流量。对于需要向管理层证明「不是网络抽风」的团队,可以把本机探测日志按分钟聚合,和外部合成监控的时间线对齐,这样当公网 TLS 证书在午夜续期失败时,你能用两条曲线清楚区分「进程还活着」与「对外握手已坏」,避免把误报当成基础设施级事故。
为何仅有「进程在跑」远远不够
Activity Monitor 可能仍显示绿色,而工作线程已在 futex 上长眠。外部供应商往往只能证明 ICMP 到了主机——却无法证明你的 OpenClaw HTTP 表面返回了带 JSON 的 HTTP 200,并证明模型凭据已加载。探测应按顺序回答三件事:TCP 端口是否在收? 应用逻辑是否报告就绪? 磁盘、密钥、上游 API 等依赖是否仍在 SLA 内? 省略任何一层,你都会在每个周五重复打开同一条二级事故单。
- LaunchAgent 可观测性:失败探测递增计数器,可通过 syslog 送入 SIEM。
- 金丝雀载荷:一段 512 字节 的 JSON 回显能证明 TLS 终止与 JSON 解析,而不仅是 TCP。
- 运维理智:在 连续 3 次 失败、跨度 2 分钟 后再自动重启,且上一次干净退出早于 10 分钟——避免 fork 炸弹。
信号类型对比(存活、就绪与业务)
| 信号 | 通过时代表 | 仍可能出什么问题 | 典型工具 | 建议周期 |
|---|---|---|---|---|
| TCP 打开 | 端口接受 SYN | TLS 配错、应用崩溃 | nc -vz 127.0.0.1 端口 | 每 120 秒(便宜) |
| HTTP 存活 | 200 OK 空体 | 模型鉴权过期 | curl -fsS --max-time 5 URL | 每 60 秒 |
| HTTP 就绪 | JSON 显示队列深度低于阈值 | 上游大模型故障 | 带 jq 的脚本检查 | 每 180 秒 |
| 业务探测 | 合成对话完整跑通 | 罕见竞态缺陷 | 独立 worker mini | 每 15 分钟 |
穿透 TLS 前端仍可存活的本机探测模式
把管理用健康路由绑在 127.0.0.1 的高端口上,与 Webhook 加固 描述的公网 webhook 套接字分离。LaunchAgent 以与网关相同的用户上下文运行,以便钥匙串项保持解锁。使用 curl --fail --silent --show-error --max-time 5,避免挂死后端把 launchd 永远卡住。
curl -fsS --max-time 5 http://127.0.0.1:18080/healthz || logger -t openclaw-probe "FAIL"
LaunchAgent 定时(StartInterval 与 ThrottleInterval)
Apple 以秒为单位文档化 StartInterval;若探测脚本还会触发修复动作,请把 ThrottleInterval 至少设为 30——否则你会比网关排空套接字更快地敲击 launchctl kickstart。成功路径只在 Debug 级别记录;失败应输出单行,包含 Unix 时间戳、退出码与 curl 耗时。
在不暴露管理路由的前提下做外部合成检查
选择支持 双向 TLS 客户端证书 或签名请求头的外部监控;不要把未鉴权的健康 JSON 直接摊在公网。东京到 日本 mini 的 HTTPS 探测 p95 延迟宜低于 80ms——若本机探测仍绿而合成检查变差,优先怀疑上游 WAF 或证书到期,而不是 OpenClaw 本体。若你为公网健康路由单独配置了速率限制,请把监控出口 IP 列入白名单,否则会出现「间歇性全红」的假阳性。
磁盘与统一日志护栏
流式保存对话转写的 OpenClaw 工作负载往往比团队预期更快地填满 /var/db/diagnostics。当可用字节低于 12 GB 时告警(不要只看百分比——APFS 快照会扭曲百分比)。同时跟踪增长速度:单租户 mini 若每天增长超过 3 GB,多半意味着事故后忘了关调试日志。用类似 newsyslog 的上限轮转应用日志,或在 gzip 抢 CPU 之前把日志送到远端。
探测变红时的五步应急矩阵
- 确认范围:本机与外部探测是否不一致?仅外部失败时,先看 TLS 与 DNS。
- 查看 LaunchAgent 标准错误:在 macOS 15 上,
log show --predicate 'process == "curl"' --last 5m往往足够,不必先开冗长网关日志。 - 验证依赖:磁盘、inode、模型供应商 429 计数——HTTP 信号表可复用 供应商故障转移指南。
- 按护栏策略重启一次;若 90 秒内 再次失败,停止循环并改抓 spindump。
- 记录影响面:哪些自动化被暂停、香港 / 日本 / 韩国 / 新加坡 / 美国 哪些区域仍健康,并把产物链接到变更工单。
常见问题
探测应以 root 运行吗?更倾向与网关相同的非特权用户,以便文件权限与生产一致。
能复用 MCP 健康端点吗?通常可以——见 MCP 搭建——但请把 OpenClaw 核心健康与 MCP 分离,避免局部 MCP 故障掩盖网关死亡。
多智能体并发呢?并发飙升时,就绪探测可能抖动——先收紧队列阈值,再考虑静音告警。
为何 ProxyMac Mac mini 适合硬化 OpenClaw 探测
把探测放在网关旁跑的 Apple Silicon M4 上,且位于 香港 / 日本 / 韩国 / 新加坡 / 美国,能为 curl+jq 脚本提供可预测的 CPU,原生集成 launchd,并在事故期间容纳更啰嗦的日志——而不必与 Linux cgroup 惊喜搏斗。按模型 API 区域选择最近的 mini(见 定价),按 GitOps 指南 把探测 plist 与 OpenClaw 配置放在同一仓库,试点结束即回收机器,让财务看到清晰 SKU 而不是含糊的云账单。