Strumento Sosreport

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Sosreport è uno strumento di diagnostica e raccolta dei 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 le informazioni di diagnostica dal tuo sistema e archivia i dati in un archivio. Per i componenti Apigee, Sosreport raccoglie quanto segue:

  • La versione kernel in esecuzione
  • Moduli caricati
  • File di configurazione di sistema e di servizio

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

  • Log di Apigee di tutti i componenti.
  • Diagnostica di runtime
  • Diagnostica di 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 i plug-in sosreport specifici dei componenti Apigee.

Installazione

La tabella seguente descrive in dettaglio la disponibilità e il metodo di installazione dello strumento Sosreport nelle versioni supportate di Edge for Private Cloud.

Versione OPDK Nuova installazione Upgrade in loco
4.50.00.11 - 4.52.01.00 Installazione manuale richiesta Installazione manuale richiesta
4.52.01.01+ Estensione installata per impostazione predefinita Upgrade manuale richiesto
Amazon Linux 2023+ Non supportata Non supportata

Lo strumento Sosreport viene installato per impostazione predefinita su tutti i nodi quando esegui una nuova installazione di Edge for Private Cloud 4.52.01.01 e versioni successive.

Se esegui un upgrade in loco a Edge for Private Cloud 4.52.01.01 o versioni successive, esegui questo comando su ogni nodo per aggiornare lo strumento Sosreport:

/opt/apigee/apigee-service/bin/apigee-service apigee-sosreport update

Puoi eseguire questo comando per verificare l'installazione e la versione dello strumento Sosreport e dei relativi plug-in:

apigee-service apigee-sosreport version

Per elencare tutti i plug-in che supportano lo strumento Sosreport, utilizza il seguente comando:

sudo sosreport --list-plugins

Per elencare solo i plug-in specifici di Apigee, esegui questo comando:

sudo sosreport --list-plugins | grep apigee

Per Edge for Private Cloud versioni da 4.50.00.11 a 4.52.01.00, lo strumento Sosreport è disponibile, ma potrebbe richiedere la configurazione manuale a seconda dell'ambiente.

Se la versione SoS di sosreport è già installata

Se la versione originale SoS di sosreport è già installata sul tuo sistema, non configurare la versione di Apigee, poiché i percorsi di installazione potrebbero entrare 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 apigee-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.

La sezione seguente spiega come installare "sosreport" per le versioni dalla 4.50.00.11 alla 4.52.01.00.

Installazione della versione di sosreport di Apigee

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, controlla 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 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 di 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 gathering 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

Edge for Private Cloud versioni 4.52.01.01 e successive

Lo strumento Sosreport può rilevare i componenti esistenti sul nodo e generare un report di tutti i log richiesti dai team di assistenza per l'analisi.

Per generare un report, utilizza il seguente comando:

apigee-service apigee-sosreport diagnose

Se necessario, puoi aggiungere i seguenti flag:

  • -f | --file | --config : percorso del file di configurazione utilizzato durante la configurazione.
    Example: apigee-service apigee-sosreport diagnose -f /path/to/configuration.file
  • -o | --output : per reindirizzare il report sosreport generato a una directory o un percorso specifico
    Example: apigee-service apigee-sosreport diagnose -o /path/to/output_directory/

Edge for Private Cloud versioni da 4.50.00.11 a 4.52.01.00

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 viene 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 comandi:

  • Utilizzo della versione di sosreport di Apigee:
    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, insieme al 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 è mostrata su STDOUT, insieme al checksum. Ad esempio:

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

sudo man sosreport

Plug-in Apigee

Le sezioni seguenti 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 dal server di gestione:

  • Nome host del server (predefinito)
  • cpuinfo (predefinita)
  • meminfo (predefinito)
  • Impostazioni della macchina virtuale Java (JVM), come memoria, Djdk.tls.allowUnsafeServerCertChange e così via (impostazione predefinita)
  • Log di gestione attuali (predefinito)
  • Dieci output sequenziali di top e jstack (impostazione predefinita)
  • (Facoltativo) Intera cartella dei log di gestione
  • config-files (facoltativo)

Esempi:

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

  • Utilizzo della versione di sosreport di Apigee:
    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 comandi:

  • Utilizzo della versione di sosreport di Apigee:
    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 tutto, inserisci uno dei seguenti valori:

  • Utilizzo della versione di sosreport di Apigee:
    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 processore di gestione (MP):

  • Nome host del server (impostazione predefinita)
  • cpuinfo (predefinita)
  • meminfo (predefinito)
  • buildinfo/release info (default)
  • apigee-all status (predefinito)
  • Dettagli del server (valore predefinito)
  • Impostazioni a livello di JVM, ad esempio memoria, Djdk.tls.allowUnsafeServerCertChange, ecc. (impostazione predefinita)
  • Log MP attuali (predefinito)
  • Dieci output sequenziali di top, jstack e metriche NIO (impostazione predefinita)
  • (Facoltativo) Intera cartella dei log MP
  • Albero di classificazione (facoltativo)
  • Dump dell'heap (facoltativo)
  • config-files (facoltativo)
  • Trace di runtime (facoltativo 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 una delle seguenti opzioni:

  • Utilizzo della versione di sosreport di Apigee:
    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 elementi facoltativi aggiuntivi 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 sosreport di Apigee:
    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

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 sosreport di Apigee:
    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 sosreport di Apigee:
    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 (predefinito)
  • buildinfo/release info (default)
  • apigee-all status (predefinito)
  • Dettagli server (valore predefinito)
  • output ps. In questo modo verranno fornite le impostazioni a livello di JVM, ad esempio memoria, Djdk.tls.allowUnsafeServerCertChange e così via (impostazione predefinita).
  • Log del router attuale (impostazione predefinita)
  • Elenco dei nomi file vhost, inclusi i nomi file non validi (impostazione predefinita)
  • (Facoltativo) Intera cartella dei log del router
  • config-files (facoltativo)

Esempi:

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

  • Utilizzo della versione di sosreport di Apigee:
    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 elementi facoltativi aggiuntivi da raccogliere, oltre a tutti gli elementi predefiniti. Ad esempio, per specificare l'intera cartella dei log utilizzando il flag -k apigee-rrt.all-logs, inserisci uno dei seguenti valori:

  • Utilizzo della versione di sosreport di Apigee:
    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

Allo stesso modo, puoi specificare i seguenti elementi facoltativi:

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

Per raccogliere tutto:

  • Utilizzo della versione di sosreport di Apigee:
    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 della 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 apigee-all version && apigee-all status
  • apigee-cassandra logs: All files under /opt/apigee/var/log/apigee-cassandra/
  • Conteggio dei log di commit
  • Output del comando Top
  • Dump dei thread
  • File di configurazione: cassandra-topology.properties, cassandra.yaml, cassandra-env.sh
  • Output di Nodetool per i seguenti parametri: version, status, ring, info, gossipinfo, compactionstats -H, tpstats, netstats, cfstats, proxyhistograms

Esempio:

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

  • Utilizzo della versione di sosreport di Apigee:
    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