Co monitorować

Edge for Private Cloud wer. 4.17.09

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 Sprawdzone metody 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 – takie jak 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

Kontrole na poziomie interfejsu API

Weryfikacja 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 dotyczące wykorzystania procesora (oczekiwanie użytkownika/system/wejście/brak aktywności). 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. Każdy komponent Edge ma przypisany numer <port>. 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.

Uwaga: aby monitorować serwery proxy API, możesz też użyć narzędzia Apigee API Health. API Health wykonuje zaplanowane wywołania do serwerów proxy interfejsu API i powiadamia Cię o błędach i sposobie ich działania. Jeśli wywołania zakończą się powodzeniem, API Health pokaże czas odpowiedzi i może nawet powiadomić Cię o dużym czasie oczekiwania na odpowiedź. Interfejs API Health może wykonywać wywołania z różnych lokalizacji na całym świecie w celu porównywania działania interfejsów API w różnych regionach.

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:

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 „Oznaczenie” w pliku dziennika routera pod adresem /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