Strumento Sosreport

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

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 utili per il debug dei problemi nei nodi in cui è in esecuzione un componente Apigee. Lo strumento raccoglie e archivia le informazioni localmente nel file system del nodo.

Lo strumento Sosreport raccoglie i dettagli di configurazione, le informazioni di sistema e di diagnostica 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 di sistema e servizi

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

  • Log Apigee di tutti i componenti.
  • Diagnostica runtime
  • Dati diagnostici Cassandra raccolti utilizzando i comandi nodetool.

Lo strumento Sosreport contiene due comandi principali:

  • sosreport: il comando principale per la raccolta dei 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 nel 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 alla 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

In caso di domande, contatta l'assistenza Apigee.

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

Se la versione SoS di sosreport non è già installata nel sistema, puoi installarla 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 testare che sosreport è installato, conferma che i plug-in relativi ad Apigee si trovino nella seguente directory:

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

dove pythonx.x è la 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

    Verrà 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 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 una directory diversa all'opzione tmp-dir. Ad esempio, per creare un report sul server di gestione e salvarlo 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
  • 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 mostrata 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 su STDOUT, così come il checksum. Ad esempio:

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

sudo man sosreport

Plug-in Apigee

Le seguenti sezioni descrivono i plug-in Apigee dello 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 (predefinita)
  • meminfo (predefinita)
  • Impostazioni di Java Virtual Machine (JVM), come memoria, Djdk.tls.allowUnsafeServerCertChange e così via (impostazione predefinita)
  • Log di gestione correnti (impostazione predefinita)
  • Dieci output sequenziali top e jstacks (valore predefinito)
  • Tutta la cartella del log di gestione (facoltativo)
  • config-files (facoltativo)

Esempi:

Per raccogliere tutti gli elementi 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
  • Utilizzo della 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 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
  • Utilizzo della 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 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

    In alternativa, puoi inserire:

    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -a
  • Utilizzo della 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 responsabile di gestione (MP):

  • Nome host del server (predefinito)
  • cpuinfo (predefinita)
  • meminfo (predefinita)
  • info build/release info (impostazione predefinita)
  • Stato apigee-all (predefinito)
  • dettagli server (impostazione predefinita)
  • Impostazioni a livello di JVM, ad esempio memoria, Djdk.tls.allowUnsafeServerCertChange e così via (valore predefinito)
  • Registri MP attuali (impostazione predefinita)
  • Dieci output sequenziali di tipo top, jstack e NIO Metrics (valore predefinito)
  • Tutta la cartella di log MP (facoltativa)
  • Albero di classificazione (facoltativo)
  • Dump dell'heap (facoltativo)
  • config-files (facoltativo)
  • Traccia di runtime (facoltativa e solo se 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 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
  • Utilizzo della 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
  • Utilizzo della 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 solo 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
  • Utilizzo della versione SoS di sosreport:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs

Per raccogliere tutto 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
  • Utilizzo della 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 (predefinita)
  • meminfo (predefinita)
  • info build/release info (impostazione predefinita)
  • Stato apigee-all (predefinito)
  • dettagli server (impostazione predefinita)
  • ps. Verranno visualizzate 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 nomi di file non validi (impostazione predefinita)
  • Tutta la cartella log del router (facoltativo)
  • config-files (facoltativo)

Esempi:

Per raccogliere tutti gli elementi 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
  • Utilizzo della 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 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
  • Utilizzo della 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 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
  • Utilizzo della 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 apigee-all && 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 dei 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 elementi 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
  • Utilizzo della versione SoS di sosreport:
    sudo sosreport -o apigee-cassandra