Application Insights
Strumenti un'applicazione web con l'SDK di Application Insights, esplori la mappa dell'applicazione e usi Live Metrics Stream per diagnosticare i problemi in tempo reale.
Application Insights è una lezione Cloud & IT Cert Prep gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cloud & IT Cert Prep, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Che cos'è Application Insights
Application Insights è una funzionalità di Azure Monitor che fornisce il monitoraggio delle prestazioni delle applicazioni (APM) per le applicazioni Web in produzione. Raccoglie dati di telemetria su richieste, dipendenze, eccezioni, visualizzazioni di pagina ed eventi personalizzati. A differenza delle metriche della piattaforma, che descrivono lo stato dell'infrastruttura, Application Insights descrive le attività del codice dell'applicazione e l'esperienza degli utenti finali. Supporta .NET, Node.js, Java, Python e JavaScript nei browser.
Strumentazione dell'applicazione
È possibile aggiungere Application Insights a un'applicazione installando l'SDK o usando la strumentazione automatica (chiamata anche collegamento senza codice). Per App Service, l'abilitazione di Application Insights dal portale installa automaticamente l'agente senza apportare modifiche al codice. Per le applicazioni autogestite, è necessario aggiungere il pacchetto SDK e fornire la stringa di connessione (preferibile rispetto alla precedente chiave di strumentazione) della risorsa Application Insights.
# Enable Application Insights on an App Service app
az webapp config appsettings set \
--name myApp \
--resource-group myRG \
--settings APPLICATIONINSIGHTS_CONNECTION_STRING='InstrumentationKey=...' \
ApplicationInsightsAgent_EXTENSION_VERSION='~3'La mappa dell'applicazione
La Mappa dell'applicazione è una rappresentazione visiva della topologia dei componenti dell'applicazione e delle relative dipendenze. Ogni nodo rappresenta un componente (l'applicazione, un'API downstream, un database o un servizio Azure) e i collegamenti mostrano le relazioni tra le chiamate, corredate da tempo medio di risposta, frequenza delle richieste e frequenza degli errori. È possibile fare clic su qualsiasi nodo o collegamento per analizzare le singole tracce delle richieste e identificare l'origine della latenza o degli errori.
Flusso delle metriche in tempo reale
Live Metrics Stream offre una visualizzazione in tempo reale, con aggiornamento inferiore al secondo e latenza zero, delle prestazioni dell'applicazione. È possibile osservare le frequenze delle richieste in entrata, i tempi di risposta, le frequenze degli errori e l'utilizzo della CPU mentre si verificano, un aspetto fondamentale durante una distribuzione in corso o l'analisi di un incidente. Live Metrics usa una connessione in uscita sicura dall'applicazione ad Application Insights, pertanto non sono necessarie modifiche alle regole del firewall in entrata.
Tracciamento distribuito e transazioni end-to-end
Il tracciamento distribuito correla i dati di telemetria tra più servizi usando un operation_Id condiviso. Quando una richiesta utente raggiunge l'applicazione front-end, Application Insights propaga le intestazioni del contesto della traccia ai servizi downstream. La vista Dettagli della transazione end-to-end riunisce tutti gli span di tutti i servizi partecipanti in un'unica sequenza temporale a diagramma di Gantt, mostrando esattamente dove viene impiegato il tempo nell'architettura dei microservizi.
Eventi e metriche personalizzati
Oltre alla telemetria automatica, è possibile tenere traccia di eventi personalizzati e metriche personalizzate usando l'SDK. Chiami trackEvent() per registrare eventi a livello aziendale come 'CheckoutCompleted' o 'FeatureFlagEnabled'. Chiami trackMetric() per registrare misurazioni specifiche dell'applicazione, come la profondità della coda o il rapporto di riscontri positivi nella cache. I dati di telemetria personalizzati vengono visualizzati nelle stesse tabelle Log Analytics e possono essere sottoposti a query con KQL insieme ai dati della piattaforma.
// Node.js SDK example — tracking a custom event
const appInsights = require('applicationinsights');
appInsights.defaultClient.trackEvent({
name: 'CheckoutCompleted',
properties: { userId: '42', plan: 'premium' },
measurements: { orderValue: 99.99 }
});Rilevamento intelligente e anomalie degli errori
Smart Detection analizza automaticamente i dati di telemetria usando il machine learning e segnala schemi insoliti, come un improvviso aumento della frequenza degli errori, un peggioramento del tempo di risposta del server o un incremento anomalo del numero di eccezioni. A differenza degli avvisi basati su soglia configurati manualmente, le regole di Smart Detection si adattano al comportamento normale dell'applicazione. Gli avvisi vengono inviati ai proprietari della sottoscrizione e visualizzati nel riquadro Smart Detection.
Test di disponibilità
I test di disponibilità (chiamati anche test Web) inviano richieste HTTP sintetiche all'applicazione da più aree Azure nel mondo secondo una pianificazione, con una frequenza che può arrivare a una volta al minuto. Verificano che gli endpoint pubblici rispondano con il codice di stato HTTP previsto entro un determinato timeout. Se un test ha esito negativo contemporaneamente da più posizioni, viene attivato un avviso. In questo modo si ottiene un monitoraggio dall'esterno verso l'interno, indipendente dall'infrastruttura interna.
# Create a URL ping availability test via CLI
az monitor app-insights web-test create \
--name 'HomepagePing' \
--resource-group myRG \
--app-component myAppInsightsResource \
--defined-web-test-kind ping \
--request-url 'https://myapp.azurewebsites.net/' \
--locations '[{"Id":"us-ca-sjc-azr"},{"Id":"emea-gb-db3-azr"}]' \
--frequency 300 \
--timeout 30Campionamento per controllare il volume dei dati
Il campionamento riduce il volume dei dati di telemetria inviati ad Application Insights registrando solo una frazione delle richieste, pur mantenendo l'accuratezza statistica. Il campionamento adattivo regola automaticamente la frequenza di campionamento per rimanere entro una frequenza di inserimento target. Il campionamento a frequenza fissa applica una percentuale prestabilita. La telemetria campionata viene contrassegnata, così le viste delle metriche correggono automaticamente il fattore di campionamento quando visualizzano conteggi e frequenze.
Analisi di utenti e sessioni
Application Insights include analisi dell'utilizzo integrate per le applicazioni con strumentazione del browser. Il riquadro Users mostra il numero di utenti unici, Sessions tiene traccia dei percorsi degli utenti, Funnels visualizza l'abbandono nei flussi a più passaggi e i grafici di Retention mostrano quanti utenti tornano nel tempo. Questi strumenti sono particolarmente utili per i team di prodotto che ottimizzano i tassi di conversione e il coinvolgimento degli utenti insieme al monitoraggio operativo.
Tabelle di Application Insights e Log Analytics
I dati di Application Insights vengono archiviati in un'area di lavoro Log Analytics, in tabelle dedicate: requests, exceptions, dependencies, traces, pageViews, customEvents e customMetrics. Quando Application Insights è configurato in modalità basata sull'area di lavoro (l'impostazione predefinita per le nuove risorse), è possibile eseguire join tra queste tabelle e altri dati dell'area di lavoro, ad esempio mettendo in correlazione un'eccezione dell'applicazione con un diniego di accesso a Key Vault registrato in AzureActivity.
// KQL — find the top 10 slowest dependencies in the last hour
dependencies
| where timestamp > ago(1h)
| where success == false or duration > 2000
| summarize AvgDuration = avg(duration), FailCount = countif(success==false)
by name, type
| top 10 by AvgDuration descVerifica rapida
Verifichi la Sua comprensione dei concetti di Microsoft Azure Fundamentals (AZ-900) trattati in questa lezione.
Riepilogo della lezione
In questa lezione ha imparato che Application Insights fornisce dati di telemetria a livello APM sulle frequenze delle richieste, sugli errori e sulle dipendenze; la Application Map e il distributed tracing visualizzano la topologia dei microservizi end-to-end; inoltre, i availability tests verificano gli endpoint pubblici da più località in tutto il mondo. Nella prossima lezione esploreremo Azure Dashboards e Workbooks per condividere la visibilità operativa con il Suo team.
Domande Frequenti
La lezione «Application Insights» è gratuita?
Sì — il testo completo di «Application Insights» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cloud & IT Cert Prep, passa a CoddyKit PRO. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Cosa imparerò in «Application Insights»?
Strumenti un'applicazione web con l'SDK di Application Insights, esplori la mappa dell'applicazione e usi Live Metrics Stream per diagnosticare i problemi in tempo reale. Eserciti Cloud & IT Cert Prep con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cloud & IT Cert Prep?
Non è richiesta alcuna esperienza precedente. Cloud & IT Cert Prep su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Application Insights»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cloud & IT Cert Prep?
Sì. Ogni lezione Cloud & IT Cert Prep include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Metriche e avvisi di Azure Monitor
- Nozioni fondamentali di Log Analytics e KQL
- Application Insights
- Dashboard e Workbooks di Azure