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:
Identyfikowanie przepływów krytycznych i niekrytycznych.
Przeprowadź analizę trybu awarii (FMA) dla przepływów.
Zidentyfikuj cele dotyczące niezawodności.
Projektowanie pod kątem niezawodności przez zaimplementowanie nadmiarowości, skalowania, samozachowawania i samonaprawiania.
Projektowanie niezawodnej strategii testowania.
Modelowanie kondycji obciążenia i jego składników.
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:
Kondycja na poziomie platformy, na przykład Azure Service Health.
Kondycja na poziomie zasobu, na przykład Azure Resource Health.
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).
Pokrewne łącza
- Alerty dotyczące metodyki DevOps
- Alerty dotyczące operacji
- Wskazówki dotyczące monitorowania i diagnostyki
- Monitorowanie aplikacji internetowej na platformie Azure
Linki społecznościowe
- Alerty linii bazowej usługi Azure Monitor (AMBA) to centralne repozytorium definicji alertów, których klienci i partnerzy mogą używać do ulepszania ich doświadczenia w obserwacji dzięki wdrożeniu usługi Azure Monitor.
Lista kontrolna dotycząca niezawodności
Zapoznaj się z pełnym zestawem zaleceń.