Guida introduttiva: Avviare il monitoraggio dell'applicazione Web Node.js con Azure Application InsightsQuickstart: Start monitoring your Node.js Web application with Azure Application Insights

Questa guida introduttiva illustra l'aggiunta di Application Insights SDK per Node.js versione 0.22 a un'applicazione Node.js esistente.This quickstart guides you through adding the version 0.22 Application Insights SDK for Node.js to an existing Node.js web application.

Con Azure Application Insights, è possibile monitorare facilmente la disponibilità, le prestazioni e l'uso dell'applicazione Web.With Azure Application Insights, you can easily monitor your web application for availability, performance, and usage. È anche possibile identificare e diagnosticare rapidamente gli errori nell'applicazione senza attendere che vengano segnalati da un utente.You can also quickly identify and diagnose errors in your application without waiting for a user to report them. A partire dall'SDK versione 0.20 è possibile monitorare i pacchetti di terze parti più diffusi, tra cui MongoDB, MySQL e Redis.With the version 0.20 SDK release onward, you can monitor common third-party packages, including MongoDB, MySQL, and Redis.

PrerequisitiPrerequisites

Per completare questa guida introduttiva:To complete this quickstart:

  • Sono necessarie una sottoscrizione di Azure e un'applicazione Web Node.js esistente.You need an Azure Subscription and an existing Node.js web application.

Se non si ha un'applicazione Web Node.js è possibile crearne una seguendo le istruzioni in Creare un'app Web Node.js in Azure.If you don't have a Node.js web application, you can create one by following the Create a Node.js web app quickstart.

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.

Accedere al portale di AzureSign in to the Azure portal

Accedere al portale di Azure.Sign in to the Azure portal.

Abilitare Application InsightsEnable Application Insights

Application Insights può raccogliere dati di telemetria da un'applicazione connessa a Internet, indipendentemente dal fatto che sia in esecuzione in locale o nel cloud.Application Insights can gather telemetry data from any internet-connected application, regardless of whether it's running on-premises or in the cloud. Usare la procedura seguente per iniziare a visualizzare questi dati.Use the following steps to start viewing this data.

  1. Selezionare Crea una risorsa > Strumenti di sviluppo > Application Insights.Select Create a resource > Developer tools > Application Insights.

    Aggiunta di una risorsa di Application Insights

    Nota

    Se è la prima volta che si crea una risorsa di Application Insights, consultare il documento Create an Application Insights Resource (Creare una risorsa di Application Insights) per ulteriori informazioni.If this is your first time creating an Application Insights resource you can learn more by visiting the Create an Application Insights Resource doc.

    Verrà visualizzata una pagina di configurazione. Usare la tabella seguente per compilare i campi di input.A configuration page appears; use the following table to fill out the input fields.

    ImpostazioniSettings ValoreValue DESCRIZIONEDescription
    NomeName Valore globalmente univocoGlobally Unique Value Nome che identifica l'app da monitorareName that identifies the app you are monitoring
    Tipo di applicazioneApplication Type Applicazione Node.jsNode.js Application Tipo di app da monitorareType of app you are monitoring
    PosizioneLocation Stati Uniti orientaliEast US Scegliere una località nelle vicinanze o vicina a quella in cui è ospitata l'appChoose a location near you, or near where your app is hosted
  2. Selezionare Create (Crea).Select Create.

Configurare Application Insights SDKConfigure App Insights SDK

  1. Selezionare Panoramica e copiare la chiave di strumentazione dell'applicazione.Select Overview and copy your application's Instrumentation Key.

    Modulo per una nuova risorsa di Application Insights

  2. Aggiungere Application Insights SDK per Node.js all'applicazione.Add the Application Insights SDK for Node.js to your application. Dalla cartella radice dell'app eseguire:From your app's root folder run:

    npm install applicationinsights --save
    
  3. Modificare il primo file con estensione js e aggiungere le due righe seguenti alla parte superiore dello script.Edit your app's first .js file and add the two lines below to the topmost part of your script. Se si usa l'app introduttiva di Node.js è necessario modificare il file index.js.If you are using the Node.js quickstart app, you would modify the index.js file. Sostituire <instrumentation_key> con la chiave di strumentazione dell'applicazione.Replace <instrumentation_key> with your application's instrumentation key.

    const appInsights = require('applicationinsights');
    appInsights.setup('<instrumentation_key>').start();
    
  4. Riavviare l'app.Restart your app.

Nota

Prima che i dati vengano visualizzati nel portale trascorrono 3-5 minuti.It takes 3-5 minutes before data begins appearing in the portal. Se questa app è un'app di test a basso traffico, occorre ricordare che la maggior parte delle metriche viene acquisita solo in caso di richieste oppure operazioni attive.If this app is a low-traffic test app, keep in mind that most metrics are only captured when there are active requests or operations occurring.

