Wprowadzenie
W tej lekcji przyjrzymy się monitorowaniu pojęć dotyczących aplikacji Java.
Dlaczego warto monitorować?
W dowolnym środowisku ważne jest śledzenie sposobu, w jaki użytkownicy korzystają z systemu, śledzenia użycia zasobów i ogólnie monitorują kondycję i wydajność systemu. Możesz użyć tych informacji jako pomocy diagnostycznej do wykrywania i korygowania problemów, jak również jako pomocy do wykrywania potencjalnych problemów i zapobiegania ich występowaniu.
Formularze monitorowania
Monitorowanie zwykle przyjmuje cztery formy:
Dzienniki: trwałe, niezmienne rekordy zdarzeń przechowywanych w spójnym formacie tabelarycznym, jeśli nie w pełnej bazie danych. Zdarzenie może wskazywać na jeden z wielu warunków, w tym:
- Zmiana stanu monitorowanego składnika (na przykład z "zajęty" na "dostępny").
- Wykonywanie zadania lub sekwencji instrukcji.
- Kamień milowy w postępie danych za pośrednictwem sieci lub dostępności jednostek w sieci.
- Błąd, który w tym kontekście jest zachowaniem, że system lub aplikacja nie został zaprogramowany do obsługi lub ograniczania ryzyka.
Metryki : wartości reprezentujące względną kondycję, stabilność i dostępność usługi lub aplikacji lub infrastruktury, która ją hostuje.
Ślady : rejestruje ścieżki wykonywania dla programów i usług, zwłaszcza w wysoce rozproszonym systemie, wskazując sekwencję instrukcji, które mogły zostać wyzwolone — bezpośrednio lub pośrednio — zdarzenie.
Alerty: alerty proaktywnie powiadamiają o znalezieniu problemów z infrastrukturą lub aplikacją. Umożliwiają one identyfikowanie i rozwiązywanie problemów przed ich zauważeniem przez użytkowników systemu.
Platformy monitorowania platformy Azure
Platforma Azure udostępnia usługę Azure Monitor, która obejmuje zestaw usług, których deweloperzy i administratorzy mogą używać do zbierania, analizowania i wykonywania działań na podstawie danych telemetrycznych dotyczących wydajności aplikacji i infrastruktury, która je hostuje.
Log Analytics to narzędzie w witrynie Azure Portal służące do edytowania i uruchamiania zapytań dzienników z zebranych dzienników usługi Azure Monitor oraz interaktywnego analizowania wyników. Zapytania usługi Log Analytics umożliwiają pobieranie rekordów pasujących do określonych kryteriów, identyfikowanie trendów, analizowanie wzorców i udostępnianie różnych szczegółowych informacji na temat danych.
Application Insights, funkcja usługi Azure Monitor, to rozszerzalna usługa zarządzania wydajnością aplikacji (APM) dla deweloperów i specjalistów DevOps. Automatycznie wykrywa anomalie wydajności i zawiera narzędzia analityczne ułatwiające diagnozowanie problemów oraz zrozumienie, co użytkownicy faktycznie robią z aplikacją.
Alerty usługi Azure Monitor: dane monitorowania mogą być również wysyłane do innych lokalizacji w celu obsługi niektórych scenariuszy, a niektóre zasoby mogą zapisywać w innych lokalizacjach, zanim zostaną zebrane w dziennikach lub metrykach.
- Alerty typu Metryka zapewniają wyzwalacz alertu w przypadku przekroczenia określonego progu. Na przykład alert dotyczący metryki może powiadamiać użytkownika, gdy wykorzystanie procesora CPU jest większe niż 95 procent.
- Alerty dzienników są oparte na danych zapisywanych w plikach dziennika. Na przykład alert dziennika może powiadomić Użytkownika, gdy serwer internetowy zwrócił wiele odpowiedzi 404 lub 500.
Aplikacje, usługi i infrastruktura platformy Azure można monitorować przy użyciu dowolnych systemów monitorowania, takich jak Elastic Stack, Splunk, New Relic, Dynatrace i App Dynamics. W tym module skupimy się jednak na usługach Azure Monitor, Log Analytics i Application Insights.