多テナントのパス隔離(切片)
全台で /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 でログルートの可書込を最後に確認。
最小再現(六手順)
版・ポート・メンテ窓は既存の多ノード手引と揃える。
- 切片:全ホストでテナント別ディレクトリと所有権を一致。
- status:
openclaw gateway status --json | tee gw-status-${MESH_NODE_ID}.json - logs:UTC。
gateway logs --since 1hをjqまたはrgで薄く。 - doctor:
gateway doctor --json。ログルート不可書なら受入停止。 - logrotate:全台同一。例
size 100Mrotate 14compressdelaycompress。copytruncateは再オープンできるビルドのみ、他はcreate+reload。 - 合流: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 合格だが一台だけ TLSgateway status --json の build/環境を diff → LaunchAgent と信頼ストア → 変更後は再起動。
Q. logrotate で証跡欠落copytruncate を避け create+reload。インシデント中は rotate 増+JSONL 先送り。
Q. grep で他テナントが見える
親のその他読取を締め、chmod 後に doctor。
Q. チャットが二重
単一ワーカで全ノード集約、または合流ダイジェストの五分べき等窓。
次の一歩(公開ページ・ログイン不要)
購入・レンタル、ヘルプ、ブログ索引、OpenClaw 一覧。アカウント不要。