Strumento Sosreport

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Sosreport è uno strumento di diagnostica e raccolta dati a livello di sistema, basato sul software SoS. Puoi utilizzare lo strumento Sosreport per raccogliere informazioni che ti aiutino a eseguire il debug dei problemi in nodi in cui un'istanza sia in esecuzione. Lo strumento raccoglie e archivia le informazioni localmente nel file system del nodo.

Lo strumento Sosreport raccoglie dettagli di configurazione, informazioni di sistema e informazioni diagnostiche dal tuo sistema e archivia i dati in un archivio. Per i componenti Apigee, Sosreport raccoglie quanto segue:

  • La versione del kernel in esecuzione
  • Moduli caricati
  • File di configurazione del sistema e dei servizi

Sosreport esegue anche programmi esterni per raccogliere ulteriori informazioni, tra cui:

  • Log di Apigee da tutti i componenti.
  • Diagnostica di runtime
  • Diagnostica Cassandra raccolta utilizzando i comandi nodetool.

Lo strumento Sosreport contiene due comandi principali:

  • sosreport: il comando principale per raccogliere dati e creare report.
  • apigee-sosreport: uno strumento ausiliario utilizzato per installare sosreport e gestire sosreport plug-in specifici dei componenti Apigee.

Installazione

Questa sezione spiega come installare sosreport.

Se la versione SoS di sosreport è già installata

Se l'originale Versione SoS di sosreport è già installata sul sistema, non configurare la versione di Apigee, poiché i percorsi di installazione potrebbero essere in conflitto. Copia invece i plug-in specifici di Apigee dalla directory /opt/apigee/apigee-sosreport/source/plugin al file Python appropriato site-packages utilizzando un comando come quelli mostrati di seguito. Ad esempio, per copiare agigee-mgmt.py:

  • Se utilizzi Python 2, inserisci:
    sudo cp apigee-mgmt.py /usr/lib/python2.7/site-packages/sos/plugins/
  • Se utilizzi Python 3, inserisci:
    sudo cp apigee-mgmt.py /usr/local/lib/python3.6/site-packages/sos/plugins/

Per verificare che i plug-in siano stati installati, inserisci

sudo sosreport --list-plugins

In caso di domande, contatta l'assistenza Apigee.

Installazione della versione di sosreport di Apigee in corso...

Se la versione SoS di sosreport non è già installata sul sistema, puoi installare la versione di Apigee inserendo i comandi seguenti su tutti i nodi in cui è installato Edge per il cloud privato:

/opt/apigee/apigee-service/bin/apigee-service apigee-sosreport install
/opt/apigee/apigee-service/bin/apigee-service apigee-sosreport setup

Per verificare che l'app sosreport sia installata, verifica che i plug-in relativi a Apigee si trova nella seguente directory:

/usr/lib/pythonx.x/site-packages/sos/plugins

dove pythonx.x è la versione di Python installata.

In alternativa, puoi eseguire uno dei seguenti comandi:

  • Per verificare solo i plug-in specifici di Apigee:
    apigee-service apigee-sosreport diagnose -l

    Viene restituito il seguente elenco di plug-in specifici per Apigee.

    sosreport (version 3.9)
    
    The following plugins are currently enabled:
    
    apigee-mgmt          This is the apigee plugin for edge-management-server
    apigee-mp            This is the apigee plugin for edge-message-processor
    apigee-rrt           This is the apigee plugin for edge-router
    apigee-sample        Main diagnostics gatehring class
  • Per verificare tutti i plug-in:
    apigee-service apigee-sosreport diagnose -s -l

    Viene restituito il seguente elenco di plug-in disponibili con sosreport:

    sosreport (version 3.9)
    
    The following plugins are currently enabled:
    
     acpid                ACPI daemon information
     alternatives         System alternatives
     anacron              Anacron job scheduling service
     apigee-cassandra     This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
     apigee-mgmt          This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
     apigee-mp            Main diagnostics gathering class
     apigee-rrt           This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
    
    ………………………………………………….
    ………………………………………………….
    ………………………………………………….
    ←truncated→

Creazione di un rapporto

Per creare un report utilizzando lo strumento Sosreport, esegui il comando sosreport con l'opzione plug-in richiesta (vedi plug-in Apigee). La La directory predefinita in cui è archiviato il report è tmp o /var/tmp. Puoi modificare la directory in cui è archiviato il report passando una directory diversa all'opzione tmp-dir. Ad esempio, per creare un report sul server di gestione e lo salvi in una directory denominata my_report-dir, inserisci uno dei seguenti valori:

  • Utilizzo della versione di Apigee di sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf -o apigee-mgmt  --batch --tmp-dir=my_report-dir
  • Utilizzando la versione SoS di sosreport:
    sudo sosreport -o apigee-mgmt  --batch --tmp-dir=my_report-dir

Il report viene archiviato in un file .tar.xz nella directory specificata utilizzando il metodo Opzione tmp-dir. La posizione del file .tar.xz viene mostrata su STDOUT, nonché il checksum. Ad esempio:

Your sosreport has been generated and saved in:
 /var/sosreport-prc-test-0-9613-2021-07-12-orwxufx.tar.xz
The checksum is: 5a8b97c6020346a688254c8b04ef86ec
For more available options for sosreport, read the man file:
sudo man sosreport

Il report viene archiviato in un file .tar.xz nella directory specificata utilizzando il metodo Opzione tmp-dir. La posizione dell'evento .tar.xz file viene mostrata su STDOUT, così come l'elemento checksum. Ad esempio:

Per altre opzioni disponibili per sosreport, leggi il file man:

sudo man sosreport

Plug-in Apigee

Le seguenti sezioni descrivono i plug-in Apigee per lo strumento Sosreport per i seguenti componenti:

Server di gestione

Il plug-in apigee-mgmt raccoglie le seguenti informazioni dalla Server di gestione:

  • nome host del server (predefinito)
  • cpuinfo (predefinita)
  • meminfo (predefinita)
  • le impostazioni di Java Virtual Machine (JVM), come memoria, Djdk.tls.allowUnsafeServerCertChange e così via (valore predefinito)
  • Log di Gestione attuale (impostazione predefinita)
  • Output superiore a dieci jstack sequenziale (predefinito)
  • (Facoltativo) Intera cartella del log di gestione
  • config-files (facoltativo)

Esempi:

Per raccogliere tutti gli articoli predefiniti, inserisci uno dei seguenti valori:

  • Utilizzo della versione di Apigee di sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch my_report-dir
  • Se utilizzi la versione SoS di sosreport:
    sudo sosreport -o apigee-mgmt --batch my_report-dir

Per raccogliere tutti gli elementi predefiniti e anche gli elementi facoltativi specificati nel comando, ad ad esempio, i file di configurazione e tutti i log, inserisci uno dei seguenti valori:

  • Utilizzo della versione di Apigee di sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs
  • Se utilizzi la versione SoS di sosreport:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

Per raccogliere tutti i dati, inserisci uno dei seguenti elementi:

  • Utilizzo della versione di Apigee di sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

    In alternativa, puoi inserire:

    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -a
  • Se utilizzi la versione SoS di sosreport:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

    In alternativa, puoi inserire:

    sudo sosreport -o apigee-mgmt --batch -a

processore di messaggi

Il plug-in apigee-mp raccoglie le seguenti informazioni dalla Processore di gestione (MP):

  • Nome host del server (predefinito)
  • cpuinfo (predefinita)
  • meminfo (predefinita)
  • buildinfo/release info (valore predefinito)
  • Stato apigee-all (predefinito)
  • dettagli del server (predefinito)
  • Impostazioni a livello di JVM, ad esempio memoria, Djdk.tls.allowUnsafeServerCertChange, e così via (valore predefinito)
  • Registri MP attuali (impostazione predefinita)
  • Output delle dieci metriche sequenziali top, jstacks e NIO (predefinito)
  • (Facoltativo) Intera cartella di log MP
  • Albero di classificazione (facoltativo)
  • Dump dell'heap (facoltativo)
  • config-files (facoltativo)
  • Traccia runtime (facoltativa e solo quando org:env:api:rev detail) viene fornita). Nota: il plug-in attende 25 secondi per raccogliere le richieste di runtime.

Esempi:

Per raccogliere tutti gli articoli predefiniti, inserisci uno dei seguenti valori:

  • Utilizzo della versione di Apigee di sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch
  • Se utilizzi la versione SoS di sosreport:
    sudo sosreport -o apigee-mp --batch

