¿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
- ¿Cómo generar un
sosreport
?- Si el sistema no inicia o no corre por el tiempo suficiente para generar un sosreport, vea el siguiente documento que detalla métodos alternativos:
- Si el archivo es demasiado grande y tiene dificultad para subirlo, vea el siguiente documento que contiene opciones para compartir archivos grandes:
- ¿Qué es un
sosreport
?- ¿Cómo reunir archivos de log del sistema, detalles de la configuración e información de un sistema Red Hat Enterprise Linux para compartirlo con Soporte Técnico de Red Hat para su análisis?
- Estoy abriendo un caso con Soporte Técnico de Red Hat para recibir asistencia técnica. ¿Qué información debo compartirles para un análisis inicial del sistema?
- ¿Cómo instalar el paquete que contiene sosreport
- ¿Qué hacer si el sosreport se cuelga?
- Efectos secundarios del sosreport
Resolution
Para guests virtuales de Azure
- Siga las instrucciones en: "Cómo crear un sosreport de una máquina virtual de Microsoft Azure Virtual Machine y compartir el reporte con Red Hat"
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
- Verifique si hay suficiente espacio en el filesystem que contiene
-
El sosreport puede colgarse debido a un plugin específico
Trate de determinar qué plugin está colgado.
- Aumente la verbosidad sosreport -vvvv
- 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
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:
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