Co monitorować

Edge for Private Cloud w wersji 4.17.09

W ustawieniach produkcyjnych należy zwykle włączyć mechanizmy monitorowania w ramach wdrożenia Apigee Edge for 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 dotyczące monitorowania.

Dla ułatwienia komponenty Apigee są podzielone głównie na 2 kategorie:

  • Usługi serwera Java w Apigee – między innymi serwer zarządzania, procesor komunikatów, serwer Qpid i serwer Postgres.
  • Usługi innych firm – to między innymi router Nginx, Apache Cassandra, Apache ZooKeeper, OpenLDAP, baza danych PostgreSQL i Qpid.

W rozwiązaniu lokalnym Apigee Edge w tabeli poniżej znajdziesz krótki opis parametrów, które możesz monitorować:

Składnik

Sprawdzanie systemu

Statystyki na poziomie procesu

Sprawdzanie na poziomie interfejsu API

Kontrole przepływu wiadomości

Informacje o komponencie

Usługi Java specyficzne dla Apigee

Serwer zarządzania

?

?

?

procesor komunikatów

?

?

?

?

Qpid Server

?

?

?

Serwer Postgres

?

?

?

Usługi zewnętrzne

Apache Cassandra,

?

?

Apache ZooKeeper

?

?

OpenLDAP

?

?

Baza danych PostgreSQL

?

?

Qpid

?

?

Nginx Router

?

?

?

Po zainstalowaniu Apigee Edge możesz wykonywać te czynności monitorowania, aby śledzić wydajność instalacji Apigee Edge for Private Cloud.

Kontrole stanu systemu

Pomiar parametrów stanu systemu, takich jak wykorzystanie procesora, pamięci i połączenia portów na wyższym poziomie, jest bardzo ważny. Aby uzyskać podstawowe informacje o stanie systemu, możesz monitorować te parametry:

  • Wykorzystanie procesora – określa podstawowe statystyki (użytkownik/system/we/wy z użyciem I/O) dotyczące wykorzystania procesora. Na przykład całkowite wykorzystanie procesora przez system.
  • Wolna/wykorzystana 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. Dotyczy to na przykład miejsca na dysku twardym wykorzystywanego przez system.
  • Średnia obciążenia – określa liczbę procesów oczekujących na wykonanie.
  • Statystyki sieci – wysłane i otrzymane pakiety sieciowe lub bajty wraz z błędami przesyłania dotyczącymi określonego komponentu.

Procesy/weryfikacje zgłoszeń

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

  • Identyfikacja procesu: identyfikuj konkretny proces Apigee. Możesz na przykład sprawdzać, czy istnieje proces serwera Java Apigee.
  • Statystyki wątku: wyświetl podstawowe wzorce wątków używane przez proces. Możesz na przykład monitorować liczbę szczytowych wątków i liczbę wątków dla wszystkich procesów.
  • Wykorzystanie pamięci: możesz sprawdzić wykorzystanie pamięci przez wszystkie procesy Apigee. Możesz na przykład monitorować parametry takie jak użycie pamięci stosu i pamięci nienależącej do stosu przez proces.

Sprawdzanie na poziomie interfejsu API

Na poziomie interfejsu API możesz sprawdzać, czy serwer jest uruchomiony i czy działa prawidłowo w przypadku często używanych wywołań interfejsu API obsługiwanych przez Apigee. Możesz na przykład wykonać sprawdzenie interfejsu API na serwerze zarządzania, routerze i przetwarzaczu 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 odpowiednich sekcjach poniżej.

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

Uwaga: do monitorowania serwerów proxy interfejsu API możesz też używać funkcji Stan interfejsu API w usłudze Apigee. Interfejs API Health wykonuje zaplanowane wywołania serwerów proxy interfejsu API i powiadamia Cię o błędach oraz o sposobie ich wykonania. Po udanym wywołaniu interfejs API Health pokazuje czas odpowiedzi, a nawet może Cię powiadomić, gdy czas oczekiwania na odpowiedź jest duży. Interfejs API Google Health może wykonywać wywołania z różnych lokalizacji na świecie, aby porównać działanie interfejsu API w różnych regionach.

Sprawdzanie przepływu wiadomości

Możesz zbierać dane z Routerów i przetwarzaczy wiadomości dotyczące przepływu wiadomości wzorce/statystyki. Dzięki temu możesz monitorować:

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

Dzięki temu możesz udostępniać panele dotyczące przepływu wiadomości w interfejsie API. Więcej informacji:

Kontrola stanu routera procesora wiadomości

Router wdraża mechanizm kontroli stanu, aby określić, które z procesorów wiadomości działają zgodnie z oczekiwaniami. Jeśli wykryjemy, że procesor wiadomości działa wolno lub nie działa, możemy automatycznie wyjąć go z rotacji. Jeśli tak się stanie, router zapisze w pliku dziennika routera komunikaty „znaczniki” w pliku /opt/apigee/var/log/edge-router/logs/system.log.

Możesz sprawdzać te komunikaty w pliku dziennika Routera. Jeśli na przykład router usunie procesor wiadomości z rotacji, zapisze komunikat w logu w postaci:

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, automatycznie umieści go z powrotem w rotacji. Router zapisuje też wiadomość „Mark Up” w dzienniku w formie:

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