HowTo · OpenClaw · ゲートウェイ · ログ · Webhook · MeshMac 多ノード

2026年OpenClaw MeshMac 実戦:多ノードゲートウェイのログ切片パス統一、logrotate 閾値の整列、Webhook 失敗要約の合流ブロードキャスト最小再現

2026年4月29日 Meshmac 読了目安 約4分

MeshMac で複数ゲートウェイ Mac を束ねても、ログと Webhook 通知がホスト単位だとインシデントが分断します。本稿はテナント別ログ切片の全台一致、openclaw gateway statuslogsdoctor三点セットlogrotate 閾値の整列、失敗行の重複排除後に一度だけチャットへ流す最小手順です。validate/fail-closed 巡検ストリーミング背圧Monday 多ノード合流と併読。トップヘルプOpenClaw 一覧はログイン不要。

多テナントのパス隔離(切片)

全台で /var/log/openclaw/tenants/{tenant_id}/gateway 等を同一 tenant_idに固定し、YAML/環境ともキーを一致。テナント別グループ・0750。親を world-readable にしないとパス分離でも grep 越しに漏れます。

status/logs/doctor 運用三点セット

status → logs → doctor の順で時刻と設定が噛み合う。status で mesh_node_id と待受・ビルド、logs で Webhook/検証失敗、doctor でログルートの可書込を最後に確認。

最小再現(六手順)

版・ポート・メンテ窓は既存の多ノード手引と揃える。

  1. 切片:全ホストでテナント別ディレクトリと所有権を一致。
  2. status:openclaw gateway status --json | tee gw-status-${MESH_NODE_ID}.json
  3. logs:UTC。gateway logs --since 1hjq または rg で薄く。
  4. doctor:gateway doctor --json。ログルート不可書なら受入停止。
  5. logrotate:全台同一。例 size 100M rotate 14 compress delaycompresscopytruncate は再オープンできるビルドのみ、他は create+reload。
  6. 合流:1時間窓を delivery_id で重複排除し、一行の Markdown で投稿。
/var/log/openclaw/tenants/*/gateway/*.log {
  size 100M
  rotate 14
  missingok
  notifempty
  compress
  delaycompress
  copytruncate
}

MeshMac の価値は、この六手順を全ノード同型で回し、分断調査を短縮できること。

携行メモ

  • 束ね順:status → logs → doctor。
  • 保持:約100MB×14 世代が週次スパイクの目安。重複キー:上流 ID+パス+正規化ステータス。

排障 FAQ

Q. doctor 合格だが一台だけ TLS
gateway status --json の build/環境を diff → LaunchAgent と信頼ストア → 変更後は再起動。

Q. logrotate で証跡欠落
copytruncate を避け create+reload。インシデント中は rotate 増+JSONL 先送り。

Q. grep で他テナントが見える
親のその他読取を締め、chmod 後に doctor。

Q. チャットが二重
単一ワーカで全ノード集約、または合流ダイジェストの五分べき等窓。

次の一歩(公開ページ・ログイン不要)

MeshMac · 多機編排

ゲートウェイをプールとして観測し、インシデントの物語を一台に収束させる

ノード追加時も切片・三点セット・logrotate・合流を同一プレイブックで。プランヘルプトップはログイン不要。

購入・レンタル