Translated message

A translation of this page exists in English.

Warning message

This translation is outdated. For the most up-to-date information, please refer to the English version.

O que é um sosreport e como gerá-lo em Red Hat Enterprise Linux 4.6 e versões posteriores?

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux 4.6 ou acima
  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise MRG

Issue

Resolution

Para guests virtuais de Azure

O que é um sosreport:

O comando sosreport é uma ferramenta que coleta diagnósticos do sistema e arquivos de configuração no Red Hat Enteprise Linux. Por exemplo, a versão corrente do Kernel, módulos carregados e arquivos de configuração do sistema e serviços. O comando também roda programas externos para obter mais informações e armazena o resultado em um arquivo.


Como executar um sosreport:

Uma vez que o pacote sos tenha finalizado instalado, execute o seguinte comando para rodar o sosreport:

Nota: sosreport precisa permissão de root para ser executado.

# sosreport

Este comando normalmente finalizará em alguns minutos no Red Hat Enterprise Linux 6. Em versões mais antigas e também dependendo das configurações locais, o sosreport poderá demorar um pouco mais para finalizar. Se você tiver qualquer dúvida com relação ao tempo para gerar o sosreport, contate o suporte Red Hat para mais detalhes.

Assim que o comando sosreport completar, será gerado um arquivo compactado no diretório /tmp. Diferentes versões usam diferentes tipos de compressão ('gz', 'bz2', or 'xz'). O resultado final deverá ser enviado para nosso suporte, normalmente anexo a um caso de suporte.

O tamanho do arquivo final depende da configuração atual do sistema e qualquer outra opção adicional ao comando sosreport (por exemplo, especificar a opção "all_logs" para coletar todos os logs do syslog poderá aumentar significantemente o tamanho do arquivo final).

Caso o sosreport coletado seja muito grande para enviar pelo Portal do Cliente, o mesmo poderá ser enviado para nosso Red Hat FTP em dropbox.redhat.com.

