Microsoft AZ-204: Monitorowanie, diagnostyka i integracja z DevOps w Azure — Przewodnik do nauki

Część Microsoft Azure Developer Associate AZ-204 — Przewodnik do nauki. Ćwicz ze zweryfikowanymi odpowiedziami w centrum egzaminów Microsoft, albo rozwiąż testy na czas na ExamRoll.io.

Przegląd

Usługi Azure Monitor i Application Insights zapewniają zjednoczony, zorientowany na deweloperów stos obserwowalności dla aplikacji na platformie Azure. Application Insights zbiera telemetrię aplikacji, taką jak żądania, zależności, wyjątki i ślady, podczas gdy Azure Monitor agreguje metryki i logi ze wszystkich zasobów w obszarze roboczym Log Analytics oraz napędza alerty i integracje DevOps. Opanowanie opcji instrumentacji, semantyki telemetrii, testowania dostępności, języka Kusto Query Language (KQL), alertów z grupami akcji, śledzenia rozproszonego oraz Infrastructure as Code z szablonami ARM zapewnia niezawodne, diagnozowalne i automatyzowalne rozwiązania.

Instrumentacja i telemetria Application Insights

Zasoby Application Insights są identyfikowane do pozyskiwania danych za pomocą klucza instrumentacji lub connection string. Klucz instrumentacji to starszy, pojedynczy identyfikator GUID używany przez zestawy SDK do kierowania telemetrii. Connection string jest obecnie zalecanym rozwiązaniem; zawiera on klucz instrumentacji oraz metadane punktów końcowych (punkty końcowe pozyskiwania danych i Live Metrics) i pozwala na kierowanie ruchu do niestandardowych punktów końcowych (dla chmur suwerennych lub prywatnych). Używaj connection string w nowym kodzie i konfiguracji; umożliwia to przyszłe zmiany punktów końcowych bez ponownego wdrażania kodu. W ramach App Service, włączenie Application Insights na poziomie platformy spowoduje umieszczenie connection string w ustawieniach środowiskowych dla automatycznie wykrytych środowisk uruchomieniowych.

Instrumentację można przeprowadzić za pomocą SDK lub auto-instrumentacji. Podejście z użyciem SDK (na przykład Microsoft.ApplicationInsights.AspNetCore dla .NET, applicationinsights dla Node.js i agent Application Insights Java) oferuje kontrolę na poziomie kodu: niestandardowe zdarzenia, metryki i wzbogaconą telemetrię za pomocą TelemetryInitializers i procesorów, w tym próbkowanie adaptacyjne (adaptive sampling). Auto-instrumentacja (codeless attach) jest dostępna dla App Service i niektórych stosów obliczeniowych i wykorzystuje rozszerzenia witryn/agentów do zbierania przychodzących żądań, zależności i wyjątków bez żadnych zmian w kodzie. Używaj instrumentacji SDK, gdy potrzebujesz niestandardowych zdarzeń, metryk biznesowych lub jawnej korelacji w zadaniach działających w tle; używaj dołączania bez kodu (codeless attach) w celu szybkiego uzyskania wglądu przy niskim nakładzie pracy lub dla obciążeń typu lift-and-shift. W obu przypadkach ustaw nazwę roli chmury (cloud role name), aby odróżnić usługi w architekturze mikrousług i starannie skonfiguruj próbkowanie, aby zrównoważyć szczegółowość i koszty.

Application Insights emituje kilka podstawowych typów telemetrii:

Śledzenie rozproszone w Application Insights opiera się na korelacji. Każda operacja end-to-end ma identyfikator operacji (operation ID, czyli trace ID w terminologii W3C) współdzielony przez powiązaną telemetrię; każdy span ma relacje rodzic-dziecko wymuszane przez nagłówki propagacji. Nowoczesne zestawy SDK używają W3C Trace Context (traceparent, tracestate). Operation_Id w KQL łączy żądania (Requests), zależności (Dependencies), wyjątki (Exceptions) i ślady (Traces) dla tej samej transakcji. Upewnij się, że wychodzące klienty HTTP propagują nagłówki; w przypadku .NET, System.Diagnostics.Activity i SDK Application Insights obsługują to automatycznie. Śledzenie zależności instrumentuje popularnych klientów (HTTP, SQL, Service Bus, Storage). Gdy usługi przekraczają granice (np. z App Service do AKS), spójna propagacja tworzy jedną, połączoną mapę transakcji. W przypadku przepływów asynchronicznych i opartych na komunikatach upewnij się, że zestawy SDK przechwytują i przekazują identyfikatory korelacji w metadanych wiadomości; większość zestawów SDK Azure robi to domyślnie.

