Debugging-Informationen mit sosreport erfassen

Container-Optimized OS enthält das Dienstprogramm sosreport, das bei Bedarf Informationen erfasst, um Probleme in einer VM-Instanz mit Container-Optimized OS zu beheben. Die erfassten Informationen werden lokal im Dateisystem der Instanz gespeichert. Google erfasst oder speichert diese Daten nicht an anderer Stelle.

Wenn Sie aufgrund von Problemen mit Ihrer Instanz eine Supportanfrage an den Google Cloud -Support stellen, werden Sie möglicherweise gebeten, die sosreport-Daten für die Untersuchung anzugeben. Auf dieser Seite erfahren Sie, wie Sie diese Informationen erfassen.

Die Ausgabe von sosreport wird ohne Verschlüsselung in einem .tar.xz-Archiv gespeichert. Das Archiv kann personenbezogene Daten enthalten, da es Daten aus vielen wichtigen Systemkomponenten (z. B. journald) erfasst. Das Archiv kann auf der Instanz überprüft werden. Die meisten Inhalte liegen im Nur-Text-Format vor. Das sosreport-Tool ist Open Source und Sie können den Code prüfen.

sosreport-Daten erfassen

So erstellen Sie einen SOS-Bericht:

  1. Stellen Sie mit dem Befehl gcloud compute ssh eine Verbindung zur Instanz her.

    gcloud compute ssh [INSTANCE_NAME] --zone [ZONE] --project [PROJECT_ID]
    
  2. So prüfen Sie die Betriebssystemversion:

    sudo cat /etc/os-release| egrep -w 'NAME|VERSION'
    

    Die Ausgabe sieht in etwa so aus:

    NAME="Container-Optimized OS"
    VERSION=105
    
  3. Führen Sie den Befehl sos aus, der Ihrer Betriebssystemversion entspricht:

COS 85 und niedriger

Führen Sie den folgenden sosreport-Befehl aus, um die Protokolle zu erfassen:

sudo sosreport --all-logs --batch --tmp-dir=/var

Wenn der vorherige Befehl mit sosreport: command not found fehlschlägt, installieren Sie das sosreport-Paket und führen Sie dann den vorherigen sosreport-Befehl aus:

sudo toolbox
sudo apt install sosreport -y

COS 105 und höher

Führen Sie den folgenden sos-Befehl aus, um die Protokolle zu erfassen:

sudo sos report --all-logs --batch --tmp-dir=/var

Wenn der vorherige Befehl mit sos: command not found fehlschlägt, installieren Sie das sosreport-Paket und führen Sie dann den vorherigen sos report-Befehl aus:

sudo toolbox
sudo apt install sosreport -y

Ubuntu 18 und niedriger

Führen Sie den folgenden sosreport-Befehl aus, um die Protokolle zu erfassen:

sudo sosreport --all-logs --batch --tmp-dir=/var

Wenn der vorherige Befehl mit sosreport: command not found fehlschlägt, installieren Sie das sosreport-Paket und führen Sie dann den vorherigen sosreport-Befehl aus:

sudo apt install sosreport

Ubuntu 20 und höher

Führen Sie den folgenden sos-Befehl aus, um die Protokolle zu erfassen:

sudo sos report --all-logs --batch --tmp-dir=/var

Wenn der vorherige Befehl mit sos: command not found fehlschlägt, installieren Sie das sosreport-Paket und führen Sie dann den vorherigen sos report-Befehl aus:

sudo apt install sosreport

Sie können das Verzeichnis ändern, in dem der Bericht gespeichert ist. Übergeben Sie dazu ein anderes Verzeichnis an die Option --tmp-dir. Sie können das Standardverhalten des Befehls auch ändern, wenn Sie /etc/sos.conf für die Instanz bearbeiten.

Die Ausgabe wird in einer .tar.xz-Datei in dem Verzeichnis gespeichert, das Sie mit der Option --tmp-dir angeben. Speicherort und Prüfsumme der .tar.xz-Datei werden auf STDOUT angezeigt.

Your sosreport has been generated and saved in:
  /var/sosreport-cos-20181106231224.tar.xz

The checksum is: 5a8b97c6020346a688254c8b04ef86ec

Erfasste Daten anzeigen lassen

Der Bericht gehört root und ist für andere Nutzer nicht lesbar. Mit den folgenden Befehlen können Sie den Inhaber als aktuellen Nutzer festlegen. So wird der Bericht für Sie lesbar. Er sollte nicht allgemein lesbar sein.

TARBALL=[PATH/TO/TARBALL]
sudo chown $(whoami) $TARBALL
chmod +r $TARBALL

Wenn Sie sich dann den Inhalt des Berichts über den Knoten ansehen möchten, können Sie ihn mit dem folgenden Befehl extrahieren:

tar xvf $TARBALL

Die einzelnen Berichtsdateien sind jetzt in einem Verzeichnis am selben Speicherort wie .tar.xz verfügbar. Sie können die Logs mit Befehlen wie less aufrufen oder mit Befehlen wie grep nach darin enthaltenen Informationen suchen.

Bericht herunterladen

Mit dem Befehl gcloud compute scp können Sie den Bericht auf Ihren lokalen Computer herunterladen:

gcloud compute scp $(whoami)@[INSTANCE_NAME]:[PATH/TO/FILE] [LOCAL/PATH/TO/DIRECTORY]