Para evitar a necessidade de entrar detalhes sobre usuário e conta interativamente, você poderá usar o comando sosreport` no modo 'batch' usando a opção --batch. Neste caso as informações sobre o usuário serão obtidas do arquivo de configuração RHN.

# sosreport --batch

O comando sosreport tem uma estrutura modular que permite o usuário ativar e desativar módulos pela linha de comando. Para listar os módulos disponíveis (plug-ins) use a opção '-l':

# sosreport -l

Para desativar um módulo, informe o nome após passar a opção '-n' (--skip-plugins). Por exemplo, para desativar os módulos 'kvm' e 'amd':

# sosreport -n kvm,amd

Alguns módulos podem prover opções adicionais. Por exemplo, nas instalações do Red Hat Enterprise Linux 4 e 5, o módulo rpm coleta a saída do "rpm -Va" por padrão, como esta informação algumas vezes pode levar tempo para ser coletada podemos desativá-la via:

# sosreport -k rpm.rpmva=off

Gerar sosreport no RHN Proxy Server

Para coletar mais detalhes do RHN Proxy Server, rode o seguinte comando:

# sosreport -o rhn

Nota:

1. Red Hat Enterprise Linux 4.5 e anterior incluem a versão sysreport para coletar detalhes do sistema e serviços. Se possível, atualize seu sistema com o pacote sos incluído nas versões mais recentes. Apesar disso, a saída do comando sysreport ainda continua válida para envio ao suporte da Red Hat. Para mais detalhes veja o seguinte artigo (em inglês) What is a sysreport and how to run it in Red Hat Enterprise Linux?

2. O pacote sos nas versões Red Hat Enterprise Linux 4 e 5 também inclui a versão sysreport do comando. Abaixo segue um link simbólico para compatibilidade:

    # ls -l /usr/sbin/sysreport
    lrwxrwxrwx 1 root root 19 Nov  3  2008 /usr/sbin/sysreport -> /usr/sbin/sosreport

Para usar a versão original do sysreport script (legacy), execute o seguinte:

    # sysreport.legacy

     Esta ferramenta irá rever e coletar informações detalhadas sobre o hardware e a configuração do seu sistema Red Hat Linux.
     Esta informação será usada para diagnosticar problemas com seu sistema e será considerada informação confidencial.
     A Red Hat usará esta informação APENAS para fins de diagnóstico.

Instalar sosreport:

Para executar o comando sosreport , o pacote sos deve estar instalado. O pacote é parte do grupo predeterminado e é instalado automaticamente na maioria dos sistemas.
Se por alguma razão o pacote não está presente, deve ser adicionado manualmente seguindo estes passos:

Red Hat Enterprise Linux 5 e versões acima

Se o sistema estiver registrado na RHN, use o comando yum:

# yum install sos

Se o sistema não estiver registrado na RHN, o pacote sos pode ser descarregado desde o site web da RHN ou desde os CDs ou DVDs de instalação. O comando rpm pode ser utilizado para instalar o pacote em qualquer versão de Red Hat Enterprise Linux:

 # rpm -Uvh sos-<version>.noarch.rpm

Red Hat Enterprise Linux 4 Update 6 ou acima

Se o sistema estiver registrado com Red Hat Network (RHN), sos pode ser instalado usando o comando up2date:

# up2date sos

O que fazer caso o sosreport travar?

  • Se estiver rodando RHEL5, faça um background do processo do sosreport (ctrl-z) antes de matá-lo a través de PID. Caso contrário, você vai encontrar o problema documentado na [KCS#55275] (https://access.redhat.com/solutions/55275)

  • Caso a falha seja devido a mensagem "No space left on device":

    • Verifique se o sistema de arquivos /tmp possui espaço suficiente:
    # df -h /tmp
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/vg_ren-lv_root
                           50G   49G    1M  99% /
  • Libere espaço adicional ou aponte o sosreport para um diretório diferente, por exemplo:
    # soserport --tmp-dir /caminho/para/outro/diretorio/
  • O sosreport pode ter travado por um plugin específico

Tente determinar com qual plugin fica travado.

  1. Aumente a verbosidade do sosreport -vvvv
  2. Faça um strace

Uma vez que determine qual é o plugin que trava, exclua-o

Ingresse o seguinte comando para mostrar todos os plugins:

sosreport -l

e.g. Para excluir o plugin de filesys

sosreport -n filesys
  • Caso contrário, em vez de recolher a falha no sosreport, um relatório manual pode ser criado executando o seguinte script. Observe que isso só será uma parte do que é coletado em um sosreport standard.

    #!/bin/bash
    host="$(hostname)"
    
    sos_dir="/tmp/${host}_hungsos"
    mkdir $sos_dir
    cd $sos_dir
    chkconfig --list > chkconfig
    date > date
    df > df
    dmesg > dmesg
    dmidecode > dmidecode  
    fdisk -l > fdisk  
    free > free  
    hostname --fqdn > hostname  
    ifconfig > ifconfig  
    lsmod > lsmod  
    lspci > lspci  
    cat /proc/mounts > mount  
    netstat -tlpn > netstat  
    ps auxww > ps  
    rpm -qa > rpm-qa  
    rpm -Va > rpm-Va     #este comando pode demorar um pouco para rodar
    ulimit -a > ulimit  
    uname -a > uname  
    uptime > uptime  
    cat /proc/meminfo > meminfo  
    cat /proc/cpuinfo > cpuinfo  
    mkdir etc  
    cd etc  
    cp /etc/fstab .
    cp /etc/cluster/cluster.conf .
    cp /etc/security/limits.conf .  
    cp /etc/redhat-release .  
    cp /etc/sysctl.conf .  
    cp /etc/modprobe.conf .  
    mkdir sysconfig/network-scripts -p  
    cd sysconfig  
    cp /etc/sysconfig/* . -R  
    cd $sos_dir
    mkdir var/log -p  
    cp /var/log/message* var/log -R  
    cd /tmp  
    tar -cvjf ${host}_hungsos.tar.bz2 $sos_dir
    

Referencia: How to gather data from a Red Hat Enterprise Linux system for troubleshooting if the sosreport process goes to hung state?

Gerar um sosreport desde modo resgate

Se o sistema não iniciar, o soreport pode ser coletado desde um entorno de resgate com o propósito de resolução.

Veja: How to generate sosreport from the rescue environment?

Gerar um sosreport para uma locação alternativa

Se houver restrições em /tmp, é possível forçar o sosreport para uma locação alternativa.

Veja: How do I make sosreport write to an alternative location?

Gerar um sosreport sosreport manualmente

Se tudo falhar e não é possível gerar um sosreport, a seguinte solução indica como gerar os arquivos manualmente:

Veja: Sosreport fails. What data should I provide in its place?


Side effects of sosreport:

  • Component
  • sos

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments