Sosreport-Tool

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zu Apigee X
info

Sosreport ist ein Diagnosetool auf Systemebene, das auf der Open-Source-Software SoS basiert. Mit dem Tool „Sosreport“ können Sie Informationen erfassen, die Ihnen bei der Behebung von Problemen auf Knoten helfen, auf denen eine Apigee-Komponente ausgeführt wird. Das Tool erfasst und speichert Informationen lokal im Dateisystem des Knotens.

Das Tool „Sosreport“ erfasst Konfigurationsdetails, Systeminformationen und Diagnoseinformationen von Ihrem System und speichert die Daten in einem Archiv. Für Apigee-Komponenten werden mit Sosreport die folgenden Informationen erfasst:

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

Sosreport führt auch externe Programme aus, um weitere Informationen zu erfassen, darunter:

  • Apigee-Logs aus allen Komponenten.
  • Laufzeitdiagnose
  • Cassandra-Diagnosedaten, die mit „nodetool“-Befehlen erhoben wurden.

Das Sosreport-Tool enthält zwei Hauptbefehle:

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

Installation

In der folgenden Tabelle finden Sie Informationen zur Verfügbarkeit und Installationsmethode für das Sosreport-Tool in den von Edge for Private Cloud unterstützten Versionen.

OPDK-Version Neuinstallation Direktes Upgrade
4.50.00.11 – 4.52.01.00 Manuelle Installation erforderlich Manuelle Installation erforderlich
4.52.01.01+ Standardmäßig installiert Standardmäßig installiert
Amazon Linux 2023+ Nicht unterstützt Nicht unterstützt

Das Sosreport-Tool ist standardmäßig auf allen Knoten installiert, wenn Sie Edge for Private Cloud-Versionen 4.52.01.01 und höher einrichten oder darauf aktualisieren.

Mit dem folgenden Befehl können Sie die Installation und Version des Sosreport-Tools und seiner Plug-ins prüfen:

apigee-service apigee-sosreport version

Verwenden Sie den folgenden Befehl, um alle Plugins aufzulisten, die das Sosreport-Tool unterstützen:

sudo sosreport --list-plugins

Führen Sie den folgenden Befehl aus, um nur Apigee-spezifische Plug-ins aufzulisten:

sudo sosreport --list-plugins | grep apigee

Für Edge for Private Cloud-Versionen 4.50.00.11 bis 4.52.01.00 ist das Sosreport-Tool verfügbar, erfordert aber je nach Umgebung möglicherweise eine manuelle Einrichtung.

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 Version von Apigee nicht ein, da die Installationspfade in Konflikt geraten können. Kopieren Sie stattdessen die Apigee-spezifischen Plug-ins aus dem Verzeichnis /opt/apigee/apigee-sosreport/source/plugin in das entsprechende Python-Verzeichnis site-packages. Verwenden Sie dazu einen Befehl wie die unten gezeigten. So kopieren Sie beispielsweise apigee-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/

Geben Sie Folgendes ein, um zu prüfen, ob die Plug-ins installiert wurden:

sudo sosreport --list-plugins

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

Im folgenden Abschnitt wird beschrieben, wie Sie `sosreport` für die Versionen 4.50.00.11 bis 4.52.01.00 installieren.

Apigee-Version von sosreport installieren

Wenn die SoS-Version von sosreport noch nicht auf Ihrem System installiert ist, können Sie die Version von Apigee installieren, indem Sie die folgenden Befehle auf allen Knoten eingeben, 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

Um zu testen, ob sosreport installiert ist, prüfen Sie, ob sich die mit Apigee verknüpften Plug-ins im folgenden Verzeichnis befinden:

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

Dabei ist pythonx.x die installierte Python-Version.

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 Apigee-spezifischer 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 gathering class
  • So überprüfen 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→

Erstellen eines Berichts

Edge for Private Cloud-Versionen 4.52.01.01 und höher

