Co monitorować

Edge for Private Cloud w wersji 4.16.09

Zasadniczo w środowiskach produkcyjnych konieczne jest włączenie mechanizmów monitorowania Wdrożenie Apigee Edge na potrzeby 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 Monitorowanie sprawdzonych metod.

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

  • Usługi serwera Java w języku Apigee – obejmują między innymi usługi zarządzania Serwer, procesor wiadomości, serwer Qpid i serwer Postgres.
  • Usługi innych firm – np. Nginx Router, Apache Cassandra, Apache ZooKeeper, OpenLDAP, baza danych PostgreSQL i Qpid.

W przypadku lokalnego wdrożenia Apigee Edge poniżej znajdziesz parametry, które możesz monitorować:

Składnik

Kontrole 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

?

?

?

?

Serwer Qpid

?

?

?

Serwer Postgres

?

?

?

Usługi innych firm

Apache Cassandra,

?

?

Apache ZooKeeper

?

?

OpenLDAP

?

?

Baza danych PostgreSQL

?

?

Qpid

?

?

Nginx Router

?

?

?

Ogólnie po zainstalowaniu Apigee Edge możesz wykonywać te monitorowanie zadania pozwalające śledzić wydajność instalacji Apigee Edge for Private Cloud.

Kontrole stanu systemu

Na wyższym poziomie bardzo ważne jest mierzenie parametrów stanu systemu, takich jak wykorzystanie procesora, wykorzystanie pamięci i możliwość łączenia się z portami. Możesz monitorować poniższe parametry, aby: poznasz podstawowe informacje o stanie systemu.

  • Wykorzystanie procesora – określa podstawowe statystyki (użytkownik/system/we/wy z użyciem I/O) dotyczące wykorzystania procesora. Na przykład łączna liczba procesorów używanych przez system.
  • Wolna/wykorzystana pamięć – określa wykorzystanie pamięci systemowej w bajtach. Może to być na przykład pamięć fizyczna używana przez system.
  • Wykorzystanie miejsca na dysku – określa informacje o systemie plików na podstawie danych. bieżące wykorzystanie dysku. Dotyczy to na przykład miejsca na dysku twardym wykorzystywanego przez system.
  • LoadŚrednia – określa liczbę procesów oczekujących na bieganie.
  • Statystyki sieci – pakiety sieciowe oraz bajty przesłane i oraz błędy transmisji określonego komponentu.

Procesy/weryfikacje zgłoszeń

Na poziomie procesu możesz wyświetlić ważne informacje o wszystkich procesach, które są w domu. 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. Przykład: możesz monitorować, czy istnieje proces Java serwera Apigee.
  • Statystyki wątków: wyświetla podstawowe wzorce wątków, których używa proces. zastosowań. Możesz na przykład monitorować szczytową liczbę wątków i wątków we wszystkich procesach.
  • Wykorzystanie pamięci: możesz sprawdzić wykorzystanie pamięci przez wszystkie procesy Apigee. Możesz na przykład monitorować parametry takie jak wykorzystanie pamięci sterty czy wykorzystanie pamięci innej niż sterta proces.

Sprawdzanie na poziomie interfejsu API

Na poziomie interfejsu API możesz monitorować, czy serwer dla często używanego interfejsu API jest uruchomiony i działa połączeń przesyłanych przez Apigee przez serwer proxy. Można na przykład sprawdzić interfejs API na serwerze zarządzania, routerze i procesora wiadomości, wywołując to polecenie cURL:

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

Gdzie &lt;host&gt; to adres IP. adresu komponentu Apigee Edge. Numer <port> jest specyficzny dla każdego komponentu Edge. Na przykład:

Serwer zarządzania: 8080

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

W poszczególnych sekcjach poniżej znajdziesz informacje o uruchamianiu tego polecenia w przypadku każdego z nich składnik

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 w backendzie (z którym oprogramowanie Apigee współpracuje), aby szybko określić sprawdzić, czy błąd występuje w środowisku oprogramowania Apigee czy w backendzie.

Uwaga: do monitorowania serwerów proxy API możesz też użyć narzędzia Stan API w Apigee. Stan API Health sprawia, zaplanowanych wywołań do serwerów proxy interfejsu API oraz powiadamia Cię o niepowodzeniu i o tym, jak to zrobić. Po udanym wywołaniu Interfejs API Health pokazuje czasy reakcji i może nawet powiadamiać Cię o dużym czasie oczekiwania na odpowiedź. Interfejs API Zdrowie może wykonywać wywołania z różnych lokalizacji na całym świecie, aby porównywać zachowanie interfejsów API między i regionach.

Sprawdzanie przepływu wiadomości

Możesz zbierać dane dotyczące przepływu wiadomości od routerów i podmiotów przetwarzających wiadomości wzorcem/statystykami. 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.

Kontrola stanu routera wiadomości Procesor

Router implementuje 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. W takiej sytuacji router zapisuje wiadomość „Mark Down” w pliku dziennika routera na poziomie /<inst root>/apigee4/var/log/apigee/router/logs/system.log.

Możesz monitorować plik dziennika routera pod kątem tych komunikatów. Jeśli na przykład router pobierze Procesor wiadomości poza rotacją zapisuje 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 /&lt;MP_IP&gt;:&lt;PORT&gt; to adres IP i numer portu za pomocą procesora wiadomości.

Jeśli później Router przeprowadzi sprawdzanie stanu i ustali, że przetwarzacz wiadomości działa prawidłowo, automatycznie włączy go ponownie do 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

Aby skonfigurować Router do wykonywania kontroli stanu, ustaw tę właściwość na true w pliku /<inst root>/apigee4/conf/apigee/router/router.properties:

Client.pool.heartBeat.use.http=true

Następnie zrestartuj router:

> /<inst-root>/apigee4/bin/apigee-service router restart