Sosreport-Tool

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Sosreport ist ein Diagnose- und Datenerfassungstool auf Systemebene, das auf der SoS basiert. Mit dem Sosreport-Tool können Sie Informationen erfassen, die Ihnen bei der Fehlerbehebung auf Knoten helfen, auf denen eine Apigee-Komponente ausgeführt wird. Das Tool erfasst und speichert Informationen lokal im Dateisystem des Knotens.

Das Sosreport-Tool erfasst Konfigurationsdetails, Systeminformationen und Diagnosedaten von Ihrem System und speichert die Daten in einem Archiv. Für Apigee-Komponenten erhebt Sosreport Folgendes:

  • Die ausgeführte Kernel-Version
  • Geladene Module
  • System- und Dienstkonfigurationsdateien

Darüber hinaus führt Sosreport externe Programme aus, um weitere Informationen zu erfassen, darunter:

  • Apigee-Logs aus allen Komponenten.
  • Laufzeitdiagnose
  • Cassandra-Diagnosen, die mithilfe von nodetool-Befehlen erfasst wurden.

Das Sosreport-Tool enthält zwei Hauptbefehle:

  • sosreport: Der primäre Befehl zum Erfassen von Daten und Erstellen von Berichten.
  • apigee-sosreport: Ein Hilfstool zum Installieren von sosreport und Verwalten von sosreport-Plug-ins, die für Apigee-Komponenten spezifisch sind.

Installation

In diesem Abschnitt wird die Installation von sosreport erläutert.

Wenn die SoS-Version von sosreport bereits installiert ist

Wenn die ursprüngliche SoS-Version von sosreport bereits auf Ihrem System installiert ist, richten Sie die Apigee-Version nicht ein, da die Installationspfade zu Konflikten führen können. Kopieren Sie stattdessen die Apigee-spezifischen Plug-ins mit einem Befehl wie dem unten gezeigten aus dem Verzeichnis /opt/apigee/apigee-sosreport/source/plugin in das entsprechende Python-Verzeichnis site-packages. So kopieren Sie beispielsweise agigee-mgmt.py:

  • Wenn Sie Python 2 verwenden, geben Sie Folgendes ein:
    sudo cp apigee-mgmt.py /usr/lib/python2.7/site-packages/sos/plugins/
  • Wenn Sie Python 3 verwenden, geben Sie Folgendes ein:
    sudo cp apigee-mgmt.py /usr/local/lib/python3.6/site-packages/sos/plugins/

Um zu überprüfen, ob die Plug-ins installiert wurden, geben Sie

sudo sosreport --list-plugins

Wenn Sie Fragen haben, wenden Sie sich an den Apigee-Support.

Apigee-Version von sosreport wird installiert

Wenn die SoS-Version von sosreport noch nicht auf Ihrem System installiert ist, können Sie die Apigee-Version installieren. Geben Sie dazu die folgenden Befehle auf allen Knoten ein, auf denen Edge for Private Cloud installiert ist:

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

Prüfen Sie, ob sich die Plug-ins für Apigee im folgenden Verzeichnis befinden, um zu testen, ob sosreport installiert ist:

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

Dabei ist pythonx.x die installierte Version von Python.

Alternativ können Sie einen der folgenden Befehle ausführen:

  • So prüfen Sie nur Apigee-spezifische Plug-ins:
    apigee-service apigee-sosreport diagnose -l

    Dadurch wird die folgende Liste von Apigee-spezifischen Plug-ins zurückgegeben.

    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
  • So verifizieren Sie alle Plug-ins:
    apigee-service apigee-sosreport diagnose -s -l

    Dadurch wird die folgende Liste der mit sosreport verfügbaren Plug-ins zurückgegeben:

    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

Zum Erstellen eines Berichts mit dem Sosreport-Tool führen Sie den Befehl sosreport mit der erforderlichen Plug-in-Option aus (siehe Apigee-Plug-ins). Das Standardverzeichnis für den Bericht ist tmp oder /var/tmp. Sie können das Verzeichnis ändern, in dem der Bericht gespeichert wird. Dazu übergeben Sie ein anderes Verzeichnis an die Option tmp-dir. Wenn Sie beispielsweise einen Bericht auf dem Management Server erstellen und in einem Verzeichnis mit dem Namen my_report-dir speichern möchten, geben Sie eine der folgenden Optionen ein:

  • Verwendet die Apigee-Version von sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf -o apigee-mgmt  --batch --tmp-dir=my_report-dir
  • Es wird die SoS-Version von sosreport verwendet:
    sudo sosreport -o apigee-mgmt  --batch --tmp-dir=my_report-dir

