Esplorare Application Insights

Completato

Application Insights è un'estensione di Monitoraggio di Azure e fornisce funzionalità di monitoraggio delle prestazioni applicative (note anche come "APM", Application Performance Monitoring). 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 della transazione sintetica", eseguire 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.