Sosreport-Tool

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

Sosreport ist ein Tool zur Diagnose und Datenerfassung 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 Daten 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 diesem Abschnitt wird erläutert, wie Sie sosreport installieren.

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 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/

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.

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 zusammenhängenden 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 gatehring 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

Wenn Sie einen Bericht mit dem Sosreport-Tool erstellen möchten, führen Sie den Befehl sosreport mit der erforderlichen Plug-in-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 ist. Übergeben Sie dazu 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 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
  • SoS-Version von „sosreport“ verwenden:
    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 von .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 Ausgaben von „top“ und „jstacks“ (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 Ausgaben von „top“, „jstacks“ und NIO-Messwerten (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 neben 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 Folgendes 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 erhebt 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, Djdk.tls.allowUnsafeServerCertChange usw. (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 Logordner 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