Microsoft AZ-204: Monitoraggio, Diagnostica e Integrazione DevOps di Azure — Guida allo studio

Fa parte della Microsoft Azure Developer Associate AZ-204 — Guida allo studio. Esercitati con risposte verificate nel centro esami Microsoft, oppure fai test cronometrati su ExamRoll.io.

Panoramica

Azure Monitor e Application Insights forniscono uno stack di osservabilità unificato e incentrato sugli sviluppatori per le applicazioni Azure. Application Insights raccoglie la telemetria dell’applicazione come richieste, dipendenze, eccezioni e tracce, mentre Azure Monitor aggrega metriche e log da tutte le risorse in un’area di lavoro Log Analytics e gestisce gli avvisi e le integrazioni DevOps. Padroneggiare le scelte di strumentazione, la semantica della telemetria, i test di disponibilità, il Kusto Query Language (KQL), gli avvisi con i gruppi di azioni, il tracciamento distribuito e l’Infrastructure as Code con i modelli ARM garantisce soluzioni affidabili, diagnosticabili e automatizzabili.

Strumentazione e telemetria di Application Insights

Le risorse di Application Insights vengono identificate per l’ingestion tramite una chiave di strumentazione (instrumentation key) o una stringa di connessione (connection string). La chiave di strumentazione è il GUID singolo legacy utilizzato dagli SDK per instradare la telemetria. La stringa di connessione è la raccomandazione attuale; include la chiave di strumentazione più i metadati degli endpoint (endpoint di ingestion e di Live Metrics) e consente l’instradamento verso endpoint non predefiniti (per cloud sovrani o privati). Utilizzare la stringa di connessione nel nuovo codice e nella configurazione; essa consente future modifiche agli endpoint senza dover ridistribuire il codice. All’interno di un App Service, abilitando Application Insights a livello di piattaforma, la stringa di connessione verrà inserita nelle impostazioni di ambiente per i runtime rilevati automaticamente.

La strumentazione può essere eseguita tramite SDK o auto-strumentazione. L’approccio SDK (ad esempio, Microsoft.ApplicationInsights.AspNetCore per .NET, applicationinsights per Node.js e l’agente Java di Application Insights) offre un controllo a livello di codice: eventi personalizzati, metriche e telemetria arricchita tramite TelemetryInitializers e processori, incluso il campionamento adattivo. L’auto-strumentazione (collegamento senza codice) è disponibile per App Service e alcuni stack di calcolo e utilizza estensioni/agenti del sito per raccogliere richieste in ingresso, dipendenze ed eccezioni senza modifiche al codice. Utilizzare la strumentazione SDK quando si necessita di eventi personalizzati, metriche di business o correlazione esplicita nei processi in background; utilizzare il collegamento senza codice per una visibilità rapida e a basso sforzo o per carichi di lavoro di tipo lift-and-shift. In entrambi i casi, impostare il nome del ruolo cloud per distinguere i servizi in un’architettura a microservizi e configurare attentamente il campionamento per bilanciare fedeltà e costi.

Application Insights emette diversi tipi di telemetria principali:

Il tracciamento distribuito in Application Insights si basa sulla correlazione. Ogni operazione end-to-end ha un ID operazione (trace ID in termini W3C) condiviso tra la telemetria correlata; ogni span ha relazioni padre-figlio applicate tramite gli header di propagazione. Gli SDK moderni utilizzano il W3C Trace Context (traceparent, tracestate). Operation_Id in KQL collega Richieste, Dipendenze, Eccezioni e Tracce per la stessa transazione. Assicurarsi che i client HTTP in uscita propaghino gli header; per .NET, System.Diagnostics.Activity e l’SDK di AI gestiscono questo automaticamente. Il tracciamento delle dipendenze strumenta i client comuni (HTTP, SQL, Service Bus, Storage). Quando i servizi attraversano i confini (ad es. da App Service ad AKS), una propagazione coerente produce una singola mappa delle transazioni connessa. Per i flussi asincroni e basati su messaggi, assicurarsi che gli SDK acquisiscano e trasmettano gli ID di correlazione nei metadati dei messaggi; la maggior parte degli SDK di Azure lo fa per impostazione predefinita.

Test di disponibilità e monitoraggio sintetico

I test di disponibilità convalidano la raggiungibilità esterna e la reattività da più aree geografiche. Il test di ping dell’URL invia richieste HTTP a una frequenza configurata da più località di test e convalida i codici di stato, lo stato SSL e la corrispondenza facoltativa dei contenuti. Utilizzare tentativi e più località per ridurre i falsi positivi e configurare avvisi sui fallimenti dei test per notifiche operative.

I test di disponibilità multi-passo eseguivano storicamente sequenze registrate di richieste HTTP con cookie stateful per verificare i flussi di lavoro. I test web multi-passo classici sono stati ritirati; per scenari multi-richiesta o autenticati, implementare test sintetici strumentando il proprio client o servizio utilizzando l’API TrackAvailability (o gli esportatori OpenTelemetry) per emettere AvailabilityTelemetry. Questo approccio consente l’autenticazione personalizzata, i payload e la validazione specifica del dominio, mantenendo al contempo il reporting e gli avvisi centralizzati.

TrackAvailability personalizzato offre il controllo su:

Combinare i test di disponibilità con la telemetria delle dipendenze e delle richieste di backend per distinguere rapidamente i problemi di disponibilità degli endpoint (rete, DNS, TLS) dai fallimenti dell’applicazione (eccezioni, timeout) e dalle interruzioni a valle (SQL, API esterne). Collegare i fallimenti dei test di disponibilità ai gruppi di azioni per avviare i flussi di lavoro di gestione degli incidenti.

Dati di Azure Monitor, KQL e avvisi con gruppi di azioni

