2026年 レンタル Mac mini 上の OpenClaw:ヘルスプローブ・合成稼働監視・ディスクガードレール
OpenClaw ゲートウェイを ProxyMac の Mac mini(HK / JP / KR / SG / US)に載せたとき、「一見ヘルシー」でも静かに死にます。HTTP リスナは生きていてもモデル経路は固まり、ディスクは 92% 占有、LaunchAgent が再起動を繰り返してログがフラッシュされない、といったパターンです。本稿の 2026 年版プレイブックは 段階的ヘルスプローブ を足します。LaunchAgent が回す高速な localhost curl、LAN の外からの遅い 合成稼働 チェック、ディスクと Unified Logging のガードレールです。失敗時は Launchctl リカバリ の再起動型と、デプロイ障害の構造化切り分け に接続します。レート制限稿とは別形状の 五列シグナル表、そのまま貼れる curl 一行、周期 60 秒・クライアント 5 秒・空き容量 12 GB といった数値、そして当番が Cloudflare・TLS・プロセスのどれが先に壊れたか推測をやめるための 五段階インシデント表 をまとめます。
自動化メモは ヘルプセンター と併読し、エージェントを積み増す前に 料金ページ で余裕を確保してください。
「プロセスが動いている」だけでは足りない理由
Activity Monitor が緑でもワーカースレッドは futex で眠ったままです。外部ベンダーの ICMP はホストに届いた事実しか語らず、OpenClaw の HTTP 面が HTTP/200 で返す JSON が「モデル資格情報が読み込めた」ことを証明しません。プローブは順に三問へ答えます。TCP は受け付けているか。 アプリ論理は ready を返すか。 ディスク・秘密・上流 API は SLA 内か。 どれかを落とすたびに金曜夜の Sev2 を繰り返します。
- LaunchAgent 可視性: 失敗回数をカウンタし、syslog 経由で SIEM に送れます。
- カナリア payload: 512 バイト の JSON echo は TLS 終端と JSON パースまで含み、TCP 疎通だけでは拾えません。
- 運用者の精神衛生: 連続 3 回失敗が 2 分以内に出たら自動再起動するのは、最後の正常停止から 10 分超経過している場合に限定。fork 爆弾を避けます。
信号タイプの比較(ライブネス・レディネス・ビジネス)
| 信号 | 何が通ると合格か | それでも壊れるもの | 典型ツール | 推奨周期 |
|---|---|---|---|---|
| TCP オープン | ポート 443 が SYN を受ける | TLS 誤設定、アプリ panic | nc -vz 127.0.0.1 PORT | 120 秒ごと(安価) |
| HTTP ライブネス | 200 OK で本文空でも可 | モデル認証期限切れ | curl -fsS --max-time 5 URL | 60 秒 |
| HTTP レディネス | JSON がキュー深さ閾値未満を報告 | 上流 LLM 障害 | jq を伴うスクリプト | 180 秒 |
| ビジネスプローブ | 合成会話が完走 | 稀な競合バグ | 別ワーカー mini | 15 分 |
TLS フロントを跨いでも残る localhost プローブ型
管理用ヘルスルートは公開 webhook ソケットとは別に、高番ポートの 127.0.0.1 へ束ねます。詳細は Webhook ハードニング を参照。LaunchAgent はゲートウェイと同一ユーザ文脈で動かし、Keychain をアンロックしたままにします。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 に落とし、失敗は epoch・終了コード・curl 時間を 1 行に集約します。
管理ルートを晒さずに行う外部合成チェック
相互 TLS クライアント証明書か署名付きヘッダを扱える外部監視を選び、認証なしのヘルス JSON をインターネットに垂れ流さないでください。東京から JP mini への HTTPS 合成は p95 80ms 未満に収まりやすい典型です。合成だけ劣化し localhost は成功なら、上流 WAF か証明書期限を疑い、OpenClaw 本体の前に切り分けます。
ディスクと Unified Logging のガードレール
トランスクリプトを垂れ流す OpenClaw 負荷は /var/db/diagnostics を想像以上に膨らませます。空きバイトが 12 GB を下回ったらアラート(パーセントではなく絶対値。APFS スナップショットが割合を歪めます)。伸び率は 1 mini あたり 1 日 3 GB を超えると、インシデント後にデバッグログを開けっ放しにした疑いが濃いです。newsyslog 型の上限か、gzip が推論を奪う前のリモート退避で回します。
プローブが赤に反転したときの五段階表
- 範囲の確定: localhost と外部で食い違うか。外部だけなら TLS と DNS から。
- LaunchAgent の stderr: macOS 15 では
log show --predicate 'process == "curl"' --last 5mが多くの失敗を拾い、ゲートウェイ verbose を増やさず済みます。 - 依存の検証: ディスク、inode、モデルプロバイダの 429 カウンタ。フェイルオーバー稿 の HTTP 信号表を再利用します。
- 一度だけ再起動: ガード付き kickstart。90 秒以内に再失敗ならループを止め spindump を取得します。
- 爆発半径の記録: どの自動化を止めたか、HK / JP / KR / SG / US のどこが無傷か、変更チケットへ成果物をリンクします。
よくある質問
プローブは root で走らせるべきか。 ゲートウェイと同じ非特権ユーザが望ましく、ファイル権限が本番と一致します。
MCP のヘルスを流用できるか。 多くの場合 yes ですが MCP セットアップ 参照。OpenClaw コアの死活は分離し、部分 MCP 障害がゲートウェイ死亡を隠さないようにします。
マルチエージェント同時実行は。 並列が跳ねるとレディネスがフラップしがちです。黙る前にキュー閾値を締めます。
OpenClaw のプローブを ProxyMac Mac mini に載せる意味
ゲートウェイ横の Apple Silicon M4 上で走らせると、curl と jq に決定的な CPU を割り当てられ、launchd とネイティブ統合し、インシデント中の冗長ログを吸える単一テナントディスクも確保できます。Linux cgroup の驚きに振り回されにくいのも利点です。モデル API リージョンに最寄りの mini を 料金 から選び、OpenClaw 設定と同じ Git に plist を置く運用は GitOps 稿 に沿わせ、パイロット終了後に機械を返却して SKU を財務に見せ切ってください。