¿Qué es un sosreport y cómo generarlo en Red Hat Enterprise Linux 4.6 y versiones posteriores?

Environment

  • Red Hat Enterprise Linux 4.6 or later
  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise MRG

Issue

Resolution

Para guests virtuales de Azure

Qué es un sosreport:

El comando sosreport es una herramienta que recoge información sobre la configuración, información del sistema e información diagnóstica de un sistema Red Hat Enterprise Linux system. Por ejemplo: la versión de kernel que está corriendo, los módulos cargados y los archivos de configuración del sistema y de los servicios. El comando también corre programas externos para recoger más información y almacena el resultado en un archivo.

El resultado del comando sosreport es el punto de partida común para los ingenieros de soporte de Red Hat support cuando realizan el análisis inicial de un caso referido a un sistema Red Hat Enterprise Linux.


Cómo ejecutar un sosreport:

Una vez que el paquete sos ha sido instalado, ejecute el siguiente comando para correr el sosreport:

Nota: sosreport requiere permisos de root para ser ejecutado.

# sosreport

Por lo general, el comando se completará en unos minutos en Red Hat Enterprise Linux 6. En versiones anteriores es posible que demore más tiempo en completarse. Dependiendo de la configuración local y de las opciones especificadas en algunos casos es posible que el comando demore más tiempo en terminar. Si tiene dudas sobre el tiempo que demora en correr el comando sosreport contáctese con un representante de soporte de Red Hat para recibir asistencia.

Una vez que se completó, el comando sosreport generará un archivo comprimido en /tmp (para RHEL6 y versiones previas) o en /var/tmp (para RHEL7 y versiones posteriores). Las diferentes versiones usan diferentes esquemas de compresión (gz, bz2, or xz). El archivo debe ser compartido con su representante de soporte (por lo general como archivo adjunto en el caso de soporte abierto).

El tamaño del archivo varía dependiendo de la conguración del sistema y las funcionalidades opcionales que tenga habilitadas para el sosreport (por ejemplo, es posible que especificar la opción "all_logs" del módulo general para recoger todos los archivos de log syslog aumente en gran medida el tamaño del archivo).

Para compartir el sosreport, o cualquier otro archivo, en el caso de soporte existente, puede usar la opción de línea de comandos redhat-support-tool, la UI del Red Hat Portal o diferentes métodos utilizando FTP.

Si el archivo de sosreport es demasiado grande para subirlo al caso, puede compartirlo en el sitio ftp dropbox.redhat.com de Red Hat.

Para evitar la necesidad de ingresar la información de usuario y cuenta de manera interactiva, el comando puede ser ejecutado en modo batch utilizando la opcipón --batch. En este caso, la información de usuario se obtiene de los archivos de configuración RHN del sistema:

# sosreport --batch

El comando sosreport tiene una estructura modular y permite al usuario habilitar y deshabilitar módulos y especificar opciones de módulo a través de la línea de comandos. Para obtener una lista de los módulos disponibles (plug-ins) utilice el siguiente comando:

# sosreport -l

Para deshabilitar temporalmente un módulo:

Inclúyalo en una lista de módulos separados por coma pasados en la opción -n/--skip-plugins.

Por ejemplo, para deshabilitar temporalmente los módulos kvm y amd (si están rotos):

# sosreport -n kvm,amd

Es posible que en los módulos individuales se puedan especificar opciones adicionales con la opción -k. Por ejemplo en Red Hat Enterprise Linux 4 y 5 el módulo sos rpm recolge el resultado de "rpm -Va" de manera predeterminada. Como esto puede consumir demasiado tiempo, se puede deshabilitar:

# sosreport -k rpm.rpmva=off

Ejecutar sosreport en RHN Proxy Server
Para capturar información más detallada sobre RHN Proxy Server, ejecute el siguiente comando:

# sosreport -o rhn

Nota:

