Qu'est-ce qu'un sosreport et comment puis-je en générer sous Red Hat Enterprise Linux 4.6 et plus ?
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
- Qu'est-ce qu'un
sosreport
?- Comment collecter les fichiers logs du système, les détails de la configuration et les informations du système du Red Hat Enterprise Linux pour les fournir au support technique de Red Hat pour une analyse.
- J'ouvre un dossier avec le support technique de Red Hat pour l'assistance technique. Quelles données dois-je fournir pour l'analyse initiale de mon système ?
- Comment puis-je générer un
sosreport
?- Si le système ne démarre pas ou ne reste pas roulant assez longtemps pour générer un sosreport, veuillez voir le document suivant pour une autre méthode :
- Si le fichier est gros et vous avez des difficultés pour l'uploader, veuillez voir le document suivant pour des options sur quoi faire avec de gros fichiers :
- Comment installer le paquet contenant sosreport
- Que faire si un sosreport bloque
- Les effets secondaires du sosreport
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
- Vérifiez s'il y a assez d'espace sur le filesystem qui contient
-
Le sosreport peut se bloquer à cause d'un plugin spécifique
Essayez de déterminer quel plugin cause problème.
- Augmentez la verbosité du sosreport -vvvv
- 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
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