OpenClaw を clustervps の複数ノードへ載せ替えるとき、設定の統合だけでなくログの多路切片、落盤クォータ、Webhook 失敗の digest ブロードキャストを同じ runbook で揃えないと再現性が崩れます。本文は HowTo 手順と、ローテ・inode中心の排障チェックです。マージ境界は フラグメントマージ稿、網関と署名は マルチ AZ 網関稿 と役割分担してください。
典型痛点(三つに圧縮)
1)単一路ログへ全ノードが追記し、容量より先に inode が枯れる。2)Webhook の失敗が各ホストに散らばり、運用が追跡不能になる。3)トークン輪換と切片の境界がずれ、digest が二重配信される。
ログ切片と通知の意思決定マトリクス
| 方式 | 長所 | 注意(クォータ) |
|---|---|---|
| ノードローカル JSONL+日次ローテ | 共有ボリュームのロック争いが少ない | 世代本数と総容量をノード合算で上限化。inode はファイル数で見る。 |
| stdout/audit の多路 | 障害切り分けが速い | ストリームごとにローテ周期を分け、同時 open 数を抑える。 |
| Webhook digest(五分窓) | 失敗要約を一チャネルへ集約 | idempotency キーと世代掃除順を固定。429 時は窓を伸ばす。 |
テナント分割と doctor の合成は テナント分割・doctor 稿 を正とし、本稿はログと通知に限定します。
最小再現手順(HowTo)
- パス約定: 状態ディレクトリを
$HOSTNAME/$TENANT配下に固定し、共有 NFS へ生 JSONL を直書きしない。 - マージ: テンプレート優先順とロックを決め、カナリア比率は既存 Runbook と同じブックマークで戻す。
- 多路ログ: 応用ログと監査ログを別ファイルに分け、ローテは「最大七世代・合算サイズ上限」を Runbook に数値で残す。
- digest: Webhook の HTTP ステータスを五分窓で集計し、共用チャットへブロードキャスト。失敗閾値は環境ごとに一つだけ持つ。
- 合成 readiness: 各ノードの
/healthzと doctor を合算し、LB のみ許可トラフィックを段階的に増やす。 - 戻し順: LB 比率→ログ切片→launchd/plist→トークン世代の逆順でロールバックする。
排障チェックリスト(ローテ・ディスク・inode)
- ローテ: digest が二重なら窓境界と掃除順を確認。古い世代を先に閉じてから新ファイルを開く。
- ディスク:
df -hが緑でも書き込みエラーならdf -iと小ファイル数を併記。八割超で切片を減らすかオブジェクトストレージへ逃がす。 - Webhook: 五xx 集中時は一時的に単路へ戻し、網関タイムアウトと署名鍵の世代を突き合わせる。
5分
digest 集計窓の既定目安。
7
ログ世代の上限例(Runbook 化)。
80%
inode 使用率の黄信号ライン目安。
免責。 OpenClaw のフラグ名や既定値はリリースで変わり得ます。本稿の数値は SLA ではなく、ステージングで一度 dry-run してから本番クォータへ写してください。
クラスタ用 Mac ノード
同型 Mac mini M4 でログ切片と監視余白を先に確保
公開の 料金ページ で帯域とディスク段階を見積もり、購入・申し込みページ からノードを足してローテ余白と inode ヘッドルームを確保できます。