Mit dem Tool „Sosreport“ können vorhandene Komponenten auf Ihrem Knoten erkannt und ein Bericht mit allen Protokollen generiert werden, die für die Analyse durch Supportteams erforderlich sind.

Verwenden Sie den folgenden Befehl, um einen Bericht zu generieren:

apigee-service apigee-sosreport diagnose

Bei Bedarf können Sie die folgenden Flags hinzufügen:

  • -f | --file | --config : Pfad zur Konfigurationsdatei, die während der Einrichtung verwendet wird.
    Example: apigee-service apigee-sosreport diagnose -f /path/to/configuration.file
  • -o | --output : Um den generierten sosreport in ein bestimmtes Verzeichnis oder einen bestimmten Pfad umzuleiten
    Example: apigee-service apigee-sosreport diagnose -o /path/to/output_directory/

Edge for Private Cloud-Versionen 4.50.00.11 bis 4.52.01.00

Wenn Sie einen Bericht mit dem Sosreport-Tool erstellen möchten, führen Sie den Befehl sosreport mit der erforderlichen Plugin-Option aus (siehe Apigee-Plug-ins). Das Standardverzeichnis, in dem der Bericht gespeichert wird, ist entweder tmp oder /var/tmp. Sie können das Verzeichnis ändern, in dem der Bericht gespeichert wird, indem Sie ein anderes Verzeichnis an die Option tmp-dir übergeben. Wenn Sie beispielsweise einen Bericht zum Management Server erstellen und in einem Verzeichnis namens my_report-dir speichern möchten, geben Sie Folgendes ein:

  • Apigee-Version von sosreport verwenden:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf -o apigee-mgmt  --batch --tmp-dir=my_report-dir
  • So verwenden Sie die SoS-Version von „sosreport“:
    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. Der Speicherort der Datei .tar.xz file und die Prüfsumme werden auf 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 erhebt die folgenden Informationen vom Management Server:

  • Server-Hostname (Standard)
  • cpuinfo (Standard)
  • meminfo (Standard)
  • Einstellungen für die Java Virtual Machine (JVM), z. B. Speicher, Djdk.tls.allowUnsafeServerCertChange usw. (Standard)
  • Aktuelle Management-Logs (Standard)
  • Zehn aufeinanderfolgende Top- und Jstacks-Ausgaben (Standard)
  • Gesamter Ordner „Verwaltungsprotokoll“ (optional)
  • config-files (optional)

Beispiele:

Geben Sie einen der folgenden Befehle ein, um alle Standardelemente zu erfassen:

  • Apigee-Version von sosreport verwenden:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch my_report-dir
  • So verwenden Sie die SoS-Version von sosreport:
    sudo sosreport -o apigee-mgmt --batch my_report-dir

Wenn Sie alle Standardelemente und auch die im Befehl angegebenen optionalen Elemente, z. B. Konfigurationsdateien und alle Logs, erfassen möchten, geben Sie Folgendes ein:

  • Apigee-Version von sosreport verwenden:
    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
  • So verwenden Sie die SoS-Version von sosreport:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

Geben Sie eines der folgenden Elemente ein, um alles zu erfassen:

  • Apigee-Version von sosreport verwenden:
    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 Folgendes eingeben:

    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -a
  • So verwenden Sie die SoS-Version von sosreport:
    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):

  • Server-Hostname (Standard)
  • cpuinfo (Standard)
  • meminfo (Standard)
  • buildinfo/release info (Standard)
  • Status „apigee-all“ (Standard)
  • Serverdetails (Standard)
  • Einstellungen auf JVM-Ebene, z. B. Arbeitsspeicher, Djdk.tls.allowUnsafeServerCertChange usw. (Standard)
  • Aktuelle MP-Logs (Standard)
  • Zehn aufeinanderfolgende Top-, jstacks- und NIO-Messwerte (Standard)
  • Gesamter MP-Logordner (optional)
  • Klassifikationsbaum (optional)
  • Heap-Dump (optional)
  • config-files (optional)
  • Laufzeittrace (optional und nur, wenn org:env:api:rev detail angegeben ist). Hinweis: Das Plug-in wartet 25 Sekunden, um die Laufzeitanfragen zu erfassen.