Testowanie dostępności i monitorowanie syntetyczne

Testy dostępności weryfikują zewnętrzną osiągalność i responsywność z wielu lokalizacji geograficznych. Test URL ping wysyła żądania HTTP z skonfigurowaną częstotliwością z wielu lokalizacji testowych i weryfikuje kody statusu, stan certyfikatu SSL oraz opcjonalne dopasowanie treści. Używaj ponownych prób i wielu lokalizacji, aby zmniejszyć liczbę fałszywych alarmów, i konfiguruj alerty w przypadku niepowodzeń testów, aby otrzymywać powiadomienia, które można wykorzystać do podjęcia działań.

Wieloetapowe testy dostępności historycznie wykonywały zarejestrowane sekwencje żądań HTTP z ciasteczkami przechowującymi stan w celu weryfikacji przepływów pracy. Klasyczne wieloetapowe testy internetowe zostały wycofane; w przypadku scenariuszy z wieloma żądaniami lub uwierzytelnianiem, zaimplementuj testy syntetyczne, instrumentując własnego klienta lub usługę za pomocą API TrackAvailability (lub eksporterów OpenTelemetry) w celu emitowania AvailabilityTelemetry. Takie podejście pozwala na niestandardowe uwierzytelnianie, dane (payloads) i walidację specyficzną dla domeny, zachowując jednocześnie scentralizowane raportowanie i alertowanie.

Niestandardowe użycie TrackAvailability daje Ci kontrolę nad:

Połącz testy dostępności z telemetrią zależności i żądań backendu, aby szybko odróżnić problemy z dostępnością punktu końcowego (sieć, DNS, TLS) od awarii aplikacji (wyjątki, przekroczenia czasu) i awarii systemów podrzędnych (SQL, zewnętrzne API). Powiąż niepowodzenia testów dostępności z grupami akcji, aby uruchamiać przepływy pracy związane z incydentami.

Dane Azure Monitor, KQL i alerty z grupami akcji

Azure Monitor pozyskuje dwa podstawowe typy danych: metryki i logi. Metryki to lekkie, numeryczne szeregi czasowe pozyskiwane w czasie zbliżonym do rzeczywistego, z możliwością analizy wielowymiarowej (np. według instancji, trasy API). Najlepiej nadają się do szybkiego wykrywania (CPU, pamięć, częstotliwość żądań, opóźnienie, dostępność) i domyślnie obsługują do 93 dni retencji. Logi to ustrukturyzowane rekordy, które można odpytywać, przechowywane w obszarze roboczym Log Analytics. Obejmują dane z Application Insights, logi zasobów platformy oraz logi niestandardowe z konfigurowalną retencją. Użyj ustawień diagnostycznych (Diagnostic settings), aby kierować metryki platformy i logi zasobów do obszaru roboczego, Event Hub lub konta Storage w celu archiwizacji i analityki.

Kusto Query Language (KQL) napędza analizę eksploracyjną, pulpity nawigacyjne i alerty oparte na logach. Podstawowe wzorce obejmują:

Alerty obejmują metryki i logi. Alerty metryk oceniają progi metryk w czasie zbliżonym do rzeczywistego, obsługują wymiary i dzielenie według wymiaru (splitting by dimension) oraz mogą używać progów statycznych lub dynamicznych (linie bazowe oparte na ML). Są stanowe, mogą się uruchamiać i automatycznie zamykać w zależności od wyników oceny, generując jedno powiadomienie przy zmianie stanu. Alerty z logów (zaplanowane zapytania) uruchamiają KQL cyklicznie i wyzwalają się na podstawie wyników zapytania (liczby dopasowań lub progów miary). Używaj alertów z logów, gdy warunki zależą od złożonych wzorców obejmujących wiele tabel lub wymagają analizy tekstu. Alerty Smart Detection i wykrywania anomalii w Application Insights mogą wskazywać na regresje bez jawnie zdefiniowanych progów.

