Mac のコンソール:ログを一度の VPN 試行に絞り込む
接続を一度だけ時刻で記録し、所有プロセスで絞り込み、最後ではなく最初のエラーを読みます。実際に確認した抜粋だけを書き出します。
VPN が失敗すると、誰かがコンソールを見ろと言い、あなたは毎秒何千行も流れるウィンドウを開きます。そのほとんどはトンネルとは関係ありません。役に立つのは、何かを読む前に表示を一度の試行と一つのプロセスに絞り込むことです。
Mac の VPN 調査のほとんどは三つの手順で足ります。
見分けられる試行を一度だけ作る
ローカル時刻とタイムゾーンを書き留めてから、一度だけ接続します。クライアントが表示したエラーの正確な文言は、たいていどのログ行よりも具体的なので控えてください。これで数秒の範囲と検索語が手に入ります。その範囲より前は、必要のない履歴です。
時刻を記録できない試行は、絞り込めない試行です。
テキストで絞り込む前にプロセスで絞り込む
コンソールの検索欄はプロセスとメッセージの述語を受け付け、コマンドラインの同等物のほうが再現性があります。log show --last 5m --predicate 'process == "NEIKEv2Provider"' は一つのプロバイダーに絞り込みます。正確なプロセス名は接続の種類によって変わるので、最初の未絞り込みの試行のときに見つけてください。
先にテキストで絞り込むと、たまたま VPN という語を記録したすべてのサブシステムが返ります。
述語はサブシステムとカテゴリでも絞り込め、これはプロセス名より厳密なことがよくあります。統合ログではライブラリがサブシステムを宣言でき、Apple のネットワーク部品はそのいくつかを使っています。まずプロセスから始め、既定のレベルで期待するイベントが隠れる場合は --info を追加します。デバッグレベルのメッセージには通常構成プロファイルが必要で、一つのログを読むためだけにインストールする価値はありません。
最後の行ではなく順序を読む
最後の切断メッセージはファイルの中で最も情報の少ない行です。もっと前の最初のアダプタエラー、検証の失敗、構成の拒否を探します。それらは失敗した段階を名指ししますが、切断は段階が復旧しなかったと述べるだけです。事象をコピーするときは、順序こそが診断だから、順序を保ってください。
ローカルサービスの起動は、遠隔のハンドシェイクの成功ではなく、ログもそう装いません。
伏せ字が隠すものとその理由
統合ログは既定で一部の値をプライベートマーカーの背後に隠すため、役に立つフィールドが空に見えることがあります。これは何を収集してよいかという設計上の選択であり、不具合ではありません。テキストを増やすためだけに広範なプライバシー設定を変えないでください。
必要な値が伏せられている場合は、アプリケーション自身のログや構成を探してください。
確認済みの抜粋を書き出す
確認した範囲だけを書き出します。パス、ユーザー名、内部ホスト名、エンドポイントのアドレスは通常のログ行に現れ、システム全体の書き出しはそれらすべてを受け取る相手に運びます。
抜粋だけでなく、手を加えていない記録も残します。後で誰かが時系列に異議を唱えたとき、決着をつけられるのは原本だけです。抜粋はチケット用で、原本は議論用です。
チケットには段階(アダプタ、検証、経路)を明記します。そうすれば証拠は解釈可能なまま保たれ、誰にも読めない束になりません。Apple のコンソール使用ガイドは、ここで触れた収集と検索の操作を扱っています。