AI / 自动化 2026年4月21日

2026 租用 Mac mini 上的 OpenClaw 健康探测、合成可用性与磁盘护栏

ProxyMac 技术团队 2026年4月21日 约 13 分钟阅读

部署在 香港、日本、韩国、新加坡或美国 租用 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 打开端口接受 SYNTLS 配错、应用崩溃nc -vz 127.0.0.1 端口120 秒(便宜)
HTTP 存活200 OK 空体模型鉴权过期curl -fsS --max-time 5 URL60 秒
HTTP 就绪JSON 显示队列深度低于阈值上游大模型故障带 jq 的脚本检查180 秒
业务探测合成对话完整跑通罕见竞态缺陷独立 worker mini15 分钟

穿透 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 之前把日志送到远端。

密钥轮换:若轮换后探测立刻以 HTTP 401 失败,监控侧应按 密钥指南 从钥匙串读取版本化密钥——不要把长期 PAT 写进 plist。

探测变红时的五步应急矩阵

  1. 确认范围:本机与外部探测是否不一致?仅外部失败时,先看 TLS 与 DNS。
  2. 查看 LaunchAgent 标准错误:在 macOS 15 上,log show --predicate 'process == "curl"' --last 5m 往往足够,不必先开冗长网关日志。
  3. 验证依赖:磁盘、inode、模型供应商 429 计数——HTTP 信号表可复用 供应商故障转移指南
  4. 按护栏策略重启一次;若 90 秒内 再次失败,停止循环并改抓 spindump。
  5. 记录影响面:哪些自动化被暂停、香港 / 日本 / 韩国 / 新加坡 / 美国 哪些区域仍健康,并把产物链接到变更工单。

常见问题

探测应以 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 而不是含糊的云账单。

为探测脚本预留算力余量

香港 / 日本 / 韩国 / 新加坡 / 美国 Mac mini,承载 OpenClaw 与监控脚本