Puoi anche specificare altri elementi facoltativi da raccogliere, oltre a tutti quelli predefiniti. Ad esempio, per specificare il dump dell'heap, usando il flag -k apigee-mp.heap, inserisci uno dei seguenti valori:

  • Utilizzo della versione di Apigee di sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.heap
  • Se utilizzi la versione SoS di sosreport:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.heap

Analogamente, puoi specificare i seguenti elementi facoltativi:

-k apigee-mp.deployments
-k apigee-mp.heap
-k apigee-mp.all-logs
-k apigee-mp.config-files
-k apigee-mp.trace=gsc-cps:test:httpbin:3

Puoi specificare più opzioni con un singolo comando. Ad esempio:

  • Utilizzo della versione di Apigee di sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs
  • Se utilizzi la versione SoS di sosreport:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs

Per raccogliere tutto tranne le tracce, inserisci uno dei seguenti valori:

  • Utilizzo della versione di Apigee di sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -a
  • Se utilizzi la versione SoS di sosreport:
    sudo sosreport -o apigee-mp --batch -a

Router

Il plug-in apigee-rrt raccoglie le seguenti informazioni dalla Router:

  • Nome host del server (predefinito)
  • cpuinfo (predefinita)
  • meminfo (predefinita)
  • buildinfo/release info (valore predefinito)
  • Stato apigee-all (predefinito)
  • dettagli del server (predefinito)
  • ps. In questo modo verranno definite le impostazioni a livello di JVM, ad esempio memoria, Djdk.tls.allowUnsafeServerCertChange e così via (impostazione predefinita).
  • Log del router attuale (impostazione predefinita)
  • Elenco di nomi di file vhost, inclusi nomi di file non validi (impostazione predefinita)
  • Intera cartella di log del router (facoltativa)
  • config-files (facoltativo)

Esempi:

Per raccogliere tutti gli articoli predefiniti, inserisci uno dei seguenti valori:

  • Utilizzo della versione di Apigee di sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch
  • Se utilizzi la versione SoS di sosreport:
    sudo sosreport -o apigee-rrt --batch

Puoi anche specificare altri elementi facoltativi da raccogliere, oltre a tutti quelli predefiniti. Ad esempio, per specificare l'intera cartella di log, utilizzando il flag -k apigee-rrt.all-logs, inserisci uno dei seguenti valori:

  • Utilizzo della versione di Apigee di sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -k apigee-rrt.all-logs
  • Se utilizzi la versione SoS di sosreport:
    sudo sosreport -o apigee-rrt --batch -k apigee-rrt.all-logs

Analogamente, puoi specificare i seguenti elementi facoltativi:

-k apigee-rrt.all-logs
-k apigee-rrt.config-files

Per raccogliere tutti gli elementi:

  • Utilizzo della versione di Apigee di sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -a
  • Se utilizzi la versione SoS di sosreport:
    sudo sosreport -o apigee-rrt --batch -a

Cassandra

Il plug-in apigee-cassandra raccoglie le seguenti informazioni dalle Nodi Cassandra:

  • Statistiche macchina:
    "hostname -i"
    "cat /proc/cpuinfo"
    "cat /proc/meminfo"
    "ulimit -a"
    "ps auxw"
    "df -kh"
    "du -sh"
    "netstat -ntlpu"
    "free -h"
    "ifconfig -h"
    "ps -ef"
  • Stato e versione del componente Apigee Versione apigee-all && Stato apigee-all
  • Log apigee-cassandra: Tutti i file in /opt/apigee/var/log/apigee-cassandra/
  • Conteggio log di commit
  • Output del comando In alto
  • Dump del thread
  • File di configurazione: cassandra-topology.properties, cassandra.yaml, cassandra-env.sh
  • Nodetool Output per i seguenti parametri: version, status, ring, info, gossipinfo, Compactionstats -H, tpstats, netstats, cfstats, proxyhistograms

Esempio:

Per raccogliere tutti gli articoli predefiniti, inserisci uno dei seguenti valori:

  • Utilizzo della versione di Apigee di sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-cassandra
  • Se utilizzi la versione SoS di sosreport:
    sudo sosreport -o apigee-cassandra