Esplorare Application Insights
Application Insights è un'estensione di Monitoraggio di Azure e offre funzionalità di monitoraggio delle prestazioni applicative (APM). Gli strumenti di APM sono utili per monitorare le applicazioni dallo sviluppo, durante il test e nell'ambiente di produzione nei modi seguenti:
- Comprendere in modo proattivo l'esecuzione di un'applicazione.
- Esaminare in modo reattivo i dati di esecuzione dell'applicazione per determinare la causa di un evento imprevisto.
Oltre alla raccolta delle metriche e dei dati di telemetria dell'applicazione, che descrivono le attività e l'integrità dell'applicazione, Application Insights può essere usato anche per raccogliere e archiviare i dati di registrazione delle tracce delle applicazioni.
La traccia di log è associata ad altri dati di telemetria per fornire una visualizzazione dettagliata dell'attività. L'aggiunta della registrazione di traccia alle app esistenti richiede solo la fornitura di una destinazione per i log; il framework di registrazione raramente deve essere modificato.
Panoramica delle funzionalità di Application Insights
Le funzionalità includono, tra le altre, le seguenti:
Funzionalità | Descrizione |
---|---|
Metriche attive | Osservare l'attività dell'applicazione distribuita in tempo reale senza alcun effetto sull'ambiente host. |
Disponibilità | Noto anche come monitoraggio delle transazioni sintetiche, esegue il probe degli endpoint esterni delle applicazioni per testare la disponibilità complessiva e la velocità di risposta nel tempo. |
Integrazione di GitHub o Azure DevOps | Creare elementi di lavoro GitHub o Azure DevOps nel contesto dei dati di Application Insights. |
Utilizzo | Comprendere le funzionalità più diffuse e il modo in cui gli utenti interagiscono e usano l'applicazione. |
Rilevamento intelligente | Rilevamento automatico degli errori e delle anomalie tramite l'analisi proattiva dei dati di telemetria. |
Mappa delle applicazioni | Visualizzazione dall'alto verso il basso dell'architettura dell'applicazione e riferimenti visivi immediati allo stato e alla reattività dei componenti. |
Traccia distribuita | Cercare e visualizzare un flusso end-to-end di una determinata esecuzione o transazione. |
Elementi monitorati da Application Insights
Application Insights raccoglie dati metrici e di telemetria dell'applicazione, che descrivono le attività e l'integrità dell'applicazione, nonché i dati di registrazione delle tracce.
- Frequenza delle richieste, tempi di risposta e percentuali di errore: trovare le pagine più visitate, gli orari di visita e la posizione degli utenti. Vedere quali pagine abbiano prestazioni migliori. Se i tempi di risposta e le percentuali di errore aumentano di pari passo con le richieste, è probabile che ci sia un problema di assegnazione delle risorse.
- Tassi di dipendenza, tempi di risposta e percentuali di errore: trovare quali servizi esterni causino un rallentamento.
- Eccezioni: analizzare le statistiche aggregate o selezionare istanze specifiche e approfondire l'analisi dello stack e le richieste correlate. Vengono segnalate sia le eccezioni del server che quelle del browser.
- Visualizzazioni pagina e prestazioni di carico, segnalate dai browser degli utenti.
- Chiamate AJAX dalle pagine Web: tassi, tempi di risposta e percentuali di errore.
- Numeri di utenti e sessioni.
- Contatori delle prestazioni dai computer server Windows o Linux, ad esempio l'uso di CPU, memoria e rete.
- Diagnostica dell'host da Docker o Azure.
- Log di traccia di diagnostica dall'app, in modo da poter correlare gli eventi di traccia con le richieste.
- Eventi e metriche personalizzati scritti dall'utente stesso nel codice del client o del server per tracciare eventi aziendali come gli articoli venduti o le partite vinte.
Attività iniziali con Application Insights
Application Insights è uno dei molti servizi ospitati in Microsoft Azure e riceve i dati di telemetria per l''analisi e la presentazione. L'iscrizione è gratuita e, se si sceglie il piano tariffario Basic di Application Insights, la sottoscrizione resta gratuita finché l'applicazione non cresce fino a un uso sostanziale.
Ci sono diversi modi per iniziare a monitorare e analizzare le prestazioni delle app:
- In fase di esecuzione: instrumentare l'app Web nel server. Ideale per le applicazioni già distribuite. È così possibile evitare qualsiasi aggiornamento del codice.
- In fase di sviluppo: aggiungere Application Insights al codice. Consente di personalizzare la raccolta dei dati telemetrici e di inviarne un numero maggiore.
- Instrumentare le pagine Web per visualizzazione pagina, AJAX e altri dati di telemetria sul lato client.
- Analizzare l'uso di app per dispositivi mobili tramite l'integrazione con Visual Studio App Center.
- Test di disponibilità:effettuare regolarmente il ping del sito Web dai server.