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.

Cos'è un sosreport e come si fa a crearne uno su Red Hat Enterprise Linux 4.6 e su versioni successive?

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux 4.6+
  • Red Hat Enterprise Linux 5+
  • Red Hat Enterprise Linux 6+
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise MRG

Issue

Resolution

Per Azure Virtual Guests

Cos'è il sosreport:

Il comando sosreport è uno strumento che raccoglie configurazioni e informazioni diagnostiche da un sistema Red Hat Enterprise Linux. Per esempio: la versione del kernel in uso,i moduli caricati e i file di configurazione del sistema e dei servizi. Il comando inoltre esegue programmi esterni per raccogliere ulteriori informazioni e ne memorizza l'output nell'archivio che ne deriva.

Per eseguire il sosreport deve essere installato il pacchetto sos . Il pacchetto è parte del gruppo di default e viene installato automaticamente nella maggior parte dei sistemi.

Se per qualsiasi ragione il pacchetto non è presente, può essere aggiunto manualmente seguendo i seguenti passi:

Per Red Hat Enterprise Linux 4 update 6 o versioni successive

Se il sistema è registrato su Red Hat Network (RHN), sos può essere installato eseguendo il comando up2date:

# up2date sos

Red Hat Enterprise Linux 5 and later

Se il sistema è registrato con RHN, usare il comando yum:

# yum install sos

Se il sistema non è registrato su RHN, il pacchetto sos può essere scaricato dal sito RHN o lo si può trovare nei CD o DVD d' installazione. Il comando rpm può essere usato per installare il pacchetto su ogni versione di Red Hat Enterprise Linux:

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

Una volta che il pacchetto è stato installato, eseguire il seguente comando:

Nota: il comando sosreport richiede i permessi di root per essere eseguito.

# sosreport

Il comando verrà completato normalmente in pochi istanti su Red Hat Enterprise Linux 6. Le versioni precedenti potrebbero richiedere alcuni minuti per completare la procedura. A seconda della configurazione locale e di alcune opzioni specifiche, in alcuni casi potrebbe essere necessario più tempo per finire il processo. Se si è preoccupati riguardo al tempo impiegato dal comando sosreport, contatti il rispettivo rappresentante di supporto Red Hat per assistenza.

Una volta completato, il sosreport genererà un file compresso sotto /tmp. Differenti versioni usano differenti schemi di compressione (gz, bz2, or xz). Il file dovrebbe essere consegnato al vostro rappresentante di supporto (normalmente inviato come allegato in un caso aperto).

La dimensione dell'archivio varia a seconda della configurazione del sistema ed ogni opzione abilitata del sosreport (per esempio specificando l'opzione "all_logs" del modulo generale per raccogliere tutti i file del syslog potrebbe aumentare di molto la dimensione dell'archivio).

Per evitare la necessita di immettere informazioni sull'utente ed account, il comando può essere eseguito in modalità batch, usando lo switch --batch. In questo caso le informazioni sull'user sono ottenute dai file di configurazione del sistema RHN:

# sosreport --batch

Il comando sosreport ha una struttura modulare e consente all'utente di abilitare e disabilitare moduli e specificare opzioni di moduli attraverso comandi. Per visualizzare i moduli disponibili(plug-ins) esegui il seguente comando:

# sosreport -l

per disattivare un modulo, includerlo in una lista di comandi, separati da una virgola, passata sull'opzione -n/--skip-plugins. Ad esempio, per disabilitare i moduli kvm e amd:

# sosreport -n kvm,amd

Moduli individuali possono fornire opzioni addizionali che possono essere specificate con lo switch -k. Per esempio sulle installazioni Red Hat Enterprise Linux 4 e 5 il modulo di sos rpm raccoglie l'output di "rpm -Va" come Default. Siccome questo potrebbe essere dispendioso in termini di tempo, questa opzione può essere disabilitata tramite:

# sosreport -k rpm.rpmva=off

Eseguendo il sosreport su RHN Proxy Server

Per catturare ulteriori dettagli su RHN Proxy Server, può eseguire il comando qui di seguito:

# sosreport -o rhn

Note:

1. Red Hat Enterprise Linux 4.5 e versioni antecedenti includono il vecchio comando "sysreport" per creare archivi diagnostici. Se possibile aggiornare il vostro sistema alla release che contenga il pacchetto sos o versioni successive, tuttavia i sysreport posso comunque essere mandati a Red Hat se vi è la necessità

Cos'è il comando sysreport e come lo eseguo?

2. Il pacchetto sos in Red Hat Enterprise Linux 4 e 5 include inoltre un comando sysreport. Questo è un link simbolico fornito per compatibilità retroattive:

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

Per usare la versione originale (legacy) dello script sysreport su queste installazioni, esegui il comando sysreport.legacy in:

# sysreport.legacy
Questa utilità raccoglierà alcune informazioni dettagliate
sull'hardware e sui setup del vostro sistema Red Hat Linux.
Questa informazione sarà usata per fornire  una diagnosi al problema nel vostro sistema
e sarà considerata come informazione confidenziale. Red Hat userà questa informazione SOLO
per motivi diagnostici.

Cosa si fa se si blocca il sosreport:

  • Se il sosreport fallisce a causa di "Non c'è più spazio libero sulla macchina"

  • Verificare se c'è spazio sufficiente nel filesystem che contiene /tmp

    # df -h /tmp
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/vg_ren-lv_root
                           50G   49G    1M  99% /
    
  • Per liberare spazio supplementare o un directory differente può usare il comando qui sotto

    # sosreport --tmp-dir /path/to/another/volume
    
  • Il sosreport potrebbe essere bloccato a causa di un plugin specifico

Cerchi di determinare su quale plugin si sta bloccando.

  1. Aumentando la verbosità del sosreport -vvvv
  2. Facendo lo strace

Quando troverà su quale si blocca, lo cancelli.

Usi i comandi qui di seguito per vedere tutti i plugins:

sosreport -l

e.g. Per cancellare il filesys plugin

sosreport -n filesys
  • Altrimenti, al posto di raccogliere il sosreport fallito, un rapporto manuale può essere creato usando lo script qui sotto. Nota che questo sarà solo una parte aliquota di quello raccolto tramite un 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     #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/message* var/log -R  
    cd /tmp  
    tar -cvjf ${host}_hungsos.tar.bz2 $sos_dir
    

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

Creare sosreport dalla modalità di ripristino

Se il sistema non si avvia, il sosreport può essere raccolto dall'ambiente di ripristino a scopo di risolvere i problemi.

Referimento: How to generate sosreport from the rescue environment?

Generare il sosreport ad una posizione alternativa

Se ci sono limitazioni di spazio sul /tmp, è possibile costringere il sosreport ad una posizione alternativa.

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

Creare un sosreport manualmente

Se tutto quanto fallisce e non è possibile di generare un sosreport, la soluzione qui di seguito Le guida su come raccogliere i file manualmente:

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

Effetti collaterali 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.

Comments