Co monitorować

W konfiguracji produkcyjnej należy zwykle włączyć mechanizmy monitorowania w ramach wdrożenia Apigee Edge dla chmury prywatnej. 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.

Komponenty Apigee są podzielone 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: obejmują router Nginx, Apache Cassandra, Apache ZooKeeper, SymasLDAP, bazę danych PostgreSQL i Qpid.

W przypadku wdrożenia lokalnego Apigee Edge w tabeli poniżej znajdziesz szybki przegląd parametrów, które możesz monitorować:

Komponent Sprawdzanie systemu Statystyki na poziomie procesu Sprawdzanie poziomu interfejsu API Sprawdzanie przepływu wiadomości Specyficzne dla komponentu

Usługi Java specyficzne dla Apigee

Serwer zarządzania

procesor komunikatów

Serwer Qpid

Serwer Postgres

Usługi innych firm

Apache Cassandra

Apache ZooKeeper

SymasLDAP

Baza danych PostgreSQL

Qpid

Router Nginx

Po zainstalowaniu Apigee Edge możesz wykonywać te czynności związane z monitorowaniem, aby śledzić wydajność instalacji Apigee Edge for Private Cloud.

Kontrole stanu systemu

Bardzo ważne jest mierzenie parametrów stanu systemu, takich jak wykorzystanie procesora, pamięci i łączność portów na wyższym poziomie. Aby poznać podstawowe informacje o stanie systemu, możesz monitorować te parametry:

  • Wykorzystanie procesora: określa podstawowe statystyki (użytkownik/system/oczekiwanie na wejście/wyjście/bezczynność) dotyczące wykorzystania procesora. Na przykład łączne wykorzystanie procesora przez system.
  • Wolna/używana pamięć: określa wykorzystanie pamięci systemowej w bajtach. Na przykład pamięć fizyczna używana przez system.
  • Użycie miejsca na dysku: określa informacje o systemie plików na podstawie bieżącego użycia dysku. Na przykład miejsce na dysku twardym zajęte przez system.
  • Średnie obciążenie: określa liczbę procesów oczekujących na uruchomienie.
  • Statystyki sieci: pakiety sieciowe lub bajty wysłane i odebrane wraz z błędami transmisji dotyczącymi określonego komponentu.

Procesy i weryfikacje aplikacji

Na poziomie procesu możesz wyświetlić ważne informacje o wszystkich uruchomionych procesach. Obejmują one na przykład statystyki wykorzystania pamięci i procesora przez proces lub aplikację. W przypadku procesów takich jak Qpid, Postgres Postmaster czy Java możesz monitorować te elementy:

  • Identyfikacja procesu: identyfikowanie konkretnego procesu Apigee. Możesz na przykład monitorować istnienie procesu Java serwera Apigee.
  • Statystyki wątków: wyświetl wzorce wątków, których używa proces. Możesz na przykład monitorować maksymalną liczbę wątków i liczbę wątków we wszystkich procesach.
  • Wykorzystanie pamięci: wyświetl wykorzystanie pamięci przez wszystkie procesy Apigee. Możesz na przykład monitorować parametry takie jak użycie pamięci sterty i pamięci niesterty przez proces.

Sprawdzanie na poziomie interfejsu API

Na poziomie interfejsu API możesz monitorować, czy serwer jest włączony i działa w przypadku często używanych wywołań interfejsu API przekazywanych przez Apigee. Możesz na przykład przeprowadzić sprawdzanie interfejsu API na serwerze zarządzającym, routerze i procesorze wiadomości, wywołując to polecenie curl:

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

gdzie host to adres IP komponentu Apigee Edge. Numer port jest przypisany do każdego komponentu Edge. Na przykład:

Serwer zarządzania: 8080

  • Router: 8081
  • Procesor komunikatów: 8082
  • itd.

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

To wywołanie zwraca wartości „true” i „false”. Aby uzyskać najlepsze wyniki, możesz też wysyłać wywołania interfejsu API bezpośrednio na backendzie (z którym wchodzi w interakcję oprogramowanie Apigee), aby szybko określić, czy błąd występuje w środowisku oprogramowania Apigee, czy na backendzie.

Sprawdzanie przepływu wiadomości

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

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

Ułatwia to tworzenie paneli do monitorowania przepływu wiadomości API. Więcej informacji znajdziesz w artykule Jak monitorować.

Kontrola stanu routera procesora wiadomości

Router implementuje mechanizm kontroli stanu, aby określić, które procesory wiadomości działają zgodnie z oczekiwaniami. Jeśli procesor wiadomości zostanie wykryty jako niedostępny lub powolny, router może automatycznie wyłączyć go z rotacji. W takim przypadku router zapisuje w pliku dziennika routera w lokalizacji /opt/apigee/var/log/edge-router/logs/system.log wiadomości „Mark Down”.

Możesz monitorować plik dziennika routera pod kątem tych komunikatów. Jeśli na przykład Router wyłączy z rotacji Procesor wiadomości, zapisze w dzienniku wiadomość 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 przeprowadzi kontrolę stanu i stwierdzi, że procesor wiadomości działa prawidłowo, automatycznie przywróci go do puli. Router zapisuje też w dzienniku wiadomość „Mark Up” 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