Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy tego zalecenia z listy kontrolnej dotyczącej doskonałości operacyjnej platformy Azure Well-Architected Framework:
| OE:07 | Zaprojektuj stos monitorowania, który przechwytuje operacyjne dane telemetryczne, metryki i dzienniki zarówno z infrastruktury obciążenia, jak i kodu, aby zweryfikować decyzje projektowe i kierować przyszłymi ulepszeniami. |
|---|
Przewodnik pokrewny: zalecenia dotyczące instrumentowania aplikacji
Obserwowanie lub monitorowanie to kluczowa praktyka operacyjna, która zapewnia zespołowi obciążenia możliwość zrozumienia wewnętrznego stanu systemu na podstawie generowanych danych zewnętrznych. W przeciwieństwie do stosu funkcjonalnego, który implementuje logikę biznesową i podstawowe funkcje, stos monitorowania działa równolegle. Zbiera i analizuje metryki, dzienniki, ślady i zdarzenia, które pokazują, jak działają obciążenia w rzeczywistych warunkach.
Projektowanie stosu monitorowania wymaga starannego planowania, ponieważ zapewnia wgląd w przekrojowe zagadnienia, takie jak niezawodność, wydajność, bezpieczeństwo i koszty. Dobrze zaprojektowany stos monitorowania umożliwia wczesne wykrywanie problemów, skuteczne reagowanie na zdarzenia i świadome decyzje operacyjne. Stanowi podstawę proaktywnego zarządzania i ciągłego ulepszania.
W tym przewodniku opisano kluczowe strategie projektowania stosu monitorowania, który obsługuje funkcje monitorowania, wykrywania i alertów.
Definicje
| Termin | Definicja |
|---|---|
| Telemetria | Termin zbiorczy dla dzienników, metryk, śladów i zdarzeń. Dane telemetryczne stanowią podstawę do obserwowania. |
| Dzienniki | Zarejestrowane zdarzenia systemowe, które przechwytują, co wydarzyło się w systemie. Dzienniki mogą mieć strukturę lub dowolny tekst ze znacznikami czasu. Są one przydatne do wykrywania i badania anomalii. |
| Metrics | Wartości liczbowe zbierane w regularnych odstępach czasu, które opisują wydajność systemu. Metryki pomagają identyfikować trendy wydajności i niezawodności obciążeń. |
| Obserwowalność | Obserwowanie pomaga zespołom wykrywać problemy, śledzić trendy wydajności i podejmować decyzje operacyjne. |
| Identyfikatory korelacji | Unikatowe identyfikatory, które śledzą powiązane zdarzenia w wielu składnikach, umożliwiając kompleksowe śledzenie transakcji w systemach rozproszonych. |
| Instrumentacja | Dodawanie możliwości monitorowania do aplikacji i infrastruktury w celu przechwytywania danych telemetrycznych. Obejmuje to rejestrowanie, zbieranie metryk i śledzenie. |
| Model kondycji | Struktura do mierzenia kondycji obciążenia przy użyciu wskaźników, kluczowych wskaźników wydajności i metryk, które odzwierciedlają cele biznesowe i operacyjne. |
| Kluczowe wskaźniki efektywności (KPIs) | Wymierne wartości pokazujące, jak skutecznie zadanie robocze osiąga cele biznesowe i operacyjne. Kluczowe wskaźniki wydajności prowadzą do zbierania i analizy danych telemetrycznych. |
| APM (Zarządzanie wydajnością aplikacji) | Narzędzia i rozwiązania dotyczące monitorowania wydajności, dostępności i środowiska użytkownika aplikacji. Narzędzia APM zapewniają wgląd w ważne metryki w czasie rzeczywistym i historyczne. |
| Traces | Rekordy przedstawiające ścieżkę żądań za pośrednictwem systemów rozproszonych. Ślady ułatwiają diagnozowanie problemów obejmujących wiele usług. |
Dopasowywanie danych telemetrycznych do modeli kondycji i kluczowych wskaźników wydajności
Zdefiniuj wskaźniki kondycji obciążenia, wskaźniki KPI i metryki wydajności, aby strategie zbierania danych telemetrycznych odzwierciedlały te cele. Wskaźniki te są następnie śledzone w celu wykrywania anomalii w celu podejmowania decyzji dotyczących działań naprawczych.
Powiązanie telemetrii z przepływami systemu i użytkownika. Pomaga to skorelować kondycję przepływu z zebranymi danymi oprócz ogólnej kondycji obciążenia.
Możliwość sztucznej inteligencji: zespoły poświęcają czas na ręczne definiowanie wskaźników KPI i telemetrii. Narzędzia wspomagane przez sztuczną inteligencję mogą sugerować często używane dane telemetryczne oparte na architekturze, zależnościach usług i kodzie. Narzędzia takie jak GitHub Copilot lub Claude Code mogą również pomóc w dodawaniu instrumentacji i generowaniu zapytań lub szablonów infrastruktury jako kodu. Upewnij się, że istnieje nadzór człowieka, aby zapewnić, że obserwowanie oparte na sztucznej inteligencji pozostaje dokładne i dostosowane do standardów.
Zbieranie danych telemetrycznych w całym obciążeniu roboczym
Upewnij się, że wszystkie składniki systemu, takie jak aplikacja, infrastruktura i platforma, emitują istotne telemetry i w sposób spójny rejestrują dzienniki i metryki we wszystkich tych warstwach. Dzienniki są przydatne przede wszystkim do wykrywania i badania anomalii, a metryki są przydatne przede wszystkim do identyfikowania trendów w obciążeniu, takich jak problemy z wydajnością.
Jeśli to możliwe, użyj narzędzi do monitorowania udostępnianych przez platformę. Wymagają one minimalnej konfiguracji i zapewniają szczegółowe informacje.
Kompromis: Zwiększ szczegóły rejestrowania, aby zwiększyć możliwości debugowania i możliwości śledzenia, ale należy pamiętać, że istnieje wyższy koszt magazynowania i przetwarzania. Aby zarządzać tym kompromisem, użyj szczegółowego rejestrowania w środowisku deweloperskim i zmniejszonej szczegółowości w środowisku produkcyjnym oraz polegaj na identyfikatorach korelacji, aby zachować pełną widoczność transakcji od początku do końca bez nadmiernego rozrostu logów.
Przechwyć zdarzenia aplikacji w formatach ustrukturyzowanych, czytelnych dla maszyn, takich jak JSON, MessagePack lub Protobuf. Umożliwia to łatwiejsze przetwarzanie i integrację.
Dla infrastruktury:
- Zbierz zarówno dzienniki, jak i metryki.
- W przypadku usług IaaS dołącz dzienniki systemu operacyjnego, aplikacji i diagnostyki.
- W przypadku usługi PaaS maksymalizuj dzienniki diagnostyczne, w których dostęp do podstawowej infrastruktury jest ograniczony.
Określanie priorytetów transferu danych na podstawie ważności. Mniej pilne dane można przesyłać w partiach, podczas gdy informacje wrażliwe na czas powinny być wysyłane natychmiast.
Istnieją dwa podstawowe modele dla kolekcji. W modelu pull telemetria jest zbierana w ramach komponentu zapytania, podczas gdy telemetria push jest emitowana przez składniki wysyłające dane na zewnątrz. Wybierz model na podstawie czynników, które mają zastosowanie do obciążenia. Czy okresowe migawki są na przykład wystarczające, czy potrzebne są dane niemal w czasie rzeczywistym? Jaki jest oczekiwany wolumin telemetrii, Jaki jest typ danych: oparte na stanie lub dzienniki, zdarzenia i ślady.
Często stosuje się podejście złożone. Na przykład agenci monitorowania mogą używać modelu pobierania, działając lokalnie obok każdej instancji aplikacji, aby okresowo zbierać dane i zapisywać je w przestrzeni magazynowej współdzielonej. Jednocześnie model push może służyć do telemetrii aplikacji, gdzie każda instancja emituje logi, ślady i metryki do kolejki komunikatów lub strumienia zdarzeń w miarę występowania zdarzeń.
Standaryzacja konsolidacji danych
Przenieś dane telemetryczne z lokalnych silosów i skonsoliduj je do centralnego repozytorium, jeśli jest to wymagane przez organizację. W przypadku rozwiązań obejmujących wiele regionów najpierw zbieraj i przechowuj dane w regionie, a następnie agreguj je centralnie. Jednak w przypadku obciążeń o znaczeniu krytycznym zalecane jest autonomiczne przechowywanie danych.
Używaj spójnych formatów i metod zbierania, aby dane były dostępne do analizy, pulpitów nawigacyjnych, alertów i raportowania. Unikaj ręcznego pobierania z komponentów, ponieważ dodaje dodatkowe obciążenie operacyjne i wprowadza niespójności.
Użyj usług konsolidacji danych, aby:
- Usuń duplikaty danych.
- Połącz powiązane zdarzenia, używając identyfikatorów korelacji.
- Filtruj niepotrzebne informacje.
Ryzyko: należy pamiętać, że istnieją konsekwencje związane z kosztami posiadania regionalnych i scentralizowanych magazynów danych.
Dostosowywanie magazynu i przechowywania dla wzorców użycia
Wybierz rozwiązania pamięci masowej głównie na podstawie potrzeb odczytu i wzorców dostępu. Na przykład dane, które generują alerty, muszą mieć szybki dostęp, więc powinny być przechowywane w szybkim magazynie danych i indeksowane lub strukturyzowane w celu zoptymalizowania zapytań.
Używaj trwałości poliglotycznej do przechowywania różnych typów danych w technologiach odpowiednich dla ich zastosowania.
- Bazy danych SQL dla liczników wydajności.
- Dzienniki usługi Azure Monitor lub Usługa Azure Data Explorer na potrzeby dzienników śledzenia.
- System plików HDFS na potrzeby informacji zabezpieczających.
Ponadto należy oddzielić magazyn danych według środowiska. Zapobiega to komplikowaniu monitorowania produkcyjnego przez dane środowiska niekrytycznego.
Planowanie przechowywania krótkoterminowych szczegółowych danych i długoterminowej analizy trendów. Archiwizowanie starszych danych telemetrycznych w magazynie o niższych kosztach. Zachowaj często używane dane w szybszych systemach magazynowania. Zaimplementuj ochronę danych za pomocą blokad zasobów, usuwania nietrwałego i kontroli dostępu opartej na rolach.
Korelowanie danych na potrzeby kompleksowej analizy
Zaprojektuj możliwość łączenia danych telemetrycznych z metryk, dzienników i śladów we wszystkich składnikach. Umożliwia to rozproszone śledzenie operacji między usługami, pomagając zdiagnozować problemy obejmujące wiele warstw.
Spójnie używaj identyfikatorów korelacji do śledzenia transakcji za pośrednictwem warstw prezentacji, środkowej i danych.
Agregowanie dzienników na poziomie aplikacji i na poziomie zasobów w celu szybkiego rozwiązywania problemów i ich wykrywania. Rozważ ujednolicone rozwiązanie, takie jak Azure Log Analytics, aby wykonywać zapytania i analizować dane na różnych poziomach.
Dopasuj dane telemetryczne do przepływów systemu i użytkowników, aby skorelować kondycję przepływu z ogólną kondycją obciążenia. Zrozumienie tych przepływów zapewnia, że strategia obserwowalności odzwierciedla zarówno zachowanie systemu na poziomie składników, jak i jego kompleksowe, całościowe funkcjonowanie.
Analizowanie i wizualizowanie danych, aby wspierać podejmowanie decyzji możliwych do wdrożenia
Projektowanie pulpitów nawigacyjnych i raportów dotyczących modeli kondycji operacyjnej. Wizualizacje powinny umożliwić zespołom szybkie identyfikowanie problemów, zrozumienie trendów i określanie priorytetów odpowiedzi.
Używaj sprawdzonych wzorców monitorowania i architektur, a nie niestandardowych implementacji lub rozwiązań ad hoc. Upewnij się, że pulpity nawigacyjne są zrozumiałe i możliwe do działania. Sparametryzowane pulpity nawigacyjne umożliwiają analitykom eksplorowanie danych bazowych.
Możliwość użycia sztucznej inteligencji: Pulpity nawigacyjne często koncentrują się na metrykach biznesowych lub inżynieryjnych. Sztuczna inteligencja może analizować dane ze wszystkich odpowiednich źródeł i ułatwiać projektowanie zintegrowanych pulpitów nawigacyjnych przy użyciu odpowiednich konfiguracji i wizualizacji. Zmniejsza to nakład pracy ręcznej i przedstawia szczegółowe informacje, które w przeciwnym razie mogą być pomijane.
Definiowanie alertów dotyczących znaczących warunków operacyjnych
Ustaw alerty na podstawie kondycji obciążenia, a nie dowolnych wartości. Alerty powinny być możliwe do działania i zapewnić kontekst. Ustanów jasny, odpowiedzialny proces zgłaszania alertów, który definiuje właścicieli, działania i zakres, oraz skonfiguruj alerty z odpowiednim poziomem precyzji i szczegółowości, aby zminimalizować szum, jednocześnie zapewniając szybkie wykrywanie krytycznych problemów.
Zweryfikuj progi przy użyciu dotychczasowych doświadczeń i regularnego testowania. Użyj szybkiego magazynu do generowania alertów, aby umożliwić szybkie powiadamianie. Skonfiguruj alerty dla dobrze zdefiniowanych zakresów i dostosuj szczegółowość, aby zminimalizować szum.
Automatyzowanie alertów i łączenie alertów z systemami biletów. Monitorowanie kondycji usługi platformy w chmurze, awarii, konserwacji i porad.
Możliwość użycia sztucznej inteligencji: sztuczna inteligencja może służyć do dynamicznego definiowania "zdrowego" zachowania systemu przez wzorce uczenia się w różnych kontekstach biznesowych, takich jak szczytowy ruch, promocje, okresy ciche i odmiany regionalne. Sztuczna inteligencja może następnie analizować metryki, dzienniki i dane zdarzeń w celu przewidywania problemów i rekomendowania progów.
Projektowanie skalowalnych, trwałych potoków telemetrii
Systemy obserwacji muszą obsługiwać dużą skalę bez wąskich gardeł lub utraty danych. Uwzględnij buforowanie, kolejkowanie i skalowalne ścieżki pozyskiwania, aby zachować przepływ telemetrii pod obciążeniem.
Użyj mechanizmów kolejkowania dla środowisk o dużej skali, aby obsługiwać skoki. Zaimplementuj nadmiarowość, aby zapobiec utracie ważnych danych. Zaplanuj skalowanie podczas projektowania, aby zapewnić, że systemy monitorowania rosną wraz z wymaganiami dotyczącymi obciążeń.
W przypadku złożonych obciążeń należy używać kolejek komunikatów z semantyką "przynajmniej raz". Uruchamianie wielu usług zapisu danych w celu obsługi dużych woluminów. Rozważ użycie usługi Event Hubs do dystrybucji przetwarzania telemetrii i zapobiegania wąskim gardłom w systemie wejścia/wyjścia w jednym punkcie.
Użycie obserwowalności do wspierania ciągłego doskonalenia
Traktuj obserwowalność jako pętlę sprzężenia zwrotnego. Użyj danych produkcyjnych, aby uściślić projekt obciążenia, przechwytywanie danych telemetrycznych i progi monitorowania.
Równoważenie automatyzacji i nadzoru ludzkiego w celu zapewnienia dokładności. Stale przeglądaj i rozwijaj podejścia do monitorowania w miarę zmian obciążeń. Użyj telemetrii, aby zidentyfikować możliwości optymalizacji, zweryfikować decyzje dotyczące architektury i kierować przyszłymi projektami.
Uwzględnij monitorowanie i alerty w ogólnym testowaniu obciążenia. Automatyzuj funkcje, zachowując możliwość analizowania trendów w celu przewidywania problemów operacyjnych i planowania pojemności.
Ułatwienia platformy Azure
Usługa Azure Monitor to rozwiązanie do monitorowania służące do zbierania, analizowania i reagowania na dane monitorowania ze środowisk w chmurze i środowiskach lokalnych.
Log Analytics to narzędzie w witrynie Azure Portal, za pomocą którego można edytować i uruchamiać zapytania dzienników względem danych w obszarze roboczym usługi Log Analytics.
Jeśli używasz wielu obszarów roboczych, zapoznaj się z przewodnikiem dotyczącym architektury obszaru roboczego usługi Log Analytics, aby uzyskać najlepsze rozwiązania.
Application Insights to rozszerzenie usługi Azure Monitor. Udostępnia funkcje zarządzania wydajnością aplikacji (APM).
Usługa Azure Monitor Insights to zaawansowane narzędzia analityczne dla określonych technologii platformy Azure (takich jak maszyny wirtualne, usługi app services i kontenery). Te narzędzia są częścią usług Azure Monitor i Log Analytics.
Usługa Azure Monitor dla rozwiązań SAP to narzędzie do monitorowania platformy Azure dla środowisk SAP, które działają na platformie Azure.
Usługa Azure Policy może pomóc w wymuszaniu standardów organizacyjnych i ocenie zgodności na dużą skalę.
Usługa Azure Network Watcher to narzędzie, które monitoruje sieć, zarządza nią i przeprowadza inspekcję w celu zapewnienia bezpieczeństwa, zgodności i wydajności.
Rozwiązywanie problemów z połączeniem to narzędzie diagnostyczne w usłudze Network Watcher. Zapewnia diagnostykę na żądanie i przechwytywanie pakietów (PCAP), aby ułatwić badanie problemów z łącznością.
Monitor połączeń to narzędzie do monitorowania w usłudze Network Watcher. Uruchamia ciągłe testy syntetyczne i wysyła alerty w czasie rzeczywistym dotyczące problemów z łącznością i wydajnością.
Analiza ruchu to rozwiązanie do analizy ruchu w usłudze Network Watcher. Wizualizuje dystrybucję ruchu, identyfikuje najważniejszych rozmówców i ujawnia trendy wykorzystania przepustowości. Te możliwości zapewniają ujednolicony widok kondycji sieci.
Pokrewne łącza
- Przewodnik instrumentacji
- Zalecenia dotyczące projektowania niezawodnej strategii monitorowania i zgłaszania alertów
- Zalecenia dotyczące monitorowania i wykrywania zagrożeń
- Zalecenia dotyczące zbierania danych wydajności
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 doskonałości operacyjnej
Zapoznaj się z pełnym zestawem zaleceń.