Narzędzie Sosreport

Wyświetlasz dokumentację Apigee Edge.
Zapoznaj się z dokumentacją Apigee X. info

Sosreport to narzędzie do diagnostyki i zbierania danych na poziomie systemu, oparte na oprogramowaniu open source SoS. Narzędzie Sosreport możesz wykorzystać do zbierania informacji, które pomogą Ci debugować problemy w węzłach, w których działa komponent Apigee. Narzędzie zbiera i przechowuje informacje lokalnie w systemie plików węzła.

Narzędzie Sosreport zbiera szczegóły konfiguracji, informacje o systemie i informacje diagnostyczne z systemu oraz zapisuje dane w archiwum. W przypadku komponentów Apigee narzędzie Sosreport zbiera te informacje:

  • Wersja jądra, która jest obecnie używana
  • Załadowane moduły
  • Pliki konfiguracji systemu i usług

Sosreport uruchamia też programy zewnętrzne, aby zebrać dodatkowe informacje, w tym:

  • Dzienniki Apigee ze wszystkich komponentów.
  • Diagnostyka środowiska wykonawczego
  • Dane diagnostyczne Cassandry zebrane za pomocą poleceń narzędzia nodetool.

Narzędzie Sosreport zawiera 2 główne polecenia:

  • sosreport: podstawowe polecenie do zbierania danych i tworzenia raportów.
  • apigee-sosreport: narzędzie pomocnicze służące do instalowaniasosreport i zarządzaniasosreport wtyczkami specyficznymi dla komponentów Apigee.

Instalacja

W tej sekcji opisaliśmy, jak zainstalować sosreport.

Jeśli wersja sosreport w trybie SoS jest już zainstalowana

Jeśli oryginalna wersja SoS sosreport jest już zainstalowana w systemie, nie konfiguruj wersji Apigee, ponieważ ścieżki instalacji mogą się ze sobą pokrywać. Zamiast tego skopiuj wtyczki specyficzne dla Apigee z katalogu /opt/apigee/apigee-sosreport/source/plugin do odpowiedniego katalogu Pythona site-packages za pomocą poleceń podobnych do tych, które pokazano poniżej. Aby na przykład skopiować agigee-mgmt.py:

  • Jeśli używasz Pythona 2, wpisz:
    sudo cp apigee-mgmt.py /usr/lib/python2.7/site-packages/sos/plugins/
  • Jeśli używasz Pythona 3, wpisz:
    sudo cp apigee-mgmt.py /usr/local/lib/python3.6/site-packages/sos/plugins/

Aby sprawdzić, czy wtyczki zostały zainstalowane, wpisz

sudo sosreport --list-plugins

Jeśli masz pytania, skontaktuj się z zespołem pomocy Apigee.

Instalowanie wersji sosreport od Apigee

Jeśli wersja SoS sosreport nie jest jeszcze zainstalowana w Twoim systemie, możesz zainstalować wersję Apigee, wpisując te polecenia na wszystkich węzłach, w których jest zainstalowana usługa Edge for Private Cloud:

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

Aby sprawdzić, czy sosreport jest zainstalowany, potwierdź, że wtyczki związane z Apigee znajdują się w tym katalogu:

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

gdzie pythonx.x to zainstalowana wersja Pythona.

Możesz też uruchomić jedno z tych poleceń:

  • Aby zweryfikować tylko wtyczki specyficzne dla Apigee:
    apigee-service apigee-sosreport diagnose -l

    Zwraca to listę wtyczek specyficznych dla 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
  • Aby zweryfikować wszystkie wtyczki:
    apigee-service apigee-sosreport diagnose -s -l

    Zwraca to listę wtyczek dostępnych w 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→

Tworzenie raportu

