Zalecenia dotyczące projektowania niezawodnej strategii monitorowania i zgłaszania alertów

Dotyczy tego zalecenia dotyczącego listy kontrolnej niezawodności platformy Azure Well-Architected Framework:

RE:10 Mierzenie i publikowanie wskaźników kondycji rozwiązania. Ciągłe przechwytywanie czasu pracy i innych danych niezawodności z całego obciążenia, a także z poszczególnych składników i kluczowych przepływów.

W tym przewodniku opisano zalecenia dotyczące projektowania niezawodnej strategii monitorowania i zgłaszania alertów. Zaimplementuj tę strategię, aby zapewnić zespołom operacyjnym informacje o stanie kondycji środowiska i zapewnić spełnienie ustalonych celów dotyczących niezawodności dla obciążenia.

Definicje

Okres Definicja
Metryki Wartości liczbowe, które są zbierane w regularnych odstępach czasu. Metryki opisują niektóre aspekty systemu w określonym czasie.
Dzienniki zasobów Dane generowane przez system. Zawiera on informacje o stanie systemu.
Ślady Dane zawierające informacje o ścieżce, którą żądanie przechodzi przez usługi i składniki.

Kluczowe strategie projektowania

Przed utworzeniem strategii monitorowania i zgłaszania alertów wykonaj następujące zadania dla obciążenia w ramach planowania niezawodności:

Utwórz strategię monitorowania i zgłaszania alertów, aby zapewnić niezawodne działanie obciążenia. Strategia monitorowania i zgłaszania alertów zapewnia wiedzę zespołom operacyjnym, dzięki czemu są powiadamiani o zmianach stanu obciążenia i mogą szybko rozwiązywać problemy. Utwórz niezawodną i niezawodną strategię monitorowania, tworząc model kondycji dla przepływów krytycznych i składników, które składają się z tych krytycznych przepływów. Model kondycji definiuje stan dobrej kondycji, obniżonej kondycji i złej kondycji. Zaprojektuj stan operacyjny, aby natychmiast przechwycić zmiany w tych stanach. Gdy stany kondycji zmieniają się z dobrej kondycji na obniżoną lub złą kondycję, mechanizmy zgłaszania alertów wyzwalają automatyczne środki naprawcze i powiadamiają odpowiednie zespoły.

Zaimplementuj poniższe zalecenia, aby zaprojektować strategię monitorowania i zgłaszania alertów spełniającą wymagania firmy.

Wskazówki ogólne

  • Zapoznaj się z różnicą między metrykami, dziennikami i śladami.

  • Włącz rejestrowanie dla wszystkich zasobów w chmurze. Użyj automatyzacji i ładu we wdrożeniach, aby włączyć rejestrowanie diagnostyczne w całym środowisku.

  • Przekaż wszystkie dzienniki diagnostyczne do scentralizowanej platformy ujścia danych i analizy, takiej jak obszar roboczy usługi Log Analytics. Jeśli masz wymagania dotyczące suwerenności danych regionalnych, musisz użyć lokalnych ujściów danych w regionach, które podlegają tym wymaganiom.