Grupy akcji (Action groups) definiują zestawy odpowiedzi wielokrotnego użytku dla alertów. Typy powiadomień obejmują e-mail, SMS, połączenie głosowe i powiadomienia push w aplikacji mobilnej Azure. Integracje obejmują:

Szablony ARM dla monitorowalności i powtarzalnych wdrożeń

Szablony Azure Resource Manager (ARM) deklaratywnie definiują zasoby i konfigurację monitorowania jako kod. Struktura szablonu obejmuje:

Używaj szablonów połączonych lub zagnieżdżonych do tworzenia złożonych wdrożeń. Zasób wdrożenia (Microsoft.Resources/deployments) odwołuje się do szablonu podrzędnego poprzez templateLink (zewnętrzny URI) lub osadza go wbudowanie. Przekazuj obiekty parametrów przez parameters lub parametersLink, definiuj dependsOn w celu określenia kolejności i ponownie wykorzystuj moduły w różnych środowiskach. Przykłady domyślnej monitorowalności poprzez ARM:

Wykorzystuj warunki (conditions) i pętle copy do skalowalnych wdrożeń (np. stosowanie ustawień diagnostycznych do zestawu identyfikatorów zasobów). Używaj funkcji ARM, takich jak resourceId, subscriptionResourceId, reference, concat i guid, do budowania dynamicznych odwołań i stabilnych nazw. Utrzymuj spójność konfiguracji telemetrii między usługami, centralizując konwencje nazw ról (role name) i próbkowanie w ustawieniach aplikacji dostarczanych przez ARM lub zasoby konfiguracyjne App Service.

Praktyczny scenariusz problemowy

Firma Adobe potrzebuje kompleksowej obserwowalności (end-to-end) dla nowego, wieloregionalnego potoku przetwarzania mediów zbudowanego na API Azure App Service i mikrousługach AKS. Wymagają szybkiego wykrywania regresji opóźnień, śledzenia rozproszonego między usługami, proaktywnych testów dostępności dla publicznych punktów końcowych oraz zautomatyzowanego kierowania incydentów do swojego systemu dyżurów z powtarzalnością w modelu infrastruktury jako kodu.

  1. Instrumentacja usług za pomocą Application Insights z użyciem connection strings
  1. Włączenie śledzenia rozproszonego i śledzenia zależności
  1. Implementacja testów dostępności i niestandardowych testów syntetycznych
  1. Centralizacja danych w obszarze roboczym Log Analytics i kierowanie logów platformy
  1. Tworzenie alertów metryk i logów z grupami akcji
  1. Integracja reagowania na incydenty za pomocą grup akcji i webhooków
  1. Kodyfikacja monitorowania za pomocą szablonów ARM
  1. Walidacja za pomocą dashboardów KQL

Buforowanie · Wszystkie domeny

Przećwicz te pytania → · Testy na czas na ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Zdaj egzamin →

Przeglądaj Microsoft →

Related guides

Dostęp all-in-one

Jedna subskrypcja. Każdy egzamin.

Każdy plan odblokowuje nieograniczone wyszukiwanie odpowiedzi, testy praktyczne, wyjaśnienia AI i pełną bibliotekę zasobów — w ponad 20 językach.

Miesięczny
24.87
Just €0.83/day
Wszystko w cenie:
  • Nieograniczone wyszukiwanie odpowiedzi
  • Nieograniczone testy praktyczne
  • Wyjaśnienia wspomagane AI
  • Pełna biblioteka zasobów
  • Ponad 20 języków
  • Cotygodniowe aktualizacje treści
  • Nagrody i polecenia
  • Priorytetowe wsparcie
Rozpocznij bezpłatny okres próbny

Karta kredytowa nie jest wymagana*

Najlepsza wartość
12 miesięcy
179.87
Just €0.49/daySave 40%
Wszystko w cenie:
  • Nieograniczone wyszukiwanie odpowiedzi
  • Nieograniczone testy praktyczne
  • Wyjaśnienia wspomagane AI
  • Pełna biblioteka zasobów
  • Ponad 20 języków
  • Cotygodniowe aktualizacje treści
  • Nagrody i polecenia
  • Priorytetowe wsparcie
Rozpocznij bezpłatny okres próbny

Karta kredytowa nie jest wymagana*

✓ Plan darmowy w zestawie · ✓ Anuluj w dowolnym momencie · ✓ Wszystkie plany odblokowują pełny produkt