1. Red Hat Enterprise Linux 4.5 y las versiones anteriores incluyen el antiguo comando sysreport para crear archivos de diagnóstico. De ser posible, actualice su sistema al paquete sos que se incluye en las versiones posteriores. Sin embargo, puede compartir los sysreport con Red Hat de ser necesario ¿Qué es un a sysreport y cómo generarlo enRed Hat Enterprise Linux?

2. El paquete sos en Red Hat Enterprise Linux 4 y 5 también incluye el comando sysreport . Este es un link simbólico para compatibilidad hacia atrás:

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

Para usar la versión original (legacy) del script sysreport en estas instalaciones, use el comando sysreport.legacy:

# sysreport.legacy
Esta herramienta revisará y recogerá información detallada sobre el hardware y la configuración de su sistema Red Hat Linux.
Esta información será utilizada para diagnosticar problemas con su sistema y se considerará información confidencial. 

Red Hat usará esta información con fines diagnósticos ÚNICAMENTE.


Instalar sosreport:

Para ejecutar el comando sosreport el paquete sos debe estar instalado. El paquete es parte del grupo predeterminado y se instala automáticamente en la mayoría de los sistemas.
Si por alguna razón el paquete no está presente, se debe agregar manualmente siguiendo estos pasos:

Red Hat Enterprise Linux 5 y versiones posteriores

Si el sistema está registrado en RHN, use el comando yum:

# yum install sos

Si el sistema no está registrado en RHN, el paquete sos puede ser descargado desde el sitio web de RHN o desde los CDs o DVDs de instalación. El comando rpm puede utilizarse para instalar el paquete en cualquier versión de Red Hat Enterprise Linux:

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

Red Hat Enterprise Linux 4 Update 6 o posteriores

Si el sistema está registrado con Red Hat Network (RHN), sos puede instalarse usando el comando up2date:

# up2date sos

Qué hacer si el comando sosreport se cuelga:

  • Si está corriendo RHEL5, deje el proceso de sosreport corriendo en segundo plano (ctrl-z) antes de matarlo a través de su PID. De lo contrario, es posible que se encuentre con el problema documentado en KCS#55275

  • Si el comando sosreport falla debido a un error de "No hay espacio disponible en el dispositivo"

    • Verifique si hay suficiente espacio en el filesystem que contiene /tmp
    # df -h /tmp
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/vg_ren-lv_root
                           50G   49G    1M  99% /
    
    • Se puede especificar espacio libre adicional o un directorio diferente mediante el siguiente argumento:
    # sosreport --tmp-dir /path/to/another/volume
    
  • El sosreport puede colgarse debido a un plugin específico

Trate de determinar qué plugin está colgado.

  1. Aumente la verbosidad sosreport -vvvv
  2. Ejecute un strace sobre el mismo

Una vez que determina cuál es el plugin colgado, exclúyalo.

Ejecute el siguiente comando para mostrar todos los plugins:

sosreport -l

Por ejemplo, para excluir el plugin filesys

sosreport -n filesys
  • De lo contrario, en lugar de generar el sosreport fallido, se puede crear un reporte manual ejecutando el siguiente script. Tenga en cuenta que esto sólo será una parte de lo que recoge el comando sosreport estándar.

    #!/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 puede demorarse bastante tiempo
    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: ¿Cómo reunir información de un sistema Red Hat Enterprise Linux para encontrar la solución a un problema si el proceso de sosreport se cuelga?

Generar un sosreport en modo rescate

Si el sistema no inicia, se puede recoger un sosreport desde el entorno de rescate con fines diagnósticos.

Referencia: ¿Cómo generar un sosreport desde el entorno de rescate?

Generar un sosreport en una ubicación alternativa

Si hay limitaciones de espacio en /tmp, se puede forzar el sosreport a generarse en una ubicación alternativa.

Referencia: ¿Cómo logro que el sosreport se escriba en una ubicación alternativa?

Generar un sosreport manualmente

Si todo lo demás falla y no es posible generar un sosreport, la siguiente documentación explica cómo obtener estos archivos de manera manual:

Referencia: Sosreport falla. ¿Qué información debo compartir en su reemplazo?


Efectos secundarios del 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.

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.