Der Bericht wird in einer .tar.xz-Datei in dem Verzeichnis gespeichert, das Sie mit der Option tmp-dir angeben. Der Speicherort der Datei .tar.xz und die Prüfsumme werden auf STDOUT angezeigt. Beispiel:

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

Der Bericht wird in einer .tar.xz-Datei in dem Verzeichnis gespeichert, das Sie mit der Option tmp-dir angeben. Die Position von .tar.xz file und die Prüfsumme werden in STDOUT angezeigt. Beispiel:

Weitere verfügbare Optionen für sosreport finden Sie in der Datei man:

sudo man sosreport

Apigee-Plug-ins

In den folgenden Abschnitten werden Apigee-Plug-ins für das Sosreport-Tool für die folgenden Komponenten beschrieben:

Verwaltungsserver

Das apigee-mgmt-Plug-in erfasst die folgenden Informationen vom Verwaltungsserver:

  • Hostname des Servers (Standard)
  • cpuinfo (Standardeinstellung)
  • meminfo (Standard)
  • Einstellungen für Java Virtual Machine (JVM), z. B. Arbeitsspeicher, Djdk.tls.allowUnsafeServerCertChange usw. (Standardeinstellung)
  • Aktuelle Verwaltungslogs (Standard)
  • Zehn sequenzielle Top- und jstacks-Ausgabe (Standard)
  • Gesamter Verwaltungsprotokollordner (optional)
  • Konfigurationsdateien (optional)

Beispiele:

Um alle Standardelemente zu erfassen, geben Sie eine der folgenden Optionen ein:

  • Verwendet die Apigee-Version von sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch my_report-dir
  • Es wird die SoS-Version von sosreport verwendet:
    sudo sosreport -o apigee-mgmt --batch my_report-dir

Wenn Sie alle Standardelemente sowie die im Befehl angegebenen optionalen Elemente erfassen möchten, z. B. Konfigurationsdateien und alle Logs, geben Sie eine der folgenden Optionen ein:

  • Verwendet die Apigee-Version von 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
  • Es wird die SoS-Version von sosreport verwendet:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

Geben Sie eine der folgenden Eingaben ein, um alle Daten zu erfassen:

  • Verwendet die Apigee-Version von 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

    Alternativ können Sie auch Folgendes eingeben:

    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -a
  • Es wird die SoS-Version von sosreport verwendet:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

    Alternativ können Sie Folgendes eingeben:

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

Message Processor

Das apigee-mp-Plug-in erfasst die folgenden Informationen vom Management Processor (MP):

  • Hostname des Servers (Standard)
  • cpuinfo (Standardeinstellung)
  • meminfo (Standard)
  • buildinfo/release info (Standard)
  • Apigee-all-Status (Standard)
  • Serverdetails (Standard)
  • Einstellungen auf JVM-Ebene, z. B. Arbeitsspeicher, Djdk.tls.allowUnsafeServerCertChange usw. (Standardeinstellung)
  • Aktuelle MP-Protokolle (Standard)
  • Zehn sequenzielle Top-, jstacks- und NIO-Messwerte (Standard)
  • Gesamter MP-Protokollordner (optional)
  • Klassifizierungsbaum (optional)
  • Heap-Dump (optional)
  • Konfigurationsdateien (optional)
  • Laufzeit-Trace (optional und nur, wenn org:env:api:rev detail angegeben ist). Hinweis: Das Plug-in wartet 25 Sekunden, um die Laufzeitanfragen zu erfassen.

Beispiele:

Um alle Standardelemente zu erfassen, geben Sie eine der folgenden Optionen ein:

  • Verwendet die Apigee-Version von sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch
  • Es wird die SoS-Version von sosreport verwendet:
    sudo sosreport -o apigee-mp --batch

