Live Metrics Stream: monitorare e diagnosticare con una latenza di 1 secondoLive Metrics Stream: Monitor & Diagnose with 1-second latency

Usando Live Metrics Stream da Application Insights è possibile testare il funzionamento dell'applicazione Web live nell'ambiente di produzione.Probe the beating heart of your live, in-production web application by using Live Metrics Stream from Application Insights. Selezionare e filtrare le metriche e i contatori delle prestazioni in tempo reale, senza distorsioni del servizio.Select and filter metrics and performance counters to watch in real time, without any disturbance to your service. Esaminare le analisi dello stack da richieste ed eccezioni di esempio non riuscite.Inspect stack traces from sample failed requests and exceptions. Insieme al Profiler, snapshot debugger.Together with Profiler, Snapshot debugger. Live Metrics Stream offre uno strumento di diagnostica potente e non invasivo per il sito Web Live.Live Metrics Stream provides a powerful and non-invasive diagnostic tool for your live web site.

Con Live Metrics Stream, è possibile:With Live Metrics Stream, you can:

  • Convalidare una correzione durante il rilasciato, osservando i contatori delle prestazioni e degli errori.Validate a fix while it is released, by watching performance and failure counts.
  • Osservare l'effetto dei carichi di test e diagnosticare i problemi live.Watch the effect of test loads, and diagnose issues live.
  • Concentrarsi sulle sessioni di test specifiche o filtrare i problemi noti, selezionando e filtrando le metriche che si desidera osservare.Focus on particular test sessions or filter out known issues, by selecting and filtering the metrics you want to watch.
  • Ottenere le eccezioni delle tracce in tempo reale.Get exception traces as they happen.
  • Provare a usare i filtri per individuare gli indicatori di prestazioni chiave più rilevanti.Experiment with filters to find the most relevant KPIs.
  • Monitorare ogni contatore delle prestazioni di Windows live.Monitor any Windows performance counter live.
  • Identificare facilmente un server che presenta problemi e filtrare tutti gli indicatori KPI o i feed live solo per tale server.Easily identify a server that is having issues, and filter all the KPI/live feed to just that server.

Video di Live Metrics StreamLive Metrics Stream video

Le metriche attive sono attualmente supportate per le app ASP.NET, ASP.NET Core, funzioni di Azure, Java e node. js.Live Metrics are currently supported for ASP.NET, ASP.NET Core, Azure Functions, Java, and Node.js apps.

Attività inizialiGet started

  1. Se non si è ancora installato Application Insights nell'app Web, è possibile farlo ora.If you haven't yet install Application Insights in your web app, do that now.

  2. Oltre ai pacchetti standard di Application Insights, è necessario Microsoft.ApplicationInsights.PerfCounterCollector per abilitare Live Metrics Stream.In addition to the standard Application Insights packages Microsoft.ApplicationInsights.PerfCounterCollector is required to enable Live Metrics stream.

  3. Eseguire l'aggiornamento alla versione più recente del pacchetto Application Insights.Update to the latest version of the Application Insights package. In Visual Studio fare clic con il pulsante destro del mouse sul progetto e scegliere Gestisci pacchetti NuGet.In Visual Studio, right-click your project and choose Manage Nuget packages. Aprire la scheda Aggiornamenti e selezionare tutti i pacchetti Microsoft.ApplicationInsights.*.Open the Updates tab, and select all the Microsoft.ApplicationInsights.* packages.

    Ridistribuire l'app.Redeploy your app.

  4. Nel portale di Azure aprire la risorsa di Application Insights per l'app e quindi Live Stream.In the Azure portal, open the Application Insights resource for your app, and then open Live Stream.

  5. Proteggere il canale di controllo se è possibile usare i dati sensibili, ad esempio i nomi dei clienti, nei filtri.Secure the control channel if you might use sensitive data such as customer names in your filters.

Node.jsNode.js

Per usare la metrica dinamica con node. js, è necessario eseguire l'aggiornamento alla versione 1,30 o successiva dell'SDK.To use Live Metrics with Node.js you must update to version 1.30 or greater of the SDK. Per impostazione predefinita, la metrica dinamica è disabilitata in node. js SDK.By default Live Metrics is disabled in the Node.js SDK. Per abilitare le metriche in tempo setSendLiveMetrics(true) reale, aggiungere i metodi di configurazione durante l'inizializzazione dell'SDK.To enable Live Metrics add setSendLiveMetrics(true) to your configuration methods as you initialize the SDK.

