負荷の高い OpenClaw ゲートウェイは API キー、Slack ユーザー ID、生の LLM 会話を平文ログに書き込みます。2026 年の答えは「ログを止める」ことではなく、構造化シンク、積極的な編集(レダクション)、そして macOS ネイティブのローテーションです。レンタルした Mac mini のディスクが深夜に満杯にならないようにします。本稿ではパスを棚卸し、保持方針を決め、newsyslog または logrotate を設定し、検収を openclaw doctor に揃えます。アップグレードと設定は ゲートウェイ診断、環境プロファイルの衛生、アップグレード移行チェックリストも参照してください。
ログの宛先を棚卸し
次の三つから始めます。LaunchAgent の StandardOutPath/StandardErrorPath、openclaw.json で宣言されたファイルシンク、インシデント中の一時リダイレクトです。担当者、保持レベル、不変コピーが要るかを表にまとめます。ステージングでデバッグを常時オンにすると週 1~4 GB になり得ます。本番は INFO 既定で週 400~800 MB 程度の増分が目安です。
リモート集約へ転送する場合は出口トラフィックに注意してください。LLM 密集トレースは zstd で JSON 行を圧縮すると、プレーンテキストより約 55% 小さくなることが多いです。
編集パターン
| データ種別 | パターン | 処置 |
|---|---|---|
| Bearer トークン | Authorization: Bearer … | ディスク書き込み前に [REDACTED_BEARER] に置換。 |
| メール | RFC5322 形式 | チケット用途ではハッシュまたはローカル部をマスク。 |
| 電話 | E.164 | 監査モードでは国番号のみ残すことも。 |
| ツール出力 | ファイルシステムパス | ホームディレクトリ接頭辞を除きフィンガープリントリスクを下げる。 |
編集を有効にしたら10 件の合成プロンプトを流し、ログを diff します。漏洩は verbose ツールトレースの先頭 200 行に多いです。
macOS でのローテート
macOS には newsyslog が同梱されています。多くのチームは Linux プレイブックに合わせて Homebrew の GNU logrotate も使います。実務的な方針:100 MB または日次のどちらか早い方でローテート;ディスク上は 14 世代を保持し、圧縮アーカイブは週次でオブジェクトストレージへアップロードします。
# newsyslog.conf の例(パスは置き換え)
/path/to/openclaw.log 644 7 100 * G
変更後は sudo newsyslog -v を実行します。カスタム pre-rotate フックが必要な場合だけ LaunchDaemon を足します。大半のゲートウェイには不要です。
ディスク予算とアラート
- APFS の空きが 20% を下回ったら警告、15% では人によるオンコールに格上げ。
- バックアップからノイズのキャッシュ(
~/Library/Caches)は除外してよいが、増加は監視する。ブラウザ自動化のプロファイルが 30 GB まで膨らんだ事例があります。 - TRACE を有効にする前にスナップショットを取る。一晩で 5 GB を超えたらすぐレベルを戻す。
Apple Silicon ではディスク圧迫が統合メモリの圧縮を遅くし、LLM レイテンシが跳ねて見えることがあります。I/O エラーほど明白ではありません。
運用リズム
- 毎週:
ls -lhでローテートされたファイル数を確認。 - 毎月:ランダムに 500 行をサンプルし、
rgでトークンらしき文字列を検索。 - 四半期:サンドボックスの Mac mini でアーカイブを復元し、編集テストを再実行。
バージョンアップ時は 移行チェックリスト と突き合わせ、新バージョンが管理されていない二つ目のログパスを黙って増やさないようにします。
リモート送信のセキュリティ
Splunk や OpenSearch へ送る場合は TLS と証明ピンを使い、ステージングと本番の API キーを分離します。ステージングの HEC トークンを誤って本番インデックスに書いた事例では、72 時間 のコンプライアンスクリーニングが必要になりました。
構造化 JSON はパースしやすい一方、key=value より概ね 20% 体積が増えます。集約側が対応していれば転送で gzip を有効にしてください。
Mac 上で Docker で OpenClaw を動かす場合、ログボリュームは delegated 一貫性にし、コンテナとホストの両方でローテートしないと、複数の tail がファイル記述子を奪い合います。
障害パターン
一次障害ではログレベルを DEBUG に上げがちです。文書では 4 時間 以内に戻し、担当者を指名してください。DEBUG ウィンドウでは doctor プローブ と併用し、チャネル健全性とログを同じ添付にしてポストモーテムに回します。
法務保全:弁護士がログ凍結を求めたらローテート削除を即停止しボリュームスナップショットを取る。ログディレクトリだけコピーすると拡張属性を落とすことがあります。
パフォーマンス:繁忙ゲートウェイでは同期フラッシュがツール呼び出しごとに 15~40 ms 足すことがあります。ランタイムが許せばバッチフラッシュも、致命エラーは遅延させないでください。
マルチチャネルでは各行に相関 ID を付けます。32 ビットの十六進追跡 ID であれば通常の日次トラフィックに十分です。オンコールはその ID で LaunchAgent の stderr とアプリログをつなげてからベンダチケットを切ってください。
タイムゾーン:ファイルは UTC で保存し、ビューアだけローカル表示にします。夏時間の切り替えでオフセットを混ぜると SLA レポートが 1 時間二重計上することがあります。ISO-8601 で明示的に Z を付けて統一してください。
権限:ログディレクトリはゲートウェイユーザーと読み取り専用 SIEM アカウントのみ。マルチテナント Mac mini で world readable の chmod 644 は避けます。macOS ACL で監査用読み取りを付与すれば sudo は不要です。chmod +a のレシピを Runbook に書きます。
四半期ごとに圧縮アーカイブのリストアをテストしてください。gzip パイプのリダイレクト誤りで 2 GB 超のファイルが災害訓練まで露見したチームがありました。レンタル mini で再現するほうが安上がりです。
容量の粗い見積もり:Slack メッセージ 1 件あたり 3~6 行のログ、ワークスペースが 1 日 12000 件なら INFO で約 25 MB/日、DEBUG で約 180 MB/日。保持日数からクラウドディスク容量を逆算します。
保存時暗号化:FileVault は転送 TLS の代替になりません。第三者レビューでは age や GPG でコピーを暗号化し、鍵は別保管します。
可観測性の重複:同一ペイロードをローカルと stdout の両方に書かないか、取り込み側で重複排除してください。二重書きでディスクが 2.1 倍になった例があります。
オンコール体験:障害中は rg --line-buffered で ERROR を絞ります。高遅延回線では数 GB ファイルに素の tail -f は慎重に。
子プロセス:OpenClaw がブラウザや Node ツールを外部呼び出しするとき、子がファイル記述子を継承します。ラッパースクリプトで余分な FD を閉じないと、ローテート後も空き容量が解放されず、満盤が 36 時間隠れた事例があります。
ドキュメント負債:新しい統合(Ollama、カスタム MCP)ごとに内部 wiki にログ節を足す。デフォルトパス、編集ルール、grep 例まで。新人が 90 分で触れるようにします。
ローテート閾値の変更は changelog に残し、監査がチケットと突き合わせます。
よくある質問
LLM プロンプト全文を記録すべき?
ポリシーが許す場合のみ。安全側はプロンプト ID をハッシュし、本文は制限バケットに短い TTL で置く方法です。
Time Machine をログアーカイブに使える?
明確な保持方針の代替にはなりません。規制業界ではオフボックス不変ストレージが必要です。
ディスク満杯時にログを直削除していい?
まず最古のローテート済みファイルから。ゲートウェイが開いたままのアクティブログに rm -rf はしないでください。
Mac mini は Apple Silicon で予測可能な APFS 性能、ゲートウェイ常時稼働の低消費電力、ログスパイクを吸収する余裕を兼ね備えます。MacHTML は SSH/VNC 付きのベアメタルレンタルで、ローテートの強制、編集の検証、高リスク DEBUG 前のスナップショットを行えます。スリープで webhook を落とすノートより、弾力ある Mac 容量のほうが運用に合います。
OpenClaw を健全なログ方針で運ぶ
Apple Silicon Mac mini をレンタルしてゲートウェイのステージング、ディスクスナップショット、ログ演習を行い、自前ハード不要で済ませましょう。