Informazioni su Azure Application Insights

Application Insights è un servizio estendibile di gestione delle prestazioni delle applicazioni per sviluppatori Web su più piattaforme, che consente di monitorare un'applicazione Web live. Il servizio rileva automaticamente le anomalie nelle prestazioni e include avanzati strumenti di analisi che consentono di diagnosticare i problemi e conoscere come viene effettivamente usata l'app dagli utenti. Il servizio è progettato per supportare il miglioramento continuo delle prestazioni e dell'usabilità. Funziona per le app su un'ampia gamma di piattaforme, tra cui .NET o J2EE, ospitate in locale o nel cloud. Si integra con il processo DevOps e offre punti di connessione per diversi altri strumenti di sviluppo.

Creare grafici relativi alle statistiche sulle attività degli utenti o eseguire il drill-down in eventi specifici.

Osservare l'animazione dell'introduzione.

Come funziona Application Insights?

Si installa un piccolo pacchetto di strumentazione nell'applicazione e si configura una risorsa di Application Insights nel portale di Microsoft Azure. La strumentazione monitora l'app e invia i dati di telemetria al portale. L'applicazione può essere eseguita ovunque, non deve necessariamente essere ospitata in Azure.

È possibile instrumentare non solo l'applicazione di servizio web, ma anche i componenti in background e il codice JavaScript nelle pagine web stesse.

L'instrumentazione di Application Insights nell'app invia la telemetria alla risorsa di Application Insights.

Inoltre, è possibile effettuare il pull dei dati di telemetria dagli ambienti host, ad esempio i contatori delle prestazioni, la diagnostica di Azure o i log di Docker. È possibile configurare test web che inviano periodicamente richieste sintetiche al servizio web.

Tutti i flussi di dati di telemetria sono integrati nel portale di Azure, dove è possibile applicare potenti strumenti di analisi e ricerca ai dati non elaborati.

Informazioni sul sovraccarico

L'impatto sulle prestazioni dell'app è molto ridotto. Le chiamate di rilevamento non sono bloccanti e vengono riunite in batch e inviate in un thread separato.

Quali sono gli elementi monitorati da Application Insights?

Application Insights è destinato al team di sviluppo, a cui consente di comprendere le prestazioni e le modalità d'uso dell'app. Esegue il monitoraggio di:

  • 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 eccezioni di server e 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.

Dove è possibile visualizzare i dati di telemetria?

È possibile esaminare i dati in numerosi modi. Vedere i seguenti articoli:

Rilevamento intelligente e avvisi manuali
Gli avvisi automatici si adattano ai modelli normali di telemetria dell'app e si attivano quando i dati si discostano dal modello consueto. È anche possibile impostare avvisi per determinati livelli di metriche standard o personalizzate.
Esempio di avviso
Mappa delle applicazioni
I componenti dell'applicazione, con le metriche e gli avvisi chiave.
Mappa delle applicazioni
Profiler
Ispezionare i profili di esecuzione delle richieste campionate.
Profiler
Analisi dell'utilizzo
Analizzare la segmentazione e la conservazione degli utenti.
Strumento Conservazione
Ricerca diagnostica dei dati dell'istanza
Cercare e filtrare eventi come richieste, eccezioni, chiamate a dipendenze, tracce di log e visualizzazioni di pagina.
Ricerca nella telemetria
Esplora metriche per i dati aggregati
Esaminare, filtrare e segmentare dati aggregati come frequenza delle richieste, errori, eccezioni, tempi di risposta e tempi di caricamento delle pagine.
Metrica
Dashboard
Combinare dati di più risorse e condividerli con altri utenti. Ideale per le applicazioni multi-componente e per la visualizzazione continua negli spazi del team.
Esempio di dashboard
Flusso di metriche in tempo reale
Quando si distribuisce una nuova build, controllare questi indicatori delle prestazioni in tempo quasi reale per verificare che tutto funzioni come previsto.
Esempio di metriche live
Analisi
Questo avanzato linguaggio di query consente di trovare risposta a domande approfondite sull'utilizzo e sulle prestazioni dell'app.
Esempio di analisi
Visual Studio
Vedere i dati sulle prestazioni nel codice. Passare al codice dall'analisi dello stack.
Visual Studio
Debugger di snapshot
Eseguire il debug di snapshot campionati da operazioni attive, con i valori dei parametri.
Visual Studio
Power BI
Integrare le metriche di uso con altra business intelligence.
Power BI
API REST
Scrivere codice per eseguire query su metriche e dati non elaborati.
API REST
Esportazione continua
Eseguire l'esportazione bulk dei dati non elaborati nell'archivio non appena arrivano.
Esporta

Come si usa Application Insights?

Monitoraggio

Installare Application Insights nell'app, impostare i test Web di disponibilità e:

  • Impostare un dashboard per la chat team, in modo da controllare carico, velocità di risposta e prestazioni delle dipendenze, caricamenti di pagina e chiamate AJAX.
  • Scoprire quali sono le richieste più lente e con un maggior numero di errori.
  • Guardare Live Stream quando si distribuisce una nuova versione, in modo da rendersi immediatamente conto di eventuali riduzioni delle prestazioni.

Rilevare, eseguire una diagnosi

Quando si riceve un avviso o si individua un problema:

  • Individuare il numero di utenti interessati.
  • Correlare gli errori con eccezioni, chiamate alle dipendenze e tracce.
  • Esaminare profiler, snapshot, dump dello stack e log di traccia.

Compilare, misurare, acquisire informazioni

Misurare l'efficacia di ogni nuova funzionalità che si distribuisce.

  • Pianificare la misurazione del modo in cui i clienti usano nuove funzionalità aziendali o per l'esperienza utente.
  • Scrivere dati di telemetria personalizzati nel codice.
  • Basare il ciclo di sviluppo successivo sulle salde prove derivate dai dati di telemetria.

Introduzione

Application Insights è uno dei molti servizi ospitati in Microsoft Azure e riceve i dati di telemetria per l’analisi e la presentazione. Prima di eseguire qualsiasi altra operazione, è necessario ottenere una sottoscrizione a Microsoft Azure. 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. Se l'organizzazione ha già una sottoscrizione, può aggiungervi l'account Microsoft dell'utente.

È possibile iniziare in diversi modi. Iniziare con il metodo più adatto alle proprie esigenze. È possibile aggiungere gli altri in un secondo momento.

Passaggi successivi

Introduzione in fase di esecuzione a:

Introduzione in fase di sviluppo a:

Supporto, commenti e suggerimenti

Video

Introduzione animata