Raccolta delle informazioni di debug mediante sosreport

Container-Optimized OS include l'utilità sosreport, che raccoglie informazioni su richiesta per aiutarti a eseguire il debug dei problemi in un'istanza di macchina virtuale Container-Optimized OS. Le informazioni vengono raccolte e archiviate localmente sul file system dell'istanza. Google non raccoglie né archivia questi dati altrove.

Se apri una richiesta di assistenza a causa di problemi con la tua istanza, ti potrebbe essere chiesto di fornire i dati nell'ambito dell'indagine.Google Cloud sosreport Questa pagina mostra come raccogliere queste informazioni.

L'output di sosreport viene archiviato senza crittografia in un archivio .tar.xz. L'archivio può contenere informazioni che consentono l'identificazione personale (PII), perché raccoglie dati da molti componenti di sistema critici (ad es. journald). L'archivio può essere ispezionato sull'istanza e la maggior parte dei contenuti è in testo normale. Lo strumento sosreport è open source e puoi esaminarne il codice.

Raccogliere i dati di sosreport

Per generare un sosreport:

  1. Connettiti all'istanza utilizzando il comando gcloud compute ssh.

    gcloud compute ssh [INSTANCE_NAME] --zone [ZONE] --project [PROJECT_ID]
    
  2. Controlla la versione del sistema operativo:

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

    L'output è simile al seguente:

    NAME="Container-Optimized OS"
    VERSION=105
    
  3. Esegui il comando sos corrispondente alla tua versione del sistema operativo:

COS 85 e versioni precedenti

Esegui il seguente comando sosreport per raccogliere i log:

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

Se il comando precedente non riesce con sosreport: command not found, installa il sosreport pacchetto e poi esegui il comando sosreport precedente:

sudo toolbox
sudo apt install sosreport -y

COS 105 e versioni successive

Esegui il seguente comando sos per raccogliere i log:

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

Se il comando precedente non riesce con sos: command not found, installa il pacchetto sosreport e poi esegui il comando sos report precedente:

sudo toolbox
sudo apt install sosreport -y

Ubuntu-18 e versioni precedenti

Esegui il seguente comando sosreport per raccogliere i log:

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

Se il comando precedente non riesce con sosreport: command not found, installa il sosreport pacchetto e poi esegui il comando sosreport precedente:

sudo apt install sosreport

Ubuntu-20 e versioni successive

Esegui il seguente comando sos per raccogliere i log:

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

Se il comando precedente non riesce con sos: command not found, installa il pacchetto sosreport e poi esegui il comando sos report precedente:

sudo apt install sosreport

Puoi modificare la directory in cui viene archiviato il report passando una directory diversa all'opzione --tmp-dir. Puoi anche modificare il comportamento predefinito del comando modificando /etc/sos.conf sull'istanza.

L'output viene archiviato in un file .tar.xz nella directory specificata utilizzando l'opzione --tmp-dir. La posizione e il checksum del file .tar.xz vengono visualizzati in STDOUT.

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

The checksum is: 5a8b97c6020346a688254c8b04ef86ec

Visualizzare i dati raccolti

Il report è di proprietà di root e non è leggibile da altri utenti. Utilizza i seguenti comandi per modificare il proprietario dell'utente corrente e renderlo leggibile. Non renderlo leggibile a livello globale.

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

Poi, se vuoi visualizzare i contenuti del report sul nodo, puoi estrarli eseguendo il comando riportato di seguito:

tar xvf $TARBALL

I singoli file di report sono ora disponibili in una directory nella stessa posizione di .tar.xz. Puoi visualizzare i log utilizzando comandi come less oppure puoi utilizzare comandi come grep per trovare informazioni al loro interno.

Scaricare il report

Per scaricare il report sulla tua macchina locale, utilizza il comando gcloud compute scp:

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