Aby utworzyć raport za pomocą narzędzia Sosreport, uruchom polecenie sosreport z wymaganą opcją wtyczki (patrz wtyczki Apigee). Domyślny katalog, w którym jest przechowywany raport, to tmp lub /var/tmp. Możesz zmienić katalog, w którym jest przechowywany raport, przekazując inny katalog do opcji tmp-dir. Aby na przykład utworzyć raport na serwerze zarządzającym i zapisać go w katalogu o nazwie my_report-dir, wpisz jedną z tych komend:

  • Korzystanie z wersji sosreport od Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf -o apigee-mgmt  --batch --tmp-dir=my_report-dir
  • Używanie wersji SoS narzędzia sosreport:
    sudo sosreport -o apigee-mgmt  --batch --tmp-dir=my_report-dir

Raport jest przechowywany w pliku .tar.xz w katalogu określonym za pomocą opcji tmp-dir. Lokalizacja pliku .tar.xz jest wyświetlana w STDOUT wraz z sumą kontrolną. Na przykład:

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

Raport jest przechowywany w pliku .tar.xz w katalogu określonym za pomocą opcji tmp-dir. Lokalizacja urządzenia .tar.xz file jest widoczna na STDOUT, podobnie jak suma kontrolna. Na przykład:

Więcej opcji dotyczących sosreport znajdziesz w pliku man:

sudo man sosreport

Wtyczki Apigee

W sekcjach poniżej opisujemy wtyczki Apigee do narzędzia Sosreport dla tych komponentów:

Serwer zarządzania

Wtyczka apigee-mgmt zbiera z serwera zarządzającego te informacje:

  • nazwa hosta serwera (domyślnie);
  • cpuinfo (domyślnie)
  • meminfo (domyślnie)
  • Ustawienia maszyny wirtualnej Java (JVM), takie jak pamięć,Djdk.tls.allowUnsafeServerCertChange itp. (domyślne)
  • Bieżące logi zarządzania (domyślne)
  • 10 kolejnych wyników poleceń top i jstacks (domyślnie)
  • Cały folder dziennika zarządzania (opcjonalnie)
  • config-files (opcjonalnie)

Przykłady:

Aby zebrać wszystkie domyślne elementy, wpisz jedną z tych wartości:

  • Korzystanie z wersji sosreport od Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch my_report-dir
  • Korzystanie z wersji SoS pakietu sosreport:
    sudo sosreport -o apigee-mgmt --batch my_report-dir

Aby zebrać wszystkie elementy domyślne oraz opcjonalne elementy określone w poleceniu, np. pliki konfiguracyjne i wszystkie logi, wpisz jedno z tych poleceń:

  • Korzystanie z wersji sosreport od 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
  • Korzystanie z wersji SoS pakietu sosreport:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

Aby zebrać wszystkie dane, wpisz jedną z tych wartości:

  • Korzystanie z wersji sosreport od 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

    Możesz też wpisać:

    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -a
  • Korzystanie z wersji SoS pakietu sosreport:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

    Możesz też wpisać:

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

procesor komunikatów

Wtyczka apigee-mp zbiera z procesora zarządzania (MP) te informacje:

  • Nazwa hosta serwera (domyślnie)
  • cpuinfo (domyślnie)
  • meminfo (domyślnie)
  • informacje o kompilacji lub wersji (domyślnie);
  • stan apigee-all (domyślny);
  • szczegóły serwera (domyślne),
  • Ustawienia na poziomie JVM, np. pamięć, Djdk.tls.allowUnsafeServerCertChange itp. (domyślnie)
  • Bieżące logi MP (domyślnie)
  • 10 kolejnych wyników dotyczących najpopularniejszych wątków, zrzutów stosu i danych NIO (domyślnie)
  • Cały folder logów MP (opcjonalnie)
  • Drzewo klasyfikacyjne (opcjonalnie)
  • Zrzut sterty (opcjonalnie)
  • config-files (opcjonalnie)
  • Ślad działania (opcjonalny i tylko wtedy, gdy podano org:env:api:rev detail). Uwaga: wtyczka czeka 25 sekund na zebranie żądań czasu działania.

Przykłady:

Aby zebrać wszystkie domyślne elementy, wpisz jedną z tych wartości:

  • Korzystanie z wersji sosreport od Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch
  • Korzystanie z wersji SoS pakietu sosreport:
    sudo sosreport -o apigee-mp --batch