Dati non visualizzatiNo data? Controllare il firewall del serverCheck your server firewall

Controllare che le porte in uscita di Live Metrics Stream siano aperte nel firewall del server.Check the outgoing ports for Live Metrics Stream are open in the firewall of your servers.

Differenze tra Live Metrics Stream ed Esplora metriche e AnalisiHow does Live Metrics Stream differ from Metrics Explorer and Analytics?

Live StreamLive Stream Esplora metriche e AnalisiMetrics Explorer and Analytics
LatencyLatency Dati visualizzati in un secondoData displayed within one second Aggregati in minutiAggregated over minutes
Nessuna conservazioneNo retention I dati vengono mantenuti finché si trovano nel grafico, poi vengono eliminatiData persists while it's on the chart, and is then discarded Dati mantenuti per 90 giorniData retained for 90 days
On demandOn demand I dati vengono trasmessi durante l'apertura di Live MetricsData is streamed while you open Live Metrics I dati vengono inviati ogni volta che l'SDK viene installato e attivatoData is sent whenever the SDK is installed and enabled
GratuitoFree Non sono previste spese per i dati di Live StreamThere is no charge for Live Stream data Soggetto al piano tariffarioSubject to pricing
campionamentoSampling Tutte le metriche selezionate e i contatori vengono trasmessi.All selected metrics and counters are transmitted. Gli errori e le analisi dello stack vengono usati come esempi.Failures and stack traces are sampled. TelemetryProcessors non viene applicato.TelemetryProcessors are not applied. Eventi potrebbero essere usati come esempiEvents may be sampled
Canale di controlloControl channel I segnali di controllo del filtro vengono inviati all'SDK.Filter control signals are sent to the SDK. È consigliabile proteggere questo canale.We recommend you secure this channel. La comunicazione è unidirezionale al portaleCommunication is one-way, to the portal

Selezionare e filtrare le metricheSelect and filter your metrics

Disponibile con ASP.NET, ASP.NET Core e Funzioni di Azure (v2).(Available with ASP.NET, ASP.NET Core, and Azure Functions (v2).)

È possibile monitorare gli indicatori KPI personalizzati live applicando filtri arbitrari su eventuali dati di Application Insights Telemetry dal portale.You can monitor custom KPI live by applying arbitrary filters on any Application Insights telemetry from the portal. Fare clic sul controllo del filtro che viene mostrato quando il puntatore del mouse passa su un grafico.Click the filter control that shows when you mouse-over any of the charts. Il grafico seguente traccia un indicatore KPI del conteggio di richieste personalizzato con filtri sugli attributi dell'URL e della durata.The following chart is plotting a custom Request count KPI with filters on URL and Duration attributes. Convalidare i filtri nella sezione Anteprima flusso che mostra un feed live di telemetria che corrisponde ai criteri specificati in qualsiasi punto nel tempo.Validate your filters with the Stream Preview section that shows a live feed of telemetry that matches the criteria you have specified at any point in time.

Indicatore KPI di richieste personalizzato

È possibile monitorare un valore diverso dal conteggio.You can monitor a value different from Count. Le opzioni dipendono dal tipo di flusso, che può essere una qualsiasi Application Insights Telemetry: richieste, dipendenze, eccezioni, tracce, eventi o metriche.The options depend on the type of stream, which could be any Application Insights telemetry: requests, dependencies, exceptions, traces, events, or metrics. Può essere la propria misura personalizzata:It can be your own custom measurement:

Opzioni del valore

Oltre ai dati di Application Insights Telemetry, è anche possibile monitorare un contatore delle prestazioni di Windows selezionandolo dalle opzioni di flusso e inserendo il nome del contatore delle prestazioni.In addition to Application Insights telemetry, you can also monitor any Windows performance counter by selecting that from the stream options, and providing the name of the performance counter.

