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.

Qu'est-ce qu'un sosreport et comment puis-je en générer sous Red Hat Enterprise Linux 4.6 et plus ?

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux 4.6 et plus
  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise MRG

Issue

Resolution

Pour des invités virtuels Azure

Veuillez suivre les directions dans :"How to Create a Microsoft Azure Virtual Machine sosreport and Submit the Report to Red Hat"*

Qu'est-ce qu'un sosreport :

La commande sosreport est un outil qui rassemble des informations de configuration et de diagnostic d'un système Red Hat Enterprise Linux. Par exemple : la version du kernel en cours d'exécution, les modules chargés et les fichiers du système et de la configuration de service. La commande exécute également des programmes externes pour recueillir de plus amples informations et stocke cette sortie dans cette archive.

La sortie de sosreport est un point de départ commun pour le support Red Hat pour l'analyser initiale de la demande de service pour un système Red Hat Enterprise Linux.


Comment exécuter un sosreport :

Dès que le paquet sos est installé, veuillez utiliser la commande suivante pour exécuter le sosreport :

Note : sosreport nécessite les permissions root afin de fonctionner.

# sosreport

La commande se complétera normalement dans un délai de quelques minutes sur Red Hat Enterprise Linux 6. Les anciennes versions peuvent prendre plus de temps. Selon la configuration locale et les options spécifiées dans certains cas, la commande peut prendre plus de temps pour se terminer. Si vous êtes préoccupé par le temps d'exécution de la commande sosreport contactez votre représentant du support technique de Red Hat.

Une fois terminé, le sosreport va générer un fichier compressé sous /tmp (pour RHEL 6 et les précédents) ou sous /var/tmp (pour RHEL 7 et plus récent). Des versions différentes utilisent différentes méthodes de compression (gz, bz2, ou XZ). Le fichier doit être fourni au représentant du support (normalement comme pièce jointe à un dossier ouvert).

La taille de l'archive varie en fonction de la configuration du système et des fonctions facultatives de sosreport qui sont activées (par exemple en spécifiant l'option "all_logs" du module général pour recueillir tous les fichiers syslog log, la taille de l'arhive peut considérablement augmenter).

Pour afficher le sosreport, ou d'autre fichier, à un dossier existant de support, vous pouvez utiliser l'option de la ligne de commandes redhat-support-tool, le Red Hat Portal UI ou de méthodes différentes utilisant FTP.

Si le sosreport est trop gros pour être uploadé dans le dossier d'assistance, il peut être uploadé sur FTP site de Red Hat à dropbox.redhat.com.

Pour éviter la nécessité d'entrer les informations sur le compte et l'utilisateur de façon interactive ; la commande peut être exécutée en mode batch en utilisant "--batch". Dans ce cas, les informations sur les utilisateurs sont obtenues à partir des fichiers de configuration du système de RHN :

# sosreport --batch

La commande sosreport a une structure modulaire et permet à l'utilisateur d'activer et de désactiver des modules et spécifier les options du module via la ligne de commande. Pour obtenir la liste des modules disponibles (plug-ins) utilisez la commande suivante :

# sosreport -l

Pour désactiver temporairement un module :
Incluez-le dans une liste (séparée par des virgules) des modules passés à l'option "-n/--skip-plugins".
Par exemple pour désactiver temporairement les modules kvm et amd (si cassés) :

# sosreport -n kvm,amd

Les modules individuels peuvent fournir des options supplémentaires qui peuvent être spécifiées via le commutateur '-k'. Par exemple, sur Red Hat Enterprise Linux 4 et 5 le module rpm "sos" recueille la sortie de "rpm-Va" par défaut. Comme cela peut prendre beaucoup de temps, ceci peut être désactivé via :

# sosreport -k rpm.rpmva=off

Exécution du sosreport sur RHN Proxy Serveur
Pour capturer des informations plus détaillées sur le RHN Proxy Serveur, exécutez la commande suivante :

# sosreport -o rhn

Note :

