Container-Optimized OS には sosreport
ユーティリティが含まれています。このユーティリティは、Container-Optimized OS 仮想マシン インスタンスの問題のデバッグに役立つ情報をオンデマンドで収集します。収集される情報は、インスタンスのファイルシステムにローカルに保存されます。Google がこのデータを他の場所で収集、保存することはありません。
インスタンスの問題により Google Cloud サポートでサポートケースを開始すると、調査の一環として sosreport
データを提供するように求められることがあります。このページでは、この情報を収集する方法について説明します。
sosreport
の出力は、暗号化されずに .tar.xz
アーカイブに保存されます。アーカイブには、多くの重要なシステム コンポーネント(journald など)からデータが収集されるため、個人を特定できる情報(PII)が含まれている場合があります。アーカイブはインスタンスで検査でき、ほとんどのコンテンツはプレーン テキストです。sosreport
ツールはオープンソースであり、コードを確認できます。
sosreport データの収集
レポートを作成するには、gcloud compute ssh
コマンドを使用して、関連する仮想マシン インスタンスに SSH 接続します。
gcloud compute ssh [INSTANCE_NAME]
そのうえで、次の sosreport
コマンドを実行します。
sudo sos report --all-logs --batch --tmp-dir=/var
別のディレクトリを --tmp-dir
オプションに渡すことで、レポートが保存されているディレクトリを変更できます。インスタンスの /etc/sos.conf
を編集して、コマンドのデフォルトの動作を変更することもできます。
出力は、--tmp-dir
オプションを使用して指定したディレクトリの .tar.xz
ファイルに保存されます。.tar.xz
ファイルの場所とチェックサムは STDOUT に表示されます。
Your sosreport has been generated and saved in:
/var/sosreport-cos-20181106231224.tar.xz
The checksum is: 5a8b97c6020346a688254c8b04ef86ec
収集されたデータの表示
レポートはroot
が所有しており、他のユーザーは読み取ることができません。次のコマンドを使用して、所有者を現在のユーザーに変更して読み取り可能にします。誰でも読めるようにはしないでください。
TARBALL=[PATH/TO/TARBALL] sudo chown $(whoami) $TARBALL chmod +r $TARBALL
ノードのレポートの内容を表示するには、次のコマンドを実行してレポートを取り出します。
tar xvf $TARBALL
個々のレポート ファイルは、.tar.xz
と同じ場所にあるディレクトリで使用できます。less
などのコマンドを使用してログを表示するか、grep
などのコマンドを使用してログの情報を見つけることができます。
レポートをダウンロード
レポートをローカルマシンにダウンロードするには、gcloud compute scp
コマンドを使用します。
gcloud compute scp $(whoami)@[INSTANCE_NAME]:[PATH/TO/FILE] [LOCAL/PATH/TO/DIRECTORY]