二〇二六年 OpenClaw v2026.5.x × Healthchecks.io:レンタル Mac Mini 七×二十四 夜間チェーン ping・Grace・fail・ログ相関 手順
独立開発向け。レンタル Mac Mini で OpenClaw v2026.5.x 夜間の到達は Healthchecks の curl ping が軽いです。UUID URL・Grace・周期 を UI で固定し、ログ相関 と 退避 を表と七手順で整理します。深部例外は Sentry Cron 稿、JSON キーは ログ稿。
- チェーン途中の停止がログだけでは追いづらい。
- 補助通知の連打で夜間ノイズが増える。
- メンテと障害の見分けが曖昧になりやすい。
Sentry と Healthchecks(短表)
| 観点 | Sentry Cron | Healthchecks ping |
|---|---|---|
| 主目的 | 例外文脈 | HTTP 到達 |
| 入力 | JSON 心拍 | GET のみ |
| 失敗 | error | fail スラッグ |
| 夜間 | Issue 統合 | Grace 抑制 |
運用では Sentry にスタックとリリース文脈を残し、Healthchecks には「外向きが生きているか」と「遅れても良い壁時計幅」を載せる二層が扱いやすいです。同一ジョブに二重の心拍を載せるときはキー名を衝突させない README を残してください。
アカウントと ping URL
開始 /start、成功はベースへ curl、trap から /fail。fail slug はベースに続くパスです。UUID は 0600 か launchd のみ、Git に書かない。
curl -fsS --max-time 12 "$HC_BASE/start"
curl -fsS --max-time 12 "$HC_BASE"
curl -fsS --max-time 12 "$HC_BASE/fail" || true
チェーン夜間窓と Grace
チェーンは段ごとに別 UUID か境界で /start 再送。Grace time は分単位で遅延許容。周期 と launchd を UTC で一致、OpenClaw v2026.5.x 夜間窓と矛盾させない。メンテ中は ping 停止(扇出稿)。
ゲートウェイログ相関
ゲートウェイ JSON と stdout に batch_id hc_slug window_utc phase を載せ、タイムラインと grep で突合。DNS 疑いは失敗秒とログ秒を比較。
失敗の段階化
一次は Healthchecks 画面。補助は指数退避+ジッタ、同一キー 六十〜百二十秒 抑制で連打を防ぐ。守護稿 の外向き方針と揃える。
七手順
- Healthchecks でチェックを作り周期と Grace time をメモし、UUID 付き URL を環境ファイルへ格納する。
- launchd の StartCalendarInterval を UTC で書き、夜間だけ親 plist からチェーンを起動する。
- 親シェルで start→各段→成功 curl を関数化し、trap と errexit から必ず fail slug を叩く。
- OpenClaw v2026.5.x ゲートウェイ設定へ batch_id と hc_slug フィールドを追加する。
- MAINTENANCE 終了時刻を UTC で読み、窓内は ping を送らないラッパーを挟む。
- テーブルトップで意図的遅延と DNS 失敗を演習し Grace が足りるか確認する。
- README に URL ローテ手順と補助通知の秒上限を書く。
出発点
- curl に max-time、失敗は fail slug へ一本化する。
- Grace はチェック周期と実行 p95 の積で決め週次で見直す。
- 補助通知は六十秒台の抑制に指数退避を載せ夜間ノイズを抑える。
レンタル端末では権限と plist の所有者を揃え、URL ファイルの権限逸脱を定期 grep すると安心です。
よくある質問
- 成功 ping だけで足りるか。
- 到達のみ。意味はゲートウェイと stdout、深部は Sentry Cron。
- start を送り忘れたら。
- Grace 長いと遅い。親で先頭送りを関数化。
- 周期と launchd がずれたら。
- 偽陽性増。plist と HC を UTC 固定。