Możesz też określić dodatkowe opcjonalne elementy do zbierania oprócz wszystkich elementów domyślnych. Aby na przykład określić zrzut sterty za pomocą flagi -k apigee-mp.heap, wpisz jedną z tych wartości:

  • Korzystanie z wersji sosreport od Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.heap
  • Korzystanie z wersji SoS pakietu sosreport:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.heap

Możesz też określić te opcjonalne elementy:

-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

W jednym poleceniu możesz podać wiele opcji. Na przykład:

  • Korzystanie z wersji sosreport od 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
  • Korzystanie z wersji SoS pakietu sosreport:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs

Aby zebrać wszystkie dane z wyjątkiem śladu, wpisz jedną z tych wartości:

  • Korzystanie z wersji sosreport od Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -a
  • Korzystanie z wersji SoS pakietu sosreport:
    sudo sosreport -o apigee-mp --batch -a

Router

Wtyczka apigee-rrt zbiera z routera te informacje:

  • Nazwa hosta serwera (domyślnie)
  • cpuinfo (domyślnie)
  • meminfo (domyślnie)
  • informacje o kompilacji lub wersji (domyślnie);
  • stan apigee-all (domyślny);
  • szczegóły serwera (domyślne),
  • ps. Umożliwi to ustawienia na poziomie JVM, np. pamięć, Djdk.tls.allowUnsafeServerCertChange itp. (domyślnie).
  • Logi bieżącego routera (domyślne)
  • Lista nazw plików vhost, w tym nieprawidłowych nazw plików (domyślnie)
  • Cały folder dziennika routera (opcjonalnie)
  • config-files (opcjonalnie)

Przykłady:

Aby zebrać wszystkie domyślne elementy, wpisz jedną z tych wartości:

  • Korzystanie z wersji sosreport od Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch
  • Korzystanie z wersji SoS pakietu sosreport:
    sudo sosreport -o apigee-rrt --batch

Możesz też określić dodatkowe opcjonalne elementy do zbierania oprócz wszystkich elementów domyślnych. Aby na przykład określić cały folder dziennika za pomocą flagi-k apigee-rrt.all-logs, wpisz jedną z tych wartości:

  • Korzystanie z wersji sosreport od Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -k apigee-rrt.all-logs
  • Korzystanie z wersji SoS pakietu sosreport:
    sudo sosreport -o apigee-rrt --batch -k apigee-rrt.all-logs

Możesz też określić te opcjonalne elementy:

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

Aby zebrać wszystko:

  • Korzystanie z wersji sosreport od Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -a
  • Korzystanie z wersji SoS pakietu sosreport:
    sudo sosreport -o apigee-rrt --batch -a

Cassandra

Wtyczka apigee-cassandra zbiera z węzłów Cassandry te informacje:

  • Statystyki urządzenia:
    "hostname -i"
    "cat /proc/cpuinfo"
    "cat /proc/meminfo"
    "ulimit -a"
    "ps auxw"
    "df -kh"
    "du -sh"
    "netstat -ntlpu"
    "free -h"
    "ifconfig -h"
    "ps -ef"
  • Stan i wersja komponentu Apigee apigee-all version && apigee-all status
  • Logi apigee-cassandra: wszystkie pliki w folderze /opt/apigee/var/log/apigee-cassandra/
  • Liczba logów zatwierdzeń
  • Wynik polecenia Top
  • Zrzut wątków
  • Pliki konfiguracyjne: cassandra-topology.properties, cassandra.yaml, cassandra-env.sh
  • Dane wyjściowe narzędzia nodetool dla tych parametrów: version, status, ring, info, gossipinfo, compactionstats -H, tpstats, netstats, cfstats, proxyhistograms

Przykład:

Aby zebrać wszystkie domyślne elementy, wpisz jedną z tych wartości:

  • Korzystanie z wersji sosreport od Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-cassandra
  • Korzystanie z wersji SoS pakietu sosreport:
    sudo sosreport -o apigee-cassandra