Zusätzlich zu allen Standardelementen können Sie auch zusätzliche optionale Elemente angeben, die Sie erfassen möchten. Wenn Sie beispielsweise den Heap-Dump mit dem Flag -k apigee-mp.heap angeben möchten, geben Sie eine der folgenden Optionen ein:

  • Verwendet die Apigee-Version von sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.heap
  • Es wird die SoS-Version von sosreport verwendet:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.heap

Auf ähnliche Weise können Sie die folgenden optionalen Elemente angeben:

-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

Sie können in einem einzigen Befehl mehrere Optionen angeben. Beispiel:

  • Verwendet die Apigee-Version von 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
  • Es wird die SoS-Version von sosreport verwendet:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs

Um alles außer Trace zu erfassen, geben Sie einen der folgenden Werte ein:

  • Verwendet die Apigee-Version von sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -a
  • Es wird die SoS-Version von sosreport verwendet:
    sudo sosreport -o apigee-mp --batch -a

Router

Das apigee-rrt-Plug-in erfasst die folgenden Informationen vom Router:

  • Hostname des Servers (Standard)
  • cpuinfo (Standardeinstellung)
  • meminfo (Standard)
  • buildinfo/release info (Standard)
  • Apigee-all-Status (Standard)
  • Serverdetails (Standard)
  • ps-Ausgabe. Dadurch werden Einstellungen auf JVM-Ebene festgelegt, z. B. Arbeitsspeicher, Djdk.tls.allowUnsafeServerCertChange und so weiter (Standard).
  • Aktuelle Routerlogs (Standard)
  • Liste der VHost-Dateinamen einschließlich fehlerhafter Dateinamen (Standardeinstellung)
  • Gesamter Router-Logordner (optional)
  • Konfigurationsdateien (optional)

Beispiele:

Um alle Standardelemente zu erfassen, geben Sie eine der folgenden Optionen ein:

  • Verwendet die Apigee-Version von sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch
  • Es wird die SoS-Version von sosreport verwendet:
    sudo sosreport -o apigee-rrt --batch

Zusätzlich zu allen Standardelementen können Sie auch zusätzliche optionale Elemente angeben, die Sie erfassen möchten. Wenn Sie beispielsweise den gesamten Logordner mit dem Flag -k apigee-rrt.all-logs angeben möchten, geben Sie eine der folgenden Optionen ein:

  • Verwendet die Apigee-Version von sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -k apigee-rrt.all-logs
  • Es wird die SoS-Version von sosreport verwendet:
    sudo sosreport -o apigee-rrt --batch -k apigee-rrt.all-logs

Auf ähnliche Weise können Sie die folgenden optionalen Elemente angeben:

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

So erfassen Sie alles:

  • Verwendet die Apigee-Version von sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -a
  • Es wird die SoS-Version von sosreport verwendet:
    sudo sosreport -o apigee-rrt --batch -a

Cassandra

Das apigee-cassandra-Plug-in erfasst die folgenden Informationen von Cassandra-Knoten:

  • Maschinenstatistiken:
    "hostname -i"
    "cat /proc/cpuinfo"
    "cat /proc/meminfo"
    "ulimit -a"
    "ps auxw"
    "df -kh"
    "du -sh"
    "netstat -ntlpu"
    "free -h"
    "ifconfig -h"
    "ps -ef"
  • Status und Version von Apigee-Komponente und apigee-all-Version und apigee-all-Status
  • Apigee-cassandra-Logs: Alle Dateien unter /opt/apigee/var/log/apigee-cassandra/
  • Anzahl der Commit-Logs
  • Ausgabe des Befehls Oben
  • Thread-Dump
  • Konfigurationsdateien: cassandra-topology.properties, cassandra.yaml, cassandra-env.sh
  • Nodetool-Ausgabe für die folgenden Parameter: version, status, ring, info, gossipinfo, redaktion -H, tpstats, netstats, cfstats, proxyhistograms

Beispiel:

Um alle Standardelemente zu erfassen, geben Sie eine der folgenden Optionen ein:

  • Verwendet die Apigee-Version von sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-cassandra
  • Es wird die SoS-Version von sosreport verwendet:
    sudo sosreport -o apigee-cassandra