Microsoft AZ-204: Azure Monitoring, Diagnostiek en DevOps-integratie — Studiegids
Onderdeel van de Microsoft Azure Developer Associate AZ-204 — Studiegids. Oefen met geverifieerde antwoorden in het Microsoft-examencentrum, of doe getimede oefentests op ExamRoll.io.
Overzicht
Azure Monitor en Application Insights bieden een uniforme, op ontwikkelaars gerichte observability-stack voor Azure-applicaties. Application Insights verzamelt applicatietelemetrie zoals requests, dependencies, exceptions en traces, terwijl Azure Monitor metrics en logs van verschillende resources aggregeert in een Log Analytics workspace en de aansturing van alerting en DevOps-integraties verzorgt. Het beheersen van instrumentatiekeuzes, telemetriesemantiek, availability testing, Kusto Query Language (KQL), alerting met action groups, distributed tracing en Infrastructure as Code met ARM-templates zorgt voor betrouwbare, diagnosticeerbare en automatiseerbare oplossingen.
Application Insights-instrumentatie en -telemetrie
Application Insights-resources worden voor ingestion geïdentificeerd door een instrumentation key of een connection string. De instrumentation key is de verouderde, enkele GUID die door SDK’s wordt gebruikt om telemetrie te routeren. De connection string is de huidige aanbeveling; deze bevat de instrumentation key plus endpoint-metadata (ingestion- en Live Metrics-endpoints) en maakt routering naar niet-standaard endpoints mogelijk (voor soevereine of private clouds). Gebruik de connection string in nieuwe code en configuratie; dit maakt toekomstige wijzigingen aan endpoints mogelijk zonder herimplementatie van code. Binnen een App Service zal het inschakelen van Application Insights op platformniveau de connection string invullen in de omgevingsinstellingen voor automatisch gedetecteerde runtimes.
Instrumentatie kan worden gedaan via een SDK of via auto-instrumentation. De SDK-aanpak (bijvoorbeeld Microsoft.ApplicationInsights.AspNetCore voor .NET, applicationinsights voor Node.js en de Application Insights Java agent) biedt controle op codeniveau: custom events, metrics en verrijkte telemetrie via TelemetryInitializers en processors, inclusief adaptive sampling. Auto-instrumentation (codeless attach) is beschikbaar voor App Service en sommige compute-stacks en gebruikt site-extensies/agents om inkomende requests, dependencies en exceptions te verzamelen zonder codewijzigingen. Gebruik SDK-instrumentatie wanneer je custom events, business metrics of expliciete correlatie in achtergrondtaken nodig hebt; gebruik codeless attach voor snelle zichtbaarheid met weinig inspanning of voor lift-and-shift workloads. Stel in beide gevallen de cloud role name in om services in een microservices-architectuur te onderscheiden en configureer sampling zorgvuldig om een balans te vinden tussen nauwkeurigheid en kosten.
Application Insights genereert verschillende kerntypen telemetrie:
- Requests leggen inkomende operaties vast (HTTP-requests, functie-aanroepen), met duur, responscode en successtatus.
- Dependencies leggen uitgaande aanroepen vast (HTTP, SQL, Azure SDK-calls, wachtrijen), met doel, type, duur en successtatus.
- Exceptions leggen gegooide fouten, stack traces en afgehandelde exceptions vast wanneer deze expliciet worden gevolgd.
- Traces leggen logberichten vast; SDK’s integreren met populaire logging-frameworks zodat logs en telemetrie correlatie delen.
- Events leggen aangepaste gebeurtenissen op bedrijfsniveau vast via TrackEvent, met ondersteuning voor custom dimensions en tellingen.
- Metrics leggen numerieke metingen vast; je kunt custom metrics voor KPI’s volgen en deze inspecteren in Metrics Explorer.
Distributed tracing in Application Insights draait om correlatie. Elke end-to-end operatie heeft een operation ID (trace ID in W3C-termen) die wordt gedeeld door gerelateerde telemetrie; elke span heeft ouder-kindrelaties die worden afgedwongen door propagatieheaders. Moderne SDK’s gebruiken de W3C Trace Context (traceparent, tracestate). Operation_Id in KQL verbindt Requests, Dependencies, Exceptions en Traces voor dezelfde transactie. Zorg ervoor dat uitgaande HTTP-clients headers doorgeven; voor .NET wordt dit automatisch afgehandeld door System.Diagnostics.Activity en de AI SDK. Dependency tracking instrumenteert veelgebruikte clients (HTTP, SQL, Service Bus, Storage). Wanneer services grenzen overschrijden (bijv. van App Service naar AKS), levert consistente propagatie een enkele, verbonden transaction map op. Zorg er bij asynchrone en berichtgebaseerde stromen voor dat de SDK’s correlatie-ID’s vastleggen en doorgeven in de metadata van berichten; de meeste Azure SDK’s doen dit standaard.
Availability testing en synthetic monitoring
Availability tests valideren de externe bereikbaarheid en responsiviteit vanuit meerdere geografische locaties. De URL-pingtest voert HTTP-requests uit met een geconfigureerde frequentie vanaf meerdere testlocaties en valideert statuscodes, SSL-gezondheid en optioneel een content match. Gebruik retries en meerdere locaties om false positives te verminderen en configureer alerts op testfouten voor bruikbare meldingen.
Klassieke multi-step web tests zijn uitgefaseerd; voor scenario’s met meerdere requests of authenticatie, implementeer je synthetische tests door je eigen client of service te instrumenteren met de TrackAvailability API (of OpenTelemetry exporters) om AvailabilityTelemetry te genereren. Deze aanpak maakt aangepaste authenticatie, payloads en domeinspecifieke validatie mogelijk, terwijl centrale rapportage en alerting behouden blijven.
Custom TrackAvailability geeft je controle over:
- Testnaam, uitvoeringslocatie en sequence identifiers voor trendanalyse en deduplicatie.
- Duur en successemantiek gebaseerd op jouw validaties, niet alleen op de HTTP-status.
- Rijke berichten en custom dimensions voor hints over de hoofdoorzaak en correlatie met backend-telemetrie.
Combineer availability tests met backend dependency- en request-telemetrie om snel onderscheid te maken tussen problemen met de beschikbaarheid van endpoints (netwerk, DNS, TLS) en applicatiefouten (exceptions, timeouts) en storingen in downstream-systemen (SQL, externe API’s). Koppel fouten in availability tests aan action groups om incident-workflows aan te sturen.
Azure Monitor-data, KQL en alarmering met actiegroepen
Azure Monitor verwerkt twee primaire datatypen: metrics en logs. Metrics zijn lichtgewicht, numerieke tijdreeksen die vrijwel real-time worden opgenomen en multidimensionale opsplitsing ondersteunen (bijv. per instantie, API-route). Ze zijn het meest geschikt voor snelle detectie (CPU, geheugen, request rate, latency, beschikbaarheid) en ondersteunen standaard een retentie tot 93 dagen. Logs zijn gestructureerde, opvraagbare records die worden opgeslagen in een Log Analytics-werkruimte en omvatten Application Insights-data, platform resource logs en custom logs met configureerbare retentie. Gebruik Diagnostische instellingen om platform-metrics en resource logs door te sturen naar een werkruimte, Event Hub of Storage voor archivering en analyse.
Kusto Query Language (KQL) is de motor achter verkennende analyses, dashboards en log-alerts. Kernpatronen zijn onder meer:
- Basis-queries:
undefined
voor een snelle steekproef; beperk voor de performance de tijd altijd vroegtijdig met
undefined
.
- Filteren en projecteren:
undefined
om de payload te verkleinen en de analyse te focussen.
- Aggregatie:
undefined
om snelheden, percentielen of gemiddelden te berekenen; gebruik
undefined
en
undefined
voor tijdgrafieken.
- Joins:
undefined
op correlatiesleutels zoals
undefined
om Requests te verbinden met Dependencies of Exceptions; zorg er bij cross-resource joins voor dat beide naar dezelfde werkruimte sturen of schakel cross-resource queries in.
- Nuttige tabellen:
undefined
,
undefined
,
undefined
,
undefined
,
undefined
voor Application Insights;
undefined
en
undefined
voor platform logs;
undefined
en
undefined
voor VM insights.
- Best practices: projecteer alleen de benodigde kolommen, filter vroegtijdig, bin op redelijke intervallen en vermijd dure cross-joins over grote periodes tenzij noodzakelijk.
Alarmering omvat zowel metrics als logs. Metric alerts evalueren metrische drempelwaarden vrijwel in real-time, ondersteunen dimensies en opsplitsing per dimensie, en kunnen statische of dynamische drempelwaarden (op ML gebaseerde basislijnen) gebruiken. Ze zijn stateful en kunnen worden geactiveerd en automatisch worden opgelost op basis van evaluatieresultaten, waarbij één melding wordt gegenereerd wanneer de status verandert. Log (scheduled query) alerts voeren KQL periodiek uit en worden geactiveerd op basis van queryresultaten (aantal overeenkomsten of een gemeten drempelwaarde). Gebruik log alerts wanneer condities afhankelijk zijn van complexe patronen over meerdere tabellen of tekstanalyse vereisen. Smart detection en anomaly alerts in Application Insights kunnen regressies aan het licht brengen zonder expliciete drempelwaarden.
Actiegroepen definiëren herbruikbare responsets voor alerts. Notificatietypen omvatten e-mail, sms, spraak en pushmeldingen voor de Azure mobiele app. Integraties omvatten:
- Webhooks (v1 en v2) met het Common Alert Schema voor consistente payloads; stel custom headers in voor authenticatie en routeer naar incident-systemen (bijv. PagerDuty of custom ontvangers).
- Azure Functions, Logic Apps en Automation runbooks voor programmatische herstelacties en verrijking; gebruik Logic Apps voor flexibele transformaties en connectors.
- ITSM-connectors (bijv. ServiceNow) om incidenten aan te maken met gemapte velden. Combineer actiegroepen met alert processing rules om alerts te onderdrukken tijdens onderhoud, te routeren op basis van ernst, of dynamische acties toe te passen. Voor beveiligde uitgaande webhooks, beperk de ontvanger tot Azure IP-adressen of vereis handtekeningen/headers en valideer de eigenschappen van het Common Alert Schema, zoals
undefined
en
undefined
.
← Azure Caching · Alle domeinen
Oefen deze vragen → · Getimede oefening op 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.
Slaag voor je examen →