Le metriche attive vengono aggregate in due punti: in locale su ciascun server e quindi su tutti i server.Live metrics are aggregated at two points: locally on each server, and then across all servers. È possibile modificare l'impostazione predefinita per entrambi selezionando altre opzioni nei rispettivi elenchi a discesa.You can change the default at either by selecting other options in the respective drop-downs.

Dati di telemetria di esempio: eventi di diagnostica live personalizzatiSample Telemetry: Custom Live Diagnostic Events

Per impostazione predefinita, il feed live degli eventi mostra esempi di richieste non riuscite e chiamate di dipendenza, eccezioni, eventi e tracce.By default, the live feed of events shows samples of failed requests and dependency calls, exceptions, events, and traces. Fare clic sull'icona del filtro per visualizzare i criteri applicati in un punto qualsiasi nel tempo.Click the filter icon to see the applied criteria at any point in time.

Feed live predefinito

Così come con le metriche, è possibile specificare i criteri arbitrari per i tipi di dati di Application Insights Telemetry.As with metrics, you can specify any arbitrary criteria to any of the Application Insights telemetry types. In questo esempio, vengono selezionati eventi, tracce e richieste non riuscite specifiche.In this example, we are selecting specific request failures, traces, and events. Vengono selezionate anche tutte le eccezioni e gli errori di dipendenza.We are also selecting all exceptions and dependency failures.

Feed live personalizzati

Nota: attualmente, per i criteri di eccezione basati sul messaggio, usare il messaggio dell'eccezione più esterna.Note: Currently, for Exception message-based criteria, use the outermost exception message. Nell'esempio precedente, per filtrare l'eccezione di tipo benigno con messaggio di eccezione interna, segue il delimitatore "<--", "Il client si è disconnesso."In the preceding example, to filter out the benign exception with inner exception message (follows the "<--" delimiter) "The client disconnected." usare un criterio che non contiene il messaggio "Errore durante la lettura del contenuto della richiesta".use a message not-contains "Error reading request content" criteria.

Visualizzare i dettagli di un elemento nel feed live facendovi clic sopra.See the details of an item in the live feed by clicking it. È possibile sospendere il feed facendo clic su Sospendi o semplicemente scorrendo verso il basso o facendo clic su un elemento.You can pause the feed either by clicking Pause or simply scrolling down, or clicking an item. Il feed live verrà ripreso se, scorrendo, si torna all'inizio o facendo clic sul contatore degli elementi raccolti che era stato sospeso.Live feed will resume after you scroll back to the top, or by clicking the counter of items collected while it was paused.

Errori live campionati

Filtro per istanza di serverFilter by server instance

Se si vuole monitorare un'istanza specifica del ruolo server, è possibile applicare un filtro per server.If you want to monitor a particular server role instance, you can filter by server.

Errori live campionati

Requisiti SDKSDK Requirements

.NET.NET

Live Metrics Stream personalizzato è disponibile con la versione 2.4.0-beta2 o più recente di Application Insights SDK per il Web.Custom Live Metrics Stream is available with version 2.4.0-beta2 or newer of Application Insights SDK for web. Ricordarsi di selezionare l'opzione "Includi versione preliminare" da Gestione pacchetti di NuGet.Remember to select "Include Prerelease" option from NuGet package manager.

Node.jsNode.js

Live Metrics Stream è disponibile con la versione 1.3.0 o successiva di Application Insights SDK per node. js.Live Metrics Stream is available with version 1.3.0 or newer of the Application Insights SDK for Node.JS. Ricordarsi di setSendLiveMetrics(true) usare durante la configurazione dell'SDK nel codice.Remember to use setSendLiveMetrics(true) while configuring the SDK in your code.

Proteggere il canale di controlloSecure the control channel

I criteri di filtri personalizzati specificati dall'utente vengono inviati al componente Metriche attive in Application Insights SDK.The custom filters criteria you specify are sent back to the Live Metrics component in the Application Insights SDK. I filtri potrebbero contenere informazioni riservate, ad esempio ID cliente.The filters could potentially contain sensitive information such as customerIDs. È possibile proteggere il canale con una chiave privata API e con la chiave di strumentazione.You can make the channel secure with a secret API key in addition to the instrumentation key.

Creare una chiave APICreate an API Key