Avviare il monitoraggio nel portale di AzureStart monitoring in the Azure portal

  1. È ora possibile riaprire la pagina Panoramica di Application Insights nel portale di Azure, dove è stata recuperata la chiave di strumentazione, per visualizzare informazioni dettagliate sull'applicazione attualmente in esecuzione.You can now reopen the Application Insights Overview page in the Azure portal, where you retrieved your instrumentation key, to view details about your currently running application.

    Menu della panoramica di Application Insights

  2. Selezionare Mappa delle applicazioni per ottenere un layout visivo delle relazioni di dipendenza tra i componenti dell'applicazione.Select Application map for a visual layout of the dependency relationships between your application components. Ogni componente mostra indicatori KPI come carico, prestazioni, errori e avvisi.Each component shows KPIs such as load, performance, failures, and alerts.

    Mappa delle applicazioni

  3. Selezionare l'icona per l'analisi delle app Icona in Mappa delle applicazioni Visualizza in Analisi.Select the App Analytics icon Application Map icon View in Analytics. Verrà aperta la finestra Application Insights - Analisi, che fornisce un linguaggio di query avanzato per l'analisi di tutti i dati raccolti da Application Insights.This opens Application Insights Analytics, which provides a rich query language for analyzing all data collected by Application Insights. In questo caso viene generata una query che esegue il rendering del conteggio delle richieste sotto forma di grafico.In this case, a query is generated for you that renders the request count as a chart. È possibile scrivere query personalizzate per analizzare altri dati.You can write your own queries to analyze other data.

    Grafico di analisi delle richieste di un utente in un periodo di tempo

  4. Tornare alla pagina Panoramica ed esaminare i grafici degli indicatori KPI.Return to the Overview page and examine the KPI graphs. Questo dashboard fornisce statistiche relative all'integrità dell'applicazione, ad esempio il numero di richieste in ingresso, la durata delle richieste ed eventuali errori che si sono verificati.This dashboard provides statistics about your application health, including the number of incoming requests, the duration of those requests, and any failures that occur.

    Grafici Integrità - Panoramica sequenza temporale

    Per abilitare la popolazione del grafico Tempo di caricamento della visualizzazione pagina con i dati di telemetria lato client, aggiungere questo script a ogni pagina da verificare:To enable the Page View Load Time chart to populate with client-side telemetry data, add this script to each page that you want to track:

    <!-- 
    To collect user behavior analytics tools about your application, 
    insert the following script into each page you want to track.
    Place this code immediately before the closing </head> tag,
    and before any other scripts. Your first data will appear 
    automatically in just a few seconds.
    -->
    <script type="text/javascript">
      var appInsights=window.appInsights||function(config){
        function i(config){t[config]=function(){var i=arguments;t.queue.push(function(){t[config].apply(t,i)})}}var t={config:config},u=document,e=window,o="script",s="AuthenticatedUserContext",h="start",c="stop",l="Track",a=l+"Event",v=l+"Page",y=u.createElement(o),r,f;y.src=config.url||"https://az416426.vo.msecnd.net/scripts/a/ai.0.js";u.getElementsByTagName(o)[0].parentNode.appendChild(y);try{t.cookie=u.cookie}catch(p){}for(t.queue=[],t.version="1.0",r=["Event","Exception","Metric","PageView","Trace","Dependency"];r.length;)i("track"+r.pop());return i("set"+s),i("clear"+s),i(h+a),i(c+a),i(h+v),i(c+v),i("flush"),config.disableExceptionTracking||(r="onerror",i("_"+r),f=e[r],e[r]=function(config,i,u,e,o){var s=f&&f(config,i,u,e,o);return s!==!0&&t["_"+r](config,i,u,e,o),s}),t
        }({
            instrumentationKey:"<insert instrumentation key>"
        });
    
        window.appInsights=appInsights;
        appInsights.trackPageView();
    </script>
    
  5. A sinistra selezionare Metriche.On the left, select Metrics. Usare Esplora metriche per esaminare l'integrità e l'utilizzo della risorsa.Use the metrics explorer to investigate the health and utilization of your resource. È possibile selezionare Aggiungi nuovo grafico per creare altre visualizzazioni personalizzate oppure Modifica per modificare tipi, altezza, tavolozza dei colori, raggruppamenti e metriche dei grafici esistenti.You can select Add new chart to create additional custom views or select Edit to modify the existing chart types, height, color palette, groupings, and metrics. Si può ad esempio creare un grafico che visualizza il tempo medio di caricamento delle pagine del browser selezionando "Tempo di caricamento della pagina del browser" nell'elenco a discesa delle metriche e "Media" in Aggregazione.For example, you can make a chart that displays the average browser page load time by selecting "Browser page load time" from the metrics drop down and "Avg" from aggregation. Per altre informazioni su Esplora metriche di Azure, vedere Introduzione Esplora metriche di Azure.To learn more about Azure Metrics Explorer visit Getting started with Azure Metrics Explorer.

    Grafico delle metriche del server

Per altre informazioni sul monitoraggio di Node.js, vedere la documentazione aggiuntiva su Node.js in Application Insights.To learn more about monitoring Node.js, check out the additional App Insights Node.js documentation.

Pulire le risorseClean up resources

Dopo aver completato i test, è possibile eliminare il gruppo di risorse e le risorse correlate.When you are done testing, you can delete the resource group and all related resources. A tale scopo, seguire questa procedura.To do so follow the steps below.

  1. Dal menu a sinistra nel portale di Azure scegliere Gruppi di risorse e quindi selezionare myResourceGroup.From the left-hand menu in the Azure portal, select Resource groups and then select myResourceGroup.
  2. Nella pagina del gruppo di risorse selezionare Elimina, immettere myResourceGroup nella casella di testo e quindi scegliere Elimina.On your resource group page, select Delete, enter myResourceGroup in the text box, and then select Delete.

Passaggi successiviNext steps