2026 OpenClaw ログ:JSONL 診断、ローテーション、相関—レンタル ProxyMac Mac mini
香港・日本・韓国・シンガポール・米国の ProxyMac Mac mini で OpenClaw を回すチームは、しばしば 可観測性より先に機能を出荷し、Webhook の再実行が失敗した週末にコンソールのノイズを diff することになります。良いログは「文字を増やす」ことではなく、安定したフィールド名を持つ構造化 JSON Lines、インシデント再生のため最低14日の保持、APFS 上で500ms 未満のディスク fsync 予算、HTTP ゲートウェイのリクエストをデーモン判断に縫い合わせる相関 IDです。本稿では、なぜ自動化向きに JSONL が綺麗なコンソールモードに勝るか、三つのシンク戦略を表で対比し、M4 ディスクスループットに結びついたローテーション計算、受信 Webhook からエージェント追跡へ ID を伝播する方法、stdout/stderr パス・スロットル・クラッシュ時のみコアダンプ無効など6項目の LaunchAgent チェックリスト、そして ヘルスプローブ・GitOps 設定・デプロイのトリアージへのリンクをまとめ、ログを発掘作業ではなく証拠にします。
まず ヘルプセンターのオンボーディングから入り、ログ量が経理を驚かさないよう 料金ティアでストレージを見積もってください。障害時に詳細なプロバイダ追跡を有効にするほど容量は跳ねます。
ログはプロダクト機能であり、事後デバッグの余興ではない
監査人が自律エージェントが顧客データにどうアクセスしたかを問うとき、Terminal.app のスクリーンショットは証拠になりません。trace_id・actor・tool・latency_ms を含む耐久 JSONL なら、SIEM が既にインデックスしている行と結合できます。Apple Silicon ミニではサーマル面のログも重要です。JSON を毎時 80MB 追記し続けると SSD コントローラが忙しくなり、SQLite 裏のエージェント記憶から IOPS を奪う—ローテーションは見た目の話ではありません。
- 金融 APIは追記専用の不変証跡を求めます—JSONL を週次でオブジェクトストレージへコピーする「WORM ライト」として扱います。
- モデルベンダー紛争では、どの API キーがどのエンドポイントを叩いたかをタイムスタンプで示す必要があり、ベンダーダッシュボードだけに頼れません。
- クロスリージョンフェイルオーバー試験は、リクエストごとにリージョンタグがログに載っているときだけ意味を持ちます—プロバイダフェイルオーバー稿を参照してください。
JSONL ローリング診断 vs コンソール vs リモート SIEM
| シンク | 最適用途 | カーディナリティリスク | 運用コスト |
|---|---|---|---|
| APFS 上のローリング JSONL | エージェントのツール追跡、再生 | 中—スキーマ規律が要る | 低—ローカル jq |
| Unified Logging の述語 | macOS サブシステムのクラッシュ | 高—プライバシー編集 | 中—Console の熟練 |
| リモート syslog / HTTP シッパー | 中央 SOC | 高—ネットワーク分断 | 高—鍵と TLS |
セキュリティアンケートに耐えるローテーション数値
日次ローテーションとローカルで圧縮世代14本保持を基本にし、コンプライアンスが90日遡及を求めるなら週次で不変オブジェクトストレージへ送ります。利用可能なら zstd で圧縮し、ローテーション窓の M4 CPU を15%未満に抑えます。ファイル寿命チェックを 合成プローブと組み合わせ、ディスク満杯が launchd が書き込み拒否する前に赤メトリクスになるようにします。
#!/bin/bash
# 例:エージェント起動前の容量ガード
MAX_GB=6
USED=$(du -sg ~/Library/Logs/OpenClaw | awk '{print $1}')
if [ "$USED" -ge "$MAX_GB" ]; then echo "log_quota_exceeded" >&2; exit 3; fi
Webhook 相関:ゲートウェイログをエージェント JSONL に通す
受信 Webhook ガイドに従い TLS を localhost で終端し、着信 X-Request-Id(またはヒットごとの UUID4)を OpenClaw のタスクコンテキストへ伝播します。JSONL ライターは同一 ID で判断 1 行を出し、サポートが nginx 相当・ゲートウェイ・エージェントのファイルを 1 本の grep で辿れます。再試行時はルート ID を変えず接尾辞で連番(-r2)を付けます—課金チームは曖昧な結合を嫌います。
本番を「完了」と呼ぶ前の LaunchAgent ラッパーチェックリスト
- WorkingDirectory は
~/.openclawか文書化された状態ディレクトリを指し、Desktop 同期フォルダではないこと。 - StandardOutPath と StandardErrorPath は
~/Library/Logs/OpenClaw/以下に置き、パーミッション644。 - ThrottleInterval は 10 秒以上で、クラッシュループが LaunchServices を叩き続けるのを防ぐ。
- EnvironmentVariables に
TZ=UTCを入れリージョン横断でログ時刻を揃える。 - KeepAlive true は終了コードを信頼してから。さもないと誤検知がブート嵐を隠す。
- ProcessType の Interactive と Background は、権限稿で文書化された TCC 前提と一致させる。
プローブ・GitOps・トリアージへの接続—内容の複製ではない
JSON のエラー率が跳ねたら、まず 設定 GitOpsに記録された最後の昇格を diff します。ログレベルの typo は最も安いロールバックです。非決定的なら デプロイ復旧へエスカレーションし、添付はローテ済み最新 3 ファイルの tarball に限定しディスク全体は持ち出さない。並行性でログが絡むなら 並列エージェントの安全策に戻り、ワーカーごとにファイル接頭辞を分けてから上流でマージします。
FAQ
JSONL を stdout のみに流してよいか? 開発では可。本番では必ずローテート付きファイルとペアにし、ユーザーがログアウトしても launchd が拾えるようにする。
冗長ログはモデル呼び出しを遅くするか? なり得ます—前後で p95 レイテンシを測り、ときにフル DEBUG より INFO とサンプリング DEBUG の方がよい。
GDPR 消去は? 個人データがどのフィールドに載るかのマップを維持し、テナント無関係のシャードを消さずに JSONL を日付範囲で削除できるようにする。
OpenClaw ログを ProxyMac Mac mini に集約する意味
Apple Silicon M4 は高速な APFS 圧縮、ログシッパー資格情報のネイティブ Keychain 統合、エージェントとログシンクを HK / JP / KR / SG / US の 1 台に共存させるのに十分な持続 IOPS を提供します。レンタルはコンプライアンスが保持期間を一晩で倍にしても CapEx 議論が要らず、この記事を リージョン別料金と併読すると経理も同じページに立てます。許可ダイアログは VNC で人を介在させ、JSONL をコード成果物のようにアーカイブすれば、ログは雑務ではなく競争優位になります。