Strumento Sosreport

Stai visualizzando la documentazione di Apigee Edge.
Visualizza la documentazione di Apigee X.

Sosreport è uno strumento di diagnostica e raccolta dati a livello di sistema, basato sul software open source SoS. Puoi utilizzare lo strumento Sosreport per raccogliere informazioni che ti aiutano a eseguire il debug dei problemi nei nodi in cui è in esecuzione un componente Apigee. Lo strumento raccoglie e archivia le informazioni localmente sul 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 del servizio

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

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

Lo strumento Sosreport contiene due comandi principali:

  • sosreport: il comando principale per la raccolta di dati e la creazione di report.
  • apigee-sosreport: uno strumento ausiliario utilizzato per installare sosreport e gestire i plug-in sosreport specifici per i componenti Apigee.

Installazione

Questa sezione spiega come installare sosreport.

Se la versione SoS di sosreport è già installata

Se la versione SoS originale di sosreport è già installata sul tuo sistema, non configurare la versione di Apigee, in quanto i percorsi di installazione potrebbero essere in conflitto. Copia invece i plug-in specifici di Apigee dalla directory /opt/apigee/apigee-sosreport/source/plugin nella directory Python site-packages appropriata 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

Per qualsiasi domanda, contatta l'assistenza Apigee.

Installazione della versione di Apigee di sosreport

Se la versione SoS di sosreport non è già installata sul tuo sistema, puoi installare la versione di Apigee inserendo i seguenti comandi su tutti i nodi in cui è installato Edge for Private Cloud:

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

Per verificare che sosreport sia installato, verifica che i plug-in relativi a Apigee si trovino nella seguente directory:

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

dove pythonx.x è la tua versione installata di Python.

In alternativa, puoi eseguire uno dei seguenti comandi:

  • Per verificare solo i plug-in specifici per 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→

Creating a report

Per creare un report utilizzando lo strumento Sosreport, esegui il comando sosreport con l'opzione del plug-in richiesta (vedi Plug-in Apigee). La directory predefinita in cui è archiviato il report è tmp o /var/tmp. Puoi modificare la directory in cui è archiviato il report passando un'altra directory all'opzione tmp-dir. Ad esempio, per creare un report sul server di gestione e salvare 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
  • Utilizzo della 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 l'opzione tmp-dir. La posizione del file .tar.xz viene visualizzata su STDOUT, così come 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 l'opzione tmp-dir. La posizione di .tar.xz file viene mostrata il giorno STDOUT, così come il 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 allo strumento Sosreport per i seguenti componenti:

Server di gestione

Il plug-in apigee-mgmt raccoglie le seguenti informazioni dal server di gestione:

  • Nome host del server (predefinito)
  • cpuinfo (valore predefinito)
  • meminfo (valore predefinito)
  • Impostazioni della macchina virtuale Java (JVM), ad esempio memoria, Djdk.tls.allowUnsafeServerCertChange e così via (impostazione predefinita)
  • Log di gestione correnti (opzione predefinita)
  • Output dieci Top e jstack sequenziali (impostazione predefinita)
  • Tutta la cartella del log di gestione (facoltativa)
  • config-files (facoltativo)

Esempi:

Per raccogliere tutti gli elementi predefiniti, inserisci una delle seguenti opzioni:

  • 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
  • usando 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 esempio 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
  • usando 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 una delle seguenti opzioni:

  • 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
  • usando 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 dal processore di gestione (MP):

  • Nome host del server (predefinito)
  • cpuinfo (valore predefinito)
  • meminfo (valore predefinito)
  • infobuild/release (impostazione predefinita)
  • Stato Apigee-all (predefinito)
  • dettagli del server (opzione predefinita)
  • Impostazioni del livello JVM, ad esempio memoria, Djdk.tls.allowUnsafeServerCertChange ecc. (impostazione predefinita)
  • Log MP correnti (opzione predefinita)
  • Dieci output sequenziali, jstack e output di metriche NIO (valore predefinito)
  • Intera cartella log MP (facoltativo)
  • Albero di classificazione (facoltativo)
  • dump dell'heap (facoltativo)
  • config-files (facoltativo)
  • Traccia di runtime (facoltativa e solo quando viene fornito org:env:api:rev detail). Nota: il plug-in attende 25 secondi per raccogliere le richieste di runtime.

Esempi:

Per raccogliere tutti gli elementi predefiniti, inserisci una delle seguenti opzioni:

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

Puoi anche specificare altri elementi facoltativi da raccogliere, oltre a tutti gli elementi predefiniti. Ad esempio, per specificare il dump dell'heap, utilizzando 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
  • usando la versione SoS di sosreport:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.heap

Allo stesso modo, 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 in un unico 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
  • usando la versione SoS di sosreport:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs

Per raccogliere tutti i dati tranne la traccia, 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
  • usando la versione SoS di sosreport:
    sudo sosreport -o apigee-mp --batch -a

Router

Il plug-in apigee-rrt raccoglie le seguenti informazioni dal router:

  • Nome host del server (predefinito)
  • cpuinfo (valore predefinito)
  • meminfo (valore predefinito)
  • infobuild/release (impostazione predefinita)
  • Stato Apigee-all (predefinito)
  • dettagli del server (opzione predefinita)
  • 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 attuali (impostazione predefinita)
  • Elenco di nomi di file vhost, inclusi i nomi di file non validi (impostazione predefinita)
  • Intera cartella di log del router (facoltativa)
  • config-files (facoltativo)

Esempi:

Per raccogliere tutti gli elementi predefiniti, inserisci una delle seguenti opzioni:

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

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

  • 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
  • usando la versione SoS di sosreport:
    sudo sosreport -o apigee-rrt --batch -k apigee-rrt.all-logs

Allo stesso modo, puoi specificare i seguenti elementi facoltativi:

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

Per raccogliere tutti i dati:

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

Cassandra

Il plug-in apigee-cassandra raccoglie le seguenti informazioni dai 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 dello stato Apigee e
  • Log Apigee-cassandra: tutti i file in /opt/apigee/var/log/apigee-cassandra/
  • Conteggio log di commit
  • Output del comando Top
  • Thread dump
  • File di configurazione: cassandra-topology.properties, cassandra.yaml, cassandra-env.sh
  • Output Nodetool per i seguenti parametri: versione, stato, anello, informazioni, gossipinfo, compattazione -H, tpstat, netstats, cfstats, proxyhistograms

Esempio:

Per raccogliere tutti gli elementi predefiniti, inserisci una delle seguenti opzioni:

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