1. Red Hat Enterprise Linux 4.5 et versions antérieures incluent l'ancienne commande sysreport pour créer des archives de diagnostics. Mettez si possible à jour votre système vers le paquet "sos" inclus dans les versions ultérieures. A noter que les sysreports peuvent encore être soumis à Red Hat si nécessaire. What is the sysreport command and how do I run it ?

2. Le paquet "sos" dans Red Hat Enterprise Linux 4 et 5 comprend également la commande sysreport. Il s'agit d'un lien symbolique fourni pour la compatibilité :

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

Pour utiliser la version originale du script sysreport sur ces installations, utilisez la commande sysreport.legacy :

# sysreport.legacy
This utility will go through and collect some detailed information
about the hardware and setup of your Red Hat Linux system.
This information will be used to diagnose problems with your system
and will be considered confidential information.  Red Hat will use
this information for diagnostic purposes ONLY.

Installer sosreport :

Pour exécuter un sosreport le paquet sos doit être installé. Le paquet fait partie du groupe défaut et va être installé automatiquement sur la plupart des systèmes.

Si pour quelque raison le paquet n'est pas présent, il peut être ajouté manuellement en utilisant les pas suivants :

Red Hat Enterprise Linux 5 et plus

Si le système est enregistré avec RHN, utilisez la commande yum :

# yum install sos

Si le système n'est pas enregistré avec RHN, le paquet sos peut être téléchargé du site RHN ou trouvé sur les CD ou DVD d'installation. La commande rmp peut être utilisée pour installer le paquet sur toute version de Red Hat Enterprise Linux :

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

Red Hat Enterprise Linux 4 Update 6 ou plus

Si le système est enregistré avec Red Hat Network (RHN), le sos peut être installé en utilisant la commande up2date :

# up2date sos

Que faire si un sosreport se bloque :

  • Si vous l'exécutez sur RHEL 5, mettez le processus de sosreport en arrière-plan (ctrl-z) avant de le tuer via PID. Autrement, vous pouvez avoir le souci documenté dans l'article sosreport hangs the system when multiple SIGINTs received.

  • Si le sosreport échoue à cause de "No space left on device"

    • Vérifiez s'il y a assez d'espace sur le filesystem qui contient /tmp
    # df -h /tmp
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/vg_ren-lv_root
                           50G   49G    1M  99% /
    
    • Libérez de l'espace additionnel ou un répertoire différent peut être spécifié en utilisant l'argument suivant :
    # sosreport --tmp-dir /path/to/another/volume
    
  • Le sosreport peut se bloquer à cause d'un plugin spécifique

Essayez de déterminer quel plugin cause problème.

  1. Augmentez la verbosité du sosreport -vvvv
  2. Faites strace de ce dernier

Dès que vous savez quel plugin le bloque, excluez-le.

Entrez la commande suivante pour montrer tous les plugins :

sosreport -l

e.g. Pour exclure le plugin filesys

sosreport -n filesys
  • Autrement, au lieu de collecter le sosreport tel quel, un rapport manuel peut être créé en exécutant le script qui suit. Notez que cela sera seulement une partie de ce qui est collecté dans le sosreport standard.
#!/bin/bash
host="$(hostname)"

sos_dir="/tmp/${host}_sosreport"
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     #this command may take a while to run 
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/* var/log -R 
cd /tmp 
tar -cvjf ${host}_sosreport.tar.bz2 $sos_dir

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

Collection de sosreport du mode de sauvetage

Si le système ne démarre pas, le sosreport peut être collecté de l'environnement de sauvetage pour des buts de dépannage.

Référence : How to generate sosreport from the rescue environment?

Générer le sosreport à une location alternative

S'il y a de contraints d'espace dans /tmp, il est possible de force le sosreport vers une location alternative.

Référence : How do I make sosreport write to an alternative location?

Collecter le sosreport manuellement

Si tout autre méthode échoue et il n'est pas possible du tout de générer le sosreport, la solution suivante passe sur la collection manuelle des fichiers :

Référence : Sosreport fails. What data should I provide in its place?


Les effets secondaires du 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