Kompromis: Istnieją konsekwencje związane z przechowywaniem i wykonywaniem zapytań dotyczących dzienników. Zwróć uwagę, jak analiza dzienników i przechowywanie wpływają na budżet, i określ najlepszą równowagę wykorzystania, aby spełnić twoje wymagania. Aby uzyskać więcej informacji, zobacz Najlepsze rozwiązania dotyczące optymalizacji kosztów.

  • Jeśli obciążenia podlegają co najmniej jednej strukturze zgodności, niektóre dzienniki składników obsługujące poufne informacje podlegają również tym strukturom. Wysyłanie odpowiednich dzienników składników do systemu zarządzania informacjami i zdarzeniami zabezpieczeń (SIEM), takiego jak Microsoft Sentinel.

  • Utwórz zasady przechowywania dzienników , które obejmują wymagania dotyczące przechowywania długoterminowego, które platformy zgodności nakładają na obciążenie.

  • Użyj rejestrowania strukturalnego dla wszystkich komunikatów dziennika, aby zoptymalizować wykonywanie zapytań dotyczących danych dziennika.

  • Skonfiguruj alerty do wyzwalania, gdy wartości przechodzą progi krytyczne, które korelują ze zmianą stanu modelu kondycji, na przykład kolor zielony na żółty lub czerwony.

    Konfiguracja progu to praktyka ciągłego ulepszania. W miarę rozwoju obciążenia zdefiniowane progi mogą ulec zmianie. W niektórych przypadkach progi dynamiczne są dobrym rozwiązaniem dla strategii monitorowania.

  • Rozważ użycie alertów w przypadku ulepszania stanów, takich jak kolor czerwony na żółty lub czerwony na zielony, aby zespoły operacyjne mogły śledzić te zdarzenia w przyszłości.

  • Wizualizowanie kondycji środowiska w czasie rzeczywistym.

  • Użyj danych zebranych podczas zdarzeń, aby stale ulepszać modele kondycji oraz strategię monitorowania i zgłaszania alertów.

  • Uwzględnij usługi monitorowania i alertów platformy w chmurze, w tym:

  • Uwzględnij specjalnie utworzone zaawansowane funkcje monitorowania i analizy, które oferuje dostawca usług w chmurze, takich jak narzędzia analizy usługi Azure Monitor.

  • Zaimplementuj monitorowanie kopii zapasowych i odzyskiwania w celu przechwycenia:

    • Stan replikacji danych w celu zapewnienia, że obciążenie osiąga odzyskiwanie w ramach docelowego celu punktu odzyskiwania (RPO).

    • Pomyślne i nieudane kopie zapasowe i odzyskiwanie.

    • Czas trwania odzyskiwania informujący o planowaniu odzyskiwania po awarii.

Monitorowanie aplikacji

  • Utwórz sondy kondycji lub sprawdź funkcje i uruchamiaj je regularnie poza aplikacją. Upewnij się, że testujesz z wielu lokalizacji, które znajdują się geograficznie blisko klientów.

  • Dane dziennika, gdy aplikacja działa w środowisku produkcyjnym. Potrzebujesz wystarczających informacji, aby zdiagnozować przyczynę problemów w stanie produkcyjnym.

  • Rejestrowanie zdarzeń na granicach usługi. Uwzględnienie identyfikatora korelacji, który przepływa przez granice usługi. Jeśli transakcja przepływa przez wiele usług i jeden z nich kończy się niepowodzeniem, identyfikator korelacji pomaga śledzić żądania w aplikacji i wskazać, dlaczego transakcja nie powiodła się.

  • Użyj rejestrowania asynchronicznego. Operacje rejestrowania synchronicznego czasami blokują kod aplikacji, co powoduje tworzenie kopii zapasowej żądań podczas zapisywania dzienników. Użyj rejestrowania asynchronicznego, aby zachować dostępność podczas rejestrowania aplikacji.

  • Oddzielenie rejestrowania aplikacji od inspekcji. Rekordy inspekcji są często utrzymywane pod kątem zgodności lub wymagań prawnych i muszą być kompletne. Aby uniknąć porzuconych transakcji, zachowaj dzienniki inspekcji niezależnie od dzienników diagnostycznych.

  • Użyj korelacji telemetrii , aby upewnić się, że transakcje można mapować za pośrednictwem kompleksowej aplikacji i krytycznych przepływów systemu. Ten proces jest niezbędny do przeprowadzania analizy głównej przyczyny w przypadku awarii. Zbierz metryki i dzienniki na poziomie platformy, takie jak procent procesora CPU, sieć w sieci, wyjście z sieci i operacje dysku na sekundę, z aplikacji, aby poinformować model kondycji i wykryć i przewidzieć problemy. Takie podejście może pomóc w odróżnieniu między błędami przejściowymi i nieprzejazdowymi.

  • Użyj monitorowania pól białych, aby instrumentować aplikację za pomocą dzienników semantycznych i metryk. Zbierz metryki i dzienniki na poziomie aplikacji, takie jak zużycie pamięci lub opóźnienie żądania, od aplikacji, aby poinformować model kondycji oraz wykryć i przewidzieć problemy.

  • Monitorowanie czarnej skrzynki służy do mierzenia usług platformy i wynikowego środowiska klienta. Monitorowanie czarnej skrzynki testuje zewnętrznie widoczne zachowanie aplikacji bez znajomości wewnętrznych systemu. Takie podejście jest typowe w przypadku mierzenia wskaźników poziomu usług (SLI), celów poziomu usług (SLO) i umów dotyczących poziomu usług (SLA).

Uwaga

Aby uzyskać więcej informacji na temat monitorowania aplikacji, zobacz Wzorzec monitorowania punktu końcowego kondycji.

Monitorowanie danych i magazynowania

  • Monitoruj metryki dostępności kontenerów magazynu. Gdy ta metryka spadnie poniżej 100 procent, oznacza to niepowodzenie zapisu. Przejściowe spadki dostępności mogą wystąpić, gdy dostawca usług w chmurze zarządza obciążeniem. Śledź trendy dostępności, aby określić, czy występuje problem z obciążeniem.

    W niektórych przypadkach spadek metryk dostępności kontenera magazynu wskazuje wąskie gardło w warstwie obliczeniowej skojarzonej z kontenerem magazynu.

  • Istnieje wiele metryk do monitorowania baz danych. W kontekście niezawodności ważne metryki do monitorowania obejmują:

    • Czas trwania zapytania

    • Limity czasu

    • Czas oczekiwania

    • Wykorzystanie pamięci

    • Blokady

Ułatwienia dla platformy Azure

  • Usługa Azure Monitor to kompleksowe rozwiązanie do monitorowania używane do zbierania, analizowania i reagowania na dane monitorowania z chmury i środowisk lokalnych.

  • Log Analytics to narzędzie w Azure Portal używane do edytowania i uruchamiania zapytań dzienników względem danych w obszarze roboczym usługi Log Analytics.

  • Application Insights to rozszerzenie usługi Azure Monitor. Zapewnia funkcje monitorowania wydajności aplikacji (APM).

  • Szczegółowe informacje usługi Azure Monitor to zaawansowane narzędzia analityczne, które ułatwiają monitorowanie usług platformy Azure, takich jak maszyny wirtualne, usługi aplikacji i kontenery. Szczegółowe informacje są oparte na usługach Azure Monitor i Log Analytics.

  • Usługa Azure Monitor dla rozwiązań SAP to natywny dla platformy Azure produkt do monitorowania dla środowisk SAP uruchamianych na platformie Azure.

  • Azure Policy pomaga wymuszać standardy organizacyjne i oceniać zgodność na dużą skalę.

  • Centrum ciągłości biznesowej platformy Azure zapewnia wgląd w swoją ciągłość działalności biznesowej. W miarę stosowania metod zapewniania ciągłości działania i odzyskiwania po awarii (BCDR) użyj Centrum ciągłości biznesowej platformy Azure w celu scentralizowanego zarządzania ochroną ciągłości działania na platformie Azure i obciążeniach hybrydowych. Centrum ciągłości biznesowej platformy Azure wskazuje zasoby, które nie mają odpowiedniej ochrony (za pośrednictwem kopii zapasowej lub odzyskiwania po awarii) i podejmuje działania naprawcze. Narzędzie ułatwia ujednolicone monitorowanie i umożliwia ustanowienie ładu i inspekcji zgodności za pośrednictwem Azure Policy, a wszystko to jest wygodnie dostępne w jednej lokalizacji.

  • Aby zapoznać się z najlepszymi rozwiązaniami dotyczącymi wielu obszarów roboczych, zobacz Projektowanie architektury obszaru roboczego usługi Log Analytics.

Przykład

Przykłady rzeczywistych rozwiązań do monitorowania można znaleźć w temacie Web application monitoring on Azure and Baseline architecture for an Azure Kubernetes Service cluster (Monitorowanie aplikacji internetowych na platformie Azure i architektura linii bazowej dla klastra Azure Kubernetes Service).

Lista kontrolna dotycząca niezawodności

Zapoznaj się z pełnym zestawem zaleceń.