Co monitorować

Edge for Private Cloud w wersji 4.18.05

Zasadniczo w konfiguracji produkcyjnej konieczne jest włączenie mechanizmów monitorowania we wdrożeniu Apigee Edge dla Private Cloud. Te techniki monitorowania ostrzegają administratorów (lub operatorów) sieci o błędzie lub awarii. Każdy wygenerowany błąd jest zgłaszany jako alert w Apigee Edge. Więcej informacji o alertach znajdziesz w artykule o sprawdzonych metodach monitorowania.

Dla uproszczenia komponenty Apigee dzielą się głównie na 2 kategorie:

  • Usługi serwera Java specyficzne dla Apigee: obejmują serwer zarządzania, procesor wiadomości, serwer Qpid i serwer Postgres.
  • Usługi innych firm: mogą to być Nginx Router, Apache Cassandra, Apache ZooKeeper, OpenLDAP, baza danych PostgreSQL i Qpid.

W przypadku lokalnego wdrożenia Apigee Edge poniższa tabela zawiera szybki przegląd parametrów, które można monitorować:

Komponent Kontrole systemu Statystyki na poziomie procesu Testy na poziomie interfejsu API Testy przepływu wiadomości Konkretne komponenty

Usługi Java w Apigee

Serwer zarządzania

procesor komunikatów

Serwer Qpid

Serwer Postgres

Usługi innych firm

Apache Cassandra

Apache ZooKeeper

OpenLDAP

Baza danych PostgreSQL

Qpid

Router Nginx

Ogólnie po zainstalowaniu Apigee Edge możesz wykonywać poniższe zadania monitorowania, aby śledzić wydajność instalacji Apigee Edge dla Private Cloud.

Kontrole stanu systemu

Bardzo ważne jest pomiary parametrów stanu systemu, takich jak wykorzystanie procesora, pamięci i połączenia portów na wyższym poziomie. Możesz monitorować poniższe parametry, aby poznać podstawowe informacje o stanie systemu.

  • Wykorzystanie procesora: określa podstawowe statystyki wykorzystania procesora (oczekiwanie użytkownika/system/wejście/brak aktywności) dotyczące wykorzystania procesora. Na przykład łączna liczba procesorów używanych przez system.
  • Wolna/używana pamięć: określa wykorzystanie pamięci systemowej w bajtach. Na przykład pamięć fizyczna używana przez system.
  • Wykorzystanie miejsca na dysku:określa informacje o systemie plików na podstawie bieżącego wykorzystania dysku. Na przykład ilość miejsca na dysku twardym używana przez system.
  • Średnie obciążenie: określa liczbę procesów oczekujących na uruchomienie.
  • Statystyki sieci: pakiety sieciowe lub bajty wysłane i odebrane, a także błędy przesyłania dotyczące określonego komponentu.

procesy/sprawdzanie aplikacji;

Na poziomie procesu możesz wyświetlać ważne informacje o wszystkich uruchomionych procesach. Obejmuje to na przykład statystyki wykorzystania pamięci i procesora wykorzystywane przez proces lub aplikację. W przypadku procesów takich jak qpidd, postgres gtm, java itp. możesz monitorować następujące elementy:

  • Identyfikacja procesu: umożliwia określenie konkretnego procesu Apigee. Możesz na przykład monitorować istnienie procesu Java na serwerze Apigee.
  • Statystyki wątków: wyświetl podstawowe wzorce wątków używanych przez proces. Możesz na przykład monitorować maksymalną liczbę wątków dla wszystkich procesów.
  • Wykorzystanie pamięci: wyświetlanie wykorzystania pamięci przez wszystkie procesy Apigee. Możesz na przykład monitorować takie parametry jak wykorzystanie pamięci sterty czy wykorzystanie pamięci innej niż sterta używanej przez proces.

Kontrole na poziomie interfejsu API

Na poziomie interfejsu API możesz sprawdzać, czy serwer działa w przypadku często używanych wywołań interfejsu API przesyłanych przez Apigee. Możesz na przykład sprawdzić interfejs API serwera zarządzania, routera i procesora wiadomości, wywołując to polecenie cURL:

curl http://host:port/v1/servers/self/up

Gdzie host to adres IP komponentu Apigee Edge. Liczba port jest specyficzna dla każdego komponentu Edge. Na przykład:

Serwer zarządzania: 8080

  • Router: 8081
  • Procesor wiadomości: 8082
  • itd.

Informacje o uruchamianiu tego polecenia w przypadku poszczególnych komponentów znajdziesz w poszczególnych sekcjach poniżej

To wywołanie zwraca wartości „true” (prawda) i „false” (fałsz). Aby uzyskać najlepsze wyniki, możesz też wykonywać wywołania interfejsu API bezpośrednio w backendzie (z którym współpracuje oprogramowanie Apigee), aby szybko sprawdzić, czy błąd występuje w środowisku oprogramowania Apigee czy w backendzie.

Sprawdzanie przepływu wiadomości

Możesz zbierać z routerów i procesorów wiadomości dane dotyczące wzorca przepływu wiadomości/statystyk. Dzięki temu możesz monitorować:

  • Liczba aktywnych klientów
  • Liczba odpowiedzi (10X, 20X, 30X, 40X i 50X)
  • Nieudane połączenia

Pomaga to udostępniać panele przepływu komunikatów interfejsu API. Więcej informacji znajdziesz w artykule Jak monitorować.

Kontrola stanu routera procesora wiadomości

Router wdraża mechanizm kontroli stanu, aby określić, które procesory wiadomości działają zgodnie z oczekiwaniami. Jeśli procesor wiadomości zostanie wyłączony lub spowolniony, router może automatycznie wyłączyć go z rotacji. Jeśli tak się stanie, router zapisze komunikaty „Oznacz” w pliku logu routera w lokalizacji /opt/apigee/var/log/edge-router/logs/system.log.

Możesz monitorować plik dziennika routera pod kątem tych komunikatów. Jeśli na przykład router wycofa z rotacji procesor wiadomości, zapisze komunikat w logu w formacie:

2014-05-06 15:51:52,159 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now DISCONNECTED. handle = MP_IP at 1399409512159
2014-04-17 12:54:48,512 org: env: nioEventLoopGroup-2-2 INFO HEARTBEAT - HBTracker.gotResponse() : No HeartBeat detected from /MP_IP:PORT Mark Down

Gdzie MP_IP:PORT to adres IP i numer portu procesora wiadomości.

Jeśli później router wykona kontrolę stanu i stwierdzi, że procesor wiadomości działa prawidłowo, router automatycznie wprowadzi go z powrotem do rotacji. Router zapisuje też w logu komunikat „Znacznik” w formacie:

2014-05-06 16:07:29,054 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now CONNECTED. handle = IP at 1399410449054
2014-04-17 12:55:06,064 org: env: nioEventLoopGroup-4-1 INFO HEARTBEAT - HBTracker.updateHB() : HeartBeat detected from IP:PORT Mark Up