Beispiele:

Geben Sie einen der folgenden Befehle ein, um alle Standardelemente zu erfassen:

  • Apigee-Version von sosreport verwenden:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch
  • So verwenden Sie die SoS-Version von sosreport:
    sudo sosreport -o apigee-mp --batch

Sie können auch zusätzliche optionale Elemente angeben, die zusätzlich zu allen Standardelementen erfasst werden sollen. Wenn Sie beispielsweise den Heap-Dump mit dem Flag -k apigee-mp.heap angeben möchten, geben Sie Folgendes ein:

  • Apigee-Version von sosreport verwenden:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.heap
  • So verwenden Sie die SoS-Version von sosreport:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.heap

Sie können auch 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 mehrere Optionen in einem einzigen Befehl angeben. Beispiel:

  • Apigee-Version von sosreport verwenden:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs
  • So verwenden Sie die SoS-Version von sosreport:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs

Wenn Sie alles außer dem Trace erfassen möchten, geben Sie einen der folgenden Werte ein:

  • Apigee-Version von sosreport verwenden:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -a
  • So verwenden Sie die SoS-Version von sosreport:
    sudo sosreport -o apigee-mp --batch -a

Router

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

  • Server-Hostname (Standard)
  • cpuinfo (Standard)
  • meminfo (Standard)
  • buildinfo/release info (Standard)
  • Status „apigee-all“ (Standard)
  • Serverdetails (Standard)
  • ps-Ausgabe. Dadurch werden Einstellungen auf JVM-Ebene festgelegt, z. B. für Arbeitsspeicher und Djdk.tls.allowUnsafeServerCertChange (Standard).
  • Aktuelle Router-Logs (Standard)
  • Liste der VHost-Dateinamen, einschließlich ungültiger Dateinamen (Standard)
  • Gesamter Router-Logordner (optional)
  • config-files (optional)

Beispiele:

Geben Sie einen der folgenden Befehle ein, um alle Standardelemente zu erfassen:

  • Apigee-Version von sosreport verwenden:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch
  • So verwenden Sie die SoS-Version von sosreport:
    sudo sosreport -o apigee-rrt --batch

Sie können auch zusätzliche optionale Elemente angeben, die neben allen Standardelementen erfasst werden sollen. Wenn Sie beispielsweise den gesamten Log-Ordner mit dem Flag -k apigee-rrt.all-logs angeben möchten, geben Sie Folgendes ein:

  • Apigee-Version von sosreport verwenden:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -k apigee-rrt.all-logs
  • So verwenden Sie die SoS-Version von sosreport:
    sudo sosreport -o apigee-rrt --batch -k apigee-rrt.all-logs

Sie können auch die folgenden optionalen Elemente angeben:

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

So sammeln Sie alles:

  • Apigee-Version von sosreport verwenden:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -a
  • So verwenden Sie die SoS-Version von sosreport:
    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 der Apigee-Komponente apigee-all version && apigee-all status
  • apigee-cassandra-Logs: Alle Dateien unter /opt/apigee/var/log/apigee-cassandra/
  • Anzahl der Commit-Logs
  • Ausgabe des Befehls „top“
  • Thread-Dump
  • Konfigurationsdateien: cassandra-topology.properties, cassandra.yaml, cassandra-env.sh
  • Nodetool-Ausgabe für die folgenden Parameter: version, status, ring, info, gossipinfo, compactionstats -H, tpstats, netstats, cfstats, proxyhistograms

Beispiel:

Geben Sie einen der folgenden Befehle ein, um alle Standardelemente zu erfassen:

  • Apigee-Version von sosreport verwenden:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-cassandra
  • So verwenden Sie die SoS-Version von sosreport:
    sudo sosreport -o apigee-cassandra