Como coletar informações de depuração com o sosreport

O Container-Optimized OS inclui o utilitário sosreport, que coleta informações sob demanda para ajudar a depurar problemas em uma instância de máquina virtual do Container-Optimized OS. As informações são coletadas e armazenadas localmente no sistema de arquivos da instância. O Google não coleta nem armazena esses dados em outro lugar.

Se você abrir um caso de suporte com o suporteGoogle Cloud devido a problemas com sua instância, talvez seja necessário fornecer os dados sosreport como parte da investigação. Esta página mostra como coletar essas informações.

A saída de sosreport é armazenada sem criptografia em um arquivo .tar.xz. O arquivo pode conter informações de identificação pessoal (PII), pois ele coleta dados de muitos componentes críticos do sistema (por exemplo, journald). O arquivo pode ser inspecionado na instância, e a maioria do conteúdo está em texto simples. A ferramenta sosreport é de código aberto, e você pode revisar o código.

Como coletar os dados do sosreport

Para gerar um sosreport:

  1. Conecte-se à instância usando o comando gcloud compute ssh.

    gcloud compute ssh [INSTANCE_NAME] --zone [ZONE] --project [PROJECT_ID]
    
  2. Verifique a versão do SO:

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

    O resultado será assim:

    NAME="Container-Optimized OS"
    VERSION=105
    
  3. Execute o comando sos correspondente à sua versão do SO:

COS 85 e anteriores

Execute o comando sosreport a seguir para coletar os registros:

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

Se o comando anterior falhar com sosreport: command not found, instale o pacote sosreport e execute o comando sosreport anterior:

sudo toolbox
sudo apt install sosreport -y

COS 105 e versões mais recentes

Execute o comando sos a seguir para coletar os registros:

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

Se o comando anterior falhar com sos: command not found, instale o pacote sosreport e execute o comando sos report anterior:

sudo toolbox
sudo apt install sosreport -y

Ubuntu 18 e anteriores

Execute o comando sosreport a seguir para coletar os registros:

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

Se o comando anterior falhar com sosreport: command not found, instale o pacote sosreport e execute o comando sosreport anterior:

sudo apt install sosreport

Ubuntu 20 e versões mais recentes

Execute o comando sos a seguir para coletar os registros:

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

Se o comando anterior falhar com sos: command not found, instale o pacote sosreport e execute o comando sos report anterior:

sudo apt install sosreport

É possível alterar o diretório em que o relatório está armazenado passando um diretório diferente para a opção --tmp-dir. Você também pode alterar o comportamento padrão do comando editando /etc/sos.conf na instância.

A saída é armazenada em um arquivo .tar.xz no diretório especificado usando a opção --tmp-dir. O local e a soma de verificação do arquivo .tar.xz são mostrados em STDOUT.

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

The checksum is: 5a8b97c6020346a688254c8b04ef86ec

Como visualizar os dados coletados

O relatório pertence a root e não pode ser lido por outros usuários. Use os seguintes comandos para alterar o proprietário para seu usuário atual e torná-lo legível por você. Não torná-lo legível.

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

Em seguida, se você quiser visualizar o conteúdo do relatório no nó, poderá extraí-lo executando o comando abaixo:

tar xvf $TARBALL

Os arquivos de relatório individuais agora estão disponíveis em um diretório no mesmo local que o .tar.xz. É possível visualizar os registros usando comandos como less ou comandos como grep para encontrar informações neles.

Fazer o download do relatório

Para fazer o download do relatório para sua máquina local, use o comando gcloud compute scp:

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