Creare una chiave API

Aggiungere una chiave API alla configurazioneAdd API key to Configuration

ASP.NET classicoClassic ASP.NET

Nel file applicationinsights.config aggiungere AuthenticationApiKey a QuickPulseTelemetryModule:In the applicationinsights.config file, add the AuthenticationApiKey to the QuickPulseTelemetryModule:


<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector">
      <AuthenticationApiKey>YOUR-API-KEY-HERE</AuthenticationApiKey>
</Add>

Oppure nel codice impostarla in QuickPulseTelemetryModule:Or in code, set it on the QuickPulseTelemetryModule:

using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;
using Microsoft.ApplicationInsights.Extensibility;

             TelemetryConfiguration configuration = new TelemetryConfiguration();
            configuration.InstrumentationKey = "YOUR-IKEY-HERE";

            QuickPulseTelemetryProcessor processor = null;

            configuration.TelemetryProcessorChainBuilder
                .Use((next) =>
                {
                    processor = new QuickPulseTelemetryProcessor(next);
                    return processor;
                })
                        .Build();

            var QuickPulse = new QuickPulseTelemetryModule()
            {

                AuthenticationApiKey = "YOUR-API-KEY"
            };
            QuickPulse.Initialize(configuration);
            QuickPulse.RegisterTelemetryProcessor(processor);
            foreach (var telemetryProcessor in configuration.TelemetryProcessors)
                {
                if (telemetryProcessor is ITelemetryModule telemetryModule)
                    {
                    telemetryModule.Initialize(configuration);
                    }
                }

App per le funzioni di AzureAzure Function Apps

Per le app per le funzioni di Azure (v2) è possibile proteggere il canale con una chiave API usando una variabile di ambiente.For Azure Function Apps (v2) securing the channel with an API key can be accomplished with an environment variable.

Creare una chiave API dalla risorsa di Application Insights e passare a Impostazioni applicazione per l'app per le funzioni.Create an API key from within your Application Insights resource and go to Application Settings for your Function App. Selezionare Aggiungi nuova impostazione e immettere il nome APPINSIGHTS_QUICKPULSEAUTHAPIKEY e un valore corrispondente alla chiave API.Select add new setting and enter a name of APPINSIGHTS_QUICKPULSEAUTHAPIKEY and a value that corresponds to your API key.

ASP.NET Core (richiede Application Insights ASP.NET Core SDK 2.3.0-beta o versioni successive)ASP.NET Core (Requires Application Insights ASP.NET Core SDK 2.3.0-beta or greater)

Modificare il file startup.cs come indicato di seguito:Modify your startup.cs file as follows:

Prima aggiungereFirst add

using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;

Poi, all'interno del metodo ConfigureServices, aggiungere:Then within the ConfigureServices method add:

services.ConfigureTelemetryModule<QuickPulseTelemetryModule> ((module, o) => module.AuthenticationApiKey = "YOUR-API-KEY-HERE");

Tuttavia, se l'utente riconosce tutti i server collegati e li ritiene affidabili, è possibile provare i filtri personalizzati senza il canale autenticato.However, if you recognize and trust all the connected servers, you can try the custom filters without the authenticated channel. Questa opzione è disponibile per sei mesi.This option is available for six months. Questa sostituzione è necessaria una volta per ogni nuova sessione oppure quando un nuovo server è online.This override is required once every new session, or when a new server comes online.

Opzioni di autenticazione delle metriche attive

Nota

È consigliabile configurare il canale autenticato prima di immettere informazioni potenzialmente riservate, ad esempio CustomerID nei criteri di filtro.We strongly recommend that you set up the authenticated channel before entering potentially sensitive information like CustomerID in the filter criteria.

risoluzione dei problemiTroubleshooting

Dati non visualizzatiNo data? Se l'applicazione è in una rete protetta: Live Metrics Stream usa indirizzi IP diversi da quelli di altri dati di telemetria di Application Insights.If your application is in a protected network: Live Metrics Stream uses a different IP addresses than other Application Insights telemetry. Assicurarsi che tali indirizzi IP siano aperti nel firewall.Make sure those IP addresses are open in your firewall.

Passaggi successiviNext steps