Azure Monitor acquisisce due tipi di dati principali: metriche e log. Le metriche sono serie temporali numeriche e leggere, con acquisizione quasi in tempo reale e suddivisione multidimensionale (ad es. per istanza, route API). Sono ideali per il rilevamento rapido (CPU, memoria, tasso di richieste, latenza, disponibilità) e supportano una conservazione predefinita fino a 93 giorni. I log sono record strutturati e interrogabili, archiviati in un’area di lavoro Log Analytics, e includono dati di Application Insights, log delle risorse della piattaforma e log personalizzati con conservazione configurabile. Utilizzare le impostazioni di diagnostica (Diagnostic settings) per instradare le metriche della piattaforma e i log delle risorse verso un’area di lavoro, un Event Hub o un account di archiviazione (Storage) per l’archiviazione e l’analisi.

Il Kusto Query Language (KQL) è alla base dell’analisi esplorativa, dei dashboard e degli avvisi sui log. I pattern principali includono:

Il sistema di avvisi copre sia le metriche che i log. Gli avvisi sulle metriche (Metric alerts) valutano le soglie delle metriche quasi in tempo reale, supportano le dimensioni e la suddivisione per dimensione, e possono usare soglie statiche o dinamiche (basate su baseline di ML). Sono stateful e possono attivarsi e risolversi automaticamente in base ai risultati della valutazione, producendo una sola notifica quando lo stato cambia. Gli avvisi sui log (Log alerts o scheduled query alerts) eseguono query KQL a una cadenza prestabilita e si attivano in base ai risultati della query (numero di corrispondenze o soglie su una misura). Utilizzare gli avvisi sui log quando le condizioni dipendono da pattern complessi che coinvolgono più tabelle o richiedono analisi del testo. Gli avvisi di Smart Detection e di anomalia in Application Insights possono evidenziare regressioni senza bisogno di soglie esplicite.

I gruppi di azioni (Action groups) definiscono set di risposte riutilizzabili per gli avvisi. I tipi di notifica includono e-mail, SMS, chiamate vocali e notifiche push sull’app mobile di Azure. Le integrazioni includono:

Template ARM per monitoraggio e distribuzione ripetibile

I template di Azure Resource Manager (ARM) definiscono in modo dichiarativo le risorse e la configurazione del monitoraggio come codice. La struttura di un template include:

Utilizzare template collegati o annidati per comporre distribuzioni complesse. Una risorsa di distribuzione (Microsoft.Resources/deployments) fa riferimento a un template figlio tramite templateLink (URI esterno) o lo incorpora inline. Passare oggetti di parametri tramite parameters o parametersLink, definire dependsOn per l’ordinamento e riutilizzare i moduli tra i vari ambienti. Esempi di monitoraggio “by default” tramite ARM:

Adottare condizioni e cicli di copia (copy loops) per distribuzioni scalabili (es. applicare le impostazioni di diagnostica a un set di ID di risorsa). Utilizzare funzioni ARM come resourceId, subscriptionResourceId, reference, concat e guid per costruire riferimenti dinamici e nomi stabili. Mantenere la configurazione della telemetria coerente tra i servizi centralizzando le convenzioni sui nomi dei ruoli e il campionamento nelle impostazioni dell’app fornite tramite ARM o risorse di configurazione di App Service.

Scenario pratico

Adobe necessita di osservabilità end-to-end per una nuova pipeline di elaborazione multimediale multi-regionale basata su API di Azure App Service e microservizi AKS. Richiedono il rilevamento rapido di regressioni di latenza, il tracciamento distribuito tra i servizi, controlli proattivi di disponibilità per gli endpoint pubblici e l’instradamento automatizzato degli incident al loro sistema di reperibilità, con la ripetibilità garantita dall’infrastructure-as-code.

  1. Strumentare i servizi con Application Insights utilizzando le stringhe di connessione
  1. Abilitare il tracciamento distribuito e il rilevamento delle dipendenze
  1. Implementare test di disponibilità e controlli sintetici personalizzati
  1. Centralizzare i dati in un workspace di Log Analytics e instradare i log della piattaforma
  1. Creare avvisi su metriche e log con gruppi di azioni
  1. Integrare la risposta agli incident tramite gruppi di azioni e webhook
  1. Codificare il monitoraggio con i template ARM
  1. Convalidare con dashboard KQL

Caching · Tutti i domini

Esercitati su queste domande → · Pratica cronometrata su 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.

Supera l'esame →

Sfoglia Microsoft →

Related guides

Accesso tutto incluso

Un abbonamento. Ogni esame.

Ogni piano sblocca la ricerca illimitata di risposte, test pratici, spiegazioni AI e la libreria completa di risorse — in oltre 20 lingue.

Mensile
24.87
Just €0.83/day
Tutto incluso:
  • Ricerca risposte illimitata
  • Test pratici illimitati
  • Spiegazioni basate su AI
  • Libreria completa di risorse
  • Oltre 20 lingue
  • Aggiornamenti settimanali dei contenuti
  • Premi e referral
  • Supporto prioritario
Inizia la prova gratuita

Nessuna carta di credito richiesta*

Miglior valore
12 mesi
179.87
Just €0.49/daySave 40%
Tutto incluso:
  • Ricerca risposte illimitata
  • Test pratici illimitati
  • Spiegazioni basate su AI
  • Libreria completa di risorse
  • Oltre 20 lingue
  • Aggiornamenti settimanali dei contenuti
  • Premi e referral
  • Supporto prioritario
Inizia la prova gratuita

Nessuna carta di credito richiesta*

✓ Piano gratuito incluso · ✓ Annulla in qualsiasi momento · ✓ Tutti i piani sbloccano il prodotto completo