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 VM Container-Optimized OS. Le informazioni vengono raccolte e archiviate localmente sul file system dell'istanza. Google non raccoglie né memorizza questi dati altrove.

Se apri una richiesta di assistenza con l'assistenzaGoogle Cloud per problemi con la tua istanza, potresti dover fornire i dati sosreport nell'ambito dell'indagine. Questa pagina mostra come raccogliere queste informazioni.

L'output di sosreport viene archiviato senza crittografia in un archivio .tar.xz. L'archivio potrebbe contenere informazioni che consentono l'identificazione personale (PII), in quanto raccoglie i dati di molti componenti di sistema critici (ad es. journald). L'archivio può essere esaminato nell'istanza e la maggior parte dei contenuti è in testo normale. Lo strumentososreport è open source e puoi esaminare il codice.

Raccolta dei dati di sosreport

Per generare un report sos:

  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 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 va a buon fine con sosreport: command not found, installa il pacchetto sosreport ed 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 va a buon fine con sos: command not found, installa il pacchetto sosreport ed 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 va a buon fine con sosreport: command not found, installa il pacchetto sosreport ed 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 va a buon fine con sos: command not found, installa il pacchetto sosreport ed esegui il comando sos report precedente:

sudo apt install sosreport

Puoi modificare la directory in cui è archiviato il report passando un'altra directory all'opzione --tmp-dir. Puoi anche modificare il comportamento predefinito del comando modificando /etc/sos.conf nell'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 su STDOUT.

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

The checksum is: 5a8b97c6020346a688254c8b04ef86ec

Visualizzazione dei dati raccolti

Il report è di proprietà di root e non è leggibile da altri utenti. Utilizza i seguenti comandi per impostare il proprietario come utente corrente e renderlo leggibile da te. Non renderlo leggibile da tutti.

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

Se vuoi visualizzare i contenuti del report sul nodo, puoi estrarli eseguendo il seguente comando:

tar xvf $TARBALL

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

Scarica 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]