Monitorowanie operacji akceleratora strefy docelowej usługi Azure Spring Apps
Ten artykuł zawiera uwagi i zalecenia dotyczące możliwości obserwacji aplikacji Spring Boot wdrożonej w usłudze Azure Spring Apps.
Organizacja może zapewnić scentralizowane monitorowanie współużytkowane przez wszystkie obciążenia lub zapewnić dedykowane obszary robocze usługi Azure Monitor Log Analytics na obciążenie. Jeśli korzystasz z zależności od scentralizowanych zasobów, upewnij się, że członkowie zespołu aplikacji mają dostęp do dzienników za pomocą ról kontroli dostępu na podstawie ról (RBAC) platformy Azure.
Aby uzyskać informacje o projekcie platformy, zobacz Zarządzanie obciążeniami i monitorowanie.
Możesz aprowizować własne zasoby monitorowania. Takie podejście zapewnia zespołowi aplikacji większą autonomię i upraszcza ogólne zarządzanie aplikacją. Kompromis może być zwiększony narzut związany z zarządzaniem. Akcelerator strefy docelowej usługi Azure Spring Apps i poniższe wskazówki są oparte na tym podejściu.
Zagadnienia dotyczące projektowania
Dzienniki i metryki. Zbieranie dzienników i metryk emitowanych z aplikacji i zasobów. Dzienniki zapewniają wgląd w operacje obciążenia. Metryki są zbierane w regularnych odstępach czasu i zapewniają szczegółowe informacje niemal w czasie rzeczywistym. Dzienniki i metryki mogą pomóc w badaniach związanych z kondycją i wykorzystaniem zasobów.
Metryki są kluczem do podejmowania decyzji dotyczących skalowania. Możesz zezwolić aplikacjom na skalowanie na podstawie progów metryk lub aplikacje mogą być skalowane w określonym przedziale czasu.
Należy rozważyć przechowywanie tych danych na potrzeby przyszłej analizy. Zachowaj możliwość wizualizowania danych, aby szybko wykrywać trendy.
Instrumentacja. Umieść instrumentację, aby wygenerować bardziej widoczne dane z aplikacji. Aby zebrać informacje o instrumentacji, użyj narzędzia do zarządzania wydajnością aplikacji (APM), takiego jak agent java usługi aplikacja systemu Azure Insights. Połącz diagnostykę platformy z tymi informacjami, aby zapewnić rozszerzone możliwości monitorowania.
Śledzenie rozproszone. Zaimplementuj śledzenie rozproszone, aby uzyskać wgląd w różne usługi w ekosystemie usługi Azure Spring Apps.
Alerty. Zespoły aplikacji muszą otrzymywać powiadomienia o zdarzeniach, które są ważne dla obciążenia. Możesz ustawić alerty monitorujące zasoby na podstawie metryk, takich jak magazyn, szybkość żądań i użycie danych.
Sondy kondycji. Sondy kondycji można skonfigurować w celu wykrywania kondycji usług zaplecza. Sprawdź, jak są skonfigurowane sondy kondycji, aby żądania były kierowane do wystąpień w dobrej kondycji i aby upewnić się, że aplikacja zostanie bezpiecznie zakończona, jeśli usługi zaplecza nie są dostępne.
Zalecenia dotyczące projektowania
Metryki usługi Azure Monitor umożliwiają zbieranie metryk emitowanych z monitorowanych zasobów do bazy danych szeregów czasowych.
W przypadku usługi Azure Spring Apps wyświetl wykresy na każdej stronie przeglądu aplikacji i typowej stronie metryk.
Użyj strony ustawień diagnostycznych w usłudze Azure Spring Apps, aby skonfigurować odpowiednią kombinację ustawień diagnostycznych dla aplikacji.
Uwaga
Istnieje opóźnienie wyświetlania dzienników na koncie magazynu, w centrum zdarzeń lub w usłudze Log Analytics. Jeśli wystąpienia aplikacji Spring zostaną usunięte lub przeniesione w tym czasie, należy usunąć ustawienia diagnostyczne, aby upewnić się, że inna aplikacja o tym samym identyfikatorze zasobu nie będzie ponownie używać tego samego ustawienia diagnostycznego.
Użyj usługi Application Insights jako spójnego narzędzia do monitorowania wydajności aplikacji (APM) we wszystkich składnikach aplikacji, aby zbierać dzienniki aplikacji, metryki i ślady. Może zbierać dane ze wszystkich zależności i śladów oraz może wizualizować kompleksowe transakcje.
Usługa Azure Spring Apps umożliwia zbieranie metryk spring Cloud Resilience4J w usłudze Application Insights. Włącz agenta In-Process Java i skonfiguruj kolekcję wymiarów, aby włączyć tę funkcję.
Usługa Azure Spring Apps integruje rozwiązania Spring Cloud Sleuth i Zipkin z usługą Application Insights.
Wybierz mechanizmy odnajdywania usług, które umożliwiają szybkie odnajdywanie i rejestrowanie wystąpień aplikacji. Opcje różnią się w zależności od warstwy usługi Azure Spring Apps.
- Podstawowa/Standardowa: odnajdywanie usługi Kubernetes lub zarządzany rejestr Spring Cloud Service Registry (przy użyciu eureki)
- Enterprise: Rejestr usługi Tanzu
Używaj razem sond gotowości i aktualności, aby wystąpienia aplikacji w złej kondycji zostały usunięte z funkcji odnajdywania usługi.
Jeśli aplikacja ma dłuższy czas uruchamiania, dostosuj łączny limit
initialDelaySeconds + periodSeconds * failureThreshold
czasu do wartości dłuższej niż czas rozpoczęcia aplikacji. Ta korekta pomaga uniknąć awarii sondy i wymusza ponowne uruchomienie aplikacji.Skonfiguruj sondy kondycji, aby podejmować działania na podstawie polecenia specyficznego dla aplikacji, połączenia gniazda TCP lub żądania HTTP.
W przypadku aplikacji Spring Boot skorzystaj ze wskaźnika kondycji siłownika Spring Boot, aby skonfigurować sondy kondycji.