Panoramica di Application Insights

Application Insights è una funzionalità di Monitoraggio di Azure che fornisce la gestione delle prestazioni delle applicazioni estendibili e il monitoraggio per le app Web live. Gli sviluppatori e i professionisti DevOps possono usare Application Insights per:

  • Rilevare automaticamente anomalie nelle prestazioni.
  • Diagnosticare i problemi con potenti strumenti di analisi.
  • Verificare come vengono usate effettivamente le app dagli utenti.
  • Continuare a migliorare le prestazioni e l'usabilità delle app.

Application Insights:

  • Supporto di un'ampia gamma di piattaforme, tra cui .NET, Node.js, Java e Python.
  • Funzionamento per le app ospitate in ambienti locali o ibridi o in qualsiasi cloud pubblico.
  • Integrazione con i processi DevOps.
  • Disponibilità di punti di connessione per molti strumenti di sviluppo.
  • È possibile monitorare e analizzare i dati di telemetria dalle app per dispositivi mobili integrando con Visual Studio App Center.

Funzionamento di Application Insights

Per usare Application Insights, installare un piccolo pacchetto di strumentazione (SDK) nell'app oppure abilitare Application Insights usando il relativo agente. Per le lingue e le piattaforme che supportano l'agente di Application Insights, vedere Lingue supportate.

È possibile instrumentare l'app Web, i componenti in background e il codice JavaScript nelle pagine Web. L'app e i relativi componenti non devono necessariamente essere ospitati in Azure.

La strumentazione monitora l'app e indirizza i dati di telemetria a una risorsa di Application Insights tramite una chiave di strumentazione univoca. L'impatto sulle prestazioni dell'app è ridotto. Le chiamate di rilevamento non sono bloccanti e vengono riunite in batch e inviate in un thread separato.

È possibile eseguire il pull nei 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 questi flussi di telemetria vengono integrati in Monitoraggio di Azure. Nella portale di Azure è possibile applicare potenti strumenti di analisi e ricerca ai dati non elaborati.

Il diagramma seguente illustra come la strumentazione di Application Insights in un'app invia dati di telemetria a una risorsa di Application Insights.

Diagramma che mostra la strumentazione di Application Insights in un'app che invia dati di telemetria a una risorsa di Application Insights.

Come usare Application Insights

Esistono diversi modi per iniziare a usare Application Insights. Iniziare con qualsiasi cosa funziona meglio per te e puoi aggiungere altri in un secondo momento.

Prerequisiti

  • È necessario un account Azure. Application Insights è ospitato in Azure e invia i dati di telemetria ad Azure per l'analisi e la presentazione. Se non si ha una sottoscrizione di Azure, è possibile iscriversi gratuitamente. Se l'organizzazione ha già una sottoscrizione di Azure, un amministratore può aggiungerlo.

  • Il piano tariffario di Application Insights di base non ha alcun addebito fino a quando l'app non ha un utilizzo significativo.

Introduzione

Per usare Application Insights in fase di esecuzione, è possibile instrumentare l'app Web nel server. Questo approccio è ideale per le app già distribuite, perché evita eventuali aggiornamenti al codice dell'app.

Per informazioni dettagliate e istruzioni, vedere gli articoli seguenti:

È anche possibile aggiungere Application Insights al codice dell'app in fase di sviluppo. Questo approccio consente di personalizzare e aggiungere alla raccolta di dati di telemetria.

Per informazioni dettagliate e istruzioni, vedere gli articoli seguenti:

Per tutte le lingue, le piattaforme e i framework supportati, vedere Lingue supportate.

Monitoraggio

Dopo aver configurato Application Insights, monitorare l'app.

  • Configurare i test Web di disponibilità.
  • Usare il dashboard dell'applicazione predefinito per la sala team, per tenere traccia del carico, della velocità di risposta e delle prestazioni. Monitorare le dipendenze, i caricamenti di pagine e le chiamate AJAX.
  • Individuare le richieste più lente e non riuscire più spesso.
  • Guardare Live Stream quando si distribuisce una nuova versione, in modo da rendersi immediatamente conto di eventuali riduzioni delle prestazioni.

Rilevare e diagnosticare

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.

Misurare, apprendere e compilare

  • Pianificare per misurare il modo in cui i clienti usano nuove funzionalità utente o business.
  • Scrivere dati di telemetria personalizzati nel codice.
  • Misurare l'efficacia di ogni nuova funzionalità che si distribuisce.
  • Basare il ciclo di sviluppo successivo sulle prove dei dati di telemetria.

Elementi monitorati da Application Insights

Application Insights aiuta i team di sviluppo a comprendere le prestazioni e l'utilizzo delle app. Application Insights monitora:

  • Frequenza delle richieste, tempi di risposta e percentuali di errore

    Scopri quali pagine sono più popolari, in quali momenti del giorno e dove gli utenti sono. Vedere quali pagine abbiano prestazioni migliori. Se i tempi di risposta e i tassi di errore sono elevati quando sono presenti più richieste, potrebbe verificarsi un problema di resourcing.

  • Tassi di dipendenza, tempi di risposta e percentuali di errori per mostrare se i servizi esterni rallentano le prestazioni

  • Eccezioni

    Consente di analizzare le statistiche aggregate o selezionare istanze specifiche e approfondire l'analisi dello stack e le richieste correlate. Application Insights segnala le eccezioni del server e del browser.

  • Visualizzazioni pagine e prestazioni dei carichi segnalate dai browser degli utenti

  • Chiamate AJAX dalle pagine Web, inclusi, tassi, tempi di risposta e percentuali di errori

  • Conteggi di utenti e sessioni

  • Contatori delle prestazioni da computer server Windows o Linux, ad esempio utilizzo di CPU, memoria e rete

  • Diagnostica host da Docker o Azure

  • Log di traccia diagnostica dalle app, in modo da poter correlare gli eventi di traccia con le richieste

  • Eventi e metriche personalizzate nel codice client o server che tengono traccia degli eventi aziendali, ad esempio gli elementi venduti

Dove visualizzare i dati di Application Insights

Esistono molti modi per esplorare i dati di telemetria di Application Insights. Per altre informazioni, vedere gli articoli seguenti:

Passaggi successivi

Risoluzione dei problemi

Domande frequenti

Esaminare le domande frequenti.

Forum delle domande di Microsoft Q&A

Pubblicare domande nel forum delle risposte di Microsoft Q&A.

Stack Overflow

Pubblicare domande di codifica in Stack Overflow usando un tag di Application Insights.

UserVoice

Lasciare commenti e suggerimenti sul prodotto per il team di progettazione in UserVoice.