Udostępnij za pośrednictwem


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

Dotyczy tego zalecenia listy kontrolnej dotyczącej 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 dotyczących 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 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 alertów, aby upewnić się, że obciążenie działa niezawodnie. Strategia monitorowania i zgłaszania alertów zapewnia zespołom operacyjnym świadomość, 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 krytycznych przepływów i składników, które składają się z tych krytycznych przepływów. Model kondycji definiuje stany w dobrej kondycji, obniżonej wydajności i złej kondycji. Zaprojektuj stan operacyjny, aby natychmiast przechwycić zmiany w tych stanach. Gdy stany kondycji zmienią 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, która spełnia wymagania twojej firmy.

Implementowanie ogólnej strategii monitorowania

  • 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, na przykład do obszaru roboczego usługi Log Analytics. Jeśli masz wymagania dotyczące niezależności danych regionalnych, musisz użyć lokalnych ujść danych w regionach, które podlegają tym wymaganiom.

Kompromis: istnieją konsekwencje związane z przechowywaniem i wykonywaniem zapytań dotyczących dzienników. Zwróć uwagę, że analiza dzienników i przechowywanie mają wpływ na budżet i określają najlepszą równowagę wykorzystania zgodnie z wymaganiami. 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. Wyślij odpowiednie dzienniki 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ą krytyczne progi, które są skorelowane ze zmianą stanu modelu kondycji, na przykład 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 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 wbudowane zaawansowane funkcje monitorowania i analizy, które oferuje dostawca usług w chmurze, takich jak narzędzia do analizy usługi Azure Monitor.

  • Zaimplementuj monitorowanie kopii zapasowych i odzyskiwania w celu przechwycenia:

    • Stan replikacji danych, aby upewnić się, że obciążenie osiąga odzyskiwanie w ramach docelowego celu punktu odzyskiwania (RPO).

    • Pomyślne i nieudane kopie zapasowe i odzyskiwanie.

    • Czas trwania odzyskiwania w celu poinformowania o planowaniu odzyskiwania po awarii.

Monitorowanie aplikacji

  • Utwórz sondy kondycji lub sprawdź funkcje i uruchamiaj je regularnie spoza aplikacji. 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. Synchroniczne operacje rejestrowania czasami blokują kod aplikacji, co powoduje tworzenie kopii zapasowej żądań w miarę zapisywania dzienników. Użyj rejestrowania asynchronicznego, aby zachować dostępność podczas rejestrowania aplikacji.

  • Odseparuj rejestrowanie 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, należy zachować dzienniki inspekcji oddzielone 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, out i operacje dysku na sekundę, z aplikacji w celu poinformowania modelu kondycji oraz wykrywania i przewidywania problemów. Takie podejście może pomóc w rozróżnieniu błędów przejściowych i nietransientnych.

  • Monitorowanie białych pól służy do instrumentowania aplikacji za pomocą dzienników semantycznych i metryk. Zbierz metryki i dzienniki na poziomie aplikacji, takie jak zużycie pamięci lub opóźnienie żądania, z aplikacji, aby poinformować model kondycji oraz wykrywać i przewidywać problemy.

  • Monitorowanie czarnej skrzynki służy do mierzenia usług platformy i wynikowego środowiska klienta. Testy monitorowania black box zewnętrznie widoczne zachowanie aplikacji bez znajomości wewnętrznych systemów. 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 magazynu

  • 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

    • Czasy oczekiwania

    • Wykorzystanie pamięci

    • Blokady

Ułatwienia platformy Azure

  • Usługa Azure Monitor to kompleksowe rozwiązanie do monitorowania, które służy do zbierania, analizowania i reagowania na dane monitorowania ze środowisk w chmurze i środowiskach lokalnych.

  • Log Analytics to narzędzie w witrynie Azure Portal, które służy 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 o usłudze 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.

  • Usługa 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 działania platformy Azure do scentralizowanego zarządzania ochroną ciągłości działania na platformie Azure i obciążeń hybrydowych. Centrum ciągłości działania 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 zgodności ładu i inspekcji za pośrednictwem usługi 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 usługi Azure Kubernetes Service).

Lista kontrolna dotycząca niezawodności

Zapoznaj się z pełnym zestawem zaleceń.