Condividi tramite


Live Metrics: monitorare e diagnosticare con una latenza di 1 secondo

Monitorare l'applicazione Web live usando la funzionalità Live Metrics (nota anche come QuickPulse) da Application Insights. È possibile selezionare e filtrare le metriche e i contatori delle prestazioni da osservare in tempo reale, senza interferenze del servizio. È anche possibile esaminare le tracce dello stack di richieste ed eccezioni di esempio non riuscite. Insieme al Profiler e Snapshot Debugger, Live Metrics offre uno strumento di diagnostica non invasivo e potente per il sito Web live.

Nota

Live Metrics supporta solo TLS 1.2. Per ulteriori informazioni, vedere Risoluzione dei problemi.

Con Live Metrics, è possibile:

  • Convalidare una correzione durante il rilascio, osservando i contatori delle prestazioni e degli errori.
  • Osservare l'effetto dei carichi di test e diagnosticare i problemi in tempo reale.
  • Concentrarsi su sessioni di test specifiche o filtrare i problemi noti, selezionando e filtrando le metriche che si desidera osservare.
  • Ottenere le eccezioni delle tracce in tempo reale.
  • Provare a usare i filtri per individuare gli indicatori di prestazioni chiave più rilevanti.
  • Monitorare ogni contatore delle prestazioni di Windows live.
  • Identificare facilmente un server che presenta problemi e filtrare tutti gli indicatori KPI o i feed live solo per tale server.

Screenshot che mostra la scheda Live Metrics.

La funzionalità Live Metrics è attualmente supportata per app ASP.NET, ASP.NET Core, Funzioni di Azure, Java e Node.js.

Nota

Il numero di istanze del server monitorate visualizzato da Live Metrics potrebbe essere inferiore al numero effettivo di istanze allocate per l'applicazione. Questa mancata corrispondenza è dovuta al fatto che molti server Web moderni scaricano le applicazioni che non ricevono richieste dopo un periodo di tempo, per risparmiare risorse. Poiché Live Metrics conta solo i server in cui è attualmente in esecuzione l'applicazione, i server che hanno già scaricato il processo non verranno inclusi in tale conteggio.

Operazioni preliminari

Importante

Per abilitare Application Insights, assicurarsi che sia attivato nel portale di Azure e che l'app usi una versione recente del pacchetto NuGet Distribuzione OpenTelemetry di Monitoraggio di Azure o di Application Insights (versione classica). Senza il pacchetto NuGet, alcuni dati di telemetria vengono inviati ad Application Insights, ma tali dati non verranno visualizzati nel riquadro di Live Metrics.

  1. Seguire le linee guida specifiche del linguaggio per abilitare Live Metrics:
  1. Aprire la risorsa Application Insights per l'applicazione nel portale di Azure. Selezionare Live Metrics disponibile in Analisi dei problemi nel menu a sinistra.

  2. Proteggere il canale di controllo se è possibile che vengano usati dati sensibili, ad esempio i nomi dei clienti, nei filtri.

Nota

Il 31 marzo 2025, il supporto per l'inserimento delle chiavi di strumentazione terminerà. L'inserimento delle chiavi di strumentazione continuerà a funzionare, ma non saranno più garantiti aggiornamenti o supporto per la funzionalità. Eseguire la transizione alle stringhe di connessione per sfruttare le nuove funzionalità.

Quali sono le differenze tra Live Metrics, Esplora metriche e Log Analytics?

Funzionalità Live Stream Esplora metriche e Log Analytics
Latenza Dati visualizzati entro un secondo. Aggregati in minuti.
Nessuna conservazione I dati vengono mantenuti finché si trovano nel grafico, poi vengono eliminati. Dati conservati per 90 giorni.
Su richiesta I dati vengono trasmessi in streaming solo quando il riquadro Live Metrics è aperto. I dati vengono inviati ogni volta che l'SDK è installato e attivato.
Gratuito Non sono previsti addebiti per i dati di Live Stream. Soggetto al piano tariffario.
Campionamento Tutte le metriche selezionate e i contatori vengono trasmessi. Gli errori e le analisi dello stack vengono usati come esempi. Gli eventi possono essere campionati.
Canale di controllo I segnali di controllo del filtro vengono inviati all'SDK. È consigliabile proteggere questo canale. La comunicazione è unidirezionale, verso il portale.

Selezionare e filtrare le metriche

Queste funzionalità sono disponibili con ASP.NET, ASP.NET Core e Funzioni di Azure (v2).

È possibile monitorare gli indicatori KPI personalizzati live applicando filtri arbitrari su eventuali dati di Application Insights Telemetry dal portale. Selezionare il controllo del filtro che viene mostrato quando il puntatore del mouse passa su un grafico. Il grafico seguente traccia un indicatore KPI di conteggio delle richieste personalizzato con filtri per gli attributi URL e Durata. Convalidare i filtri nella sezione anteprima flusso che mostra un feed live di telemetria che corrisponde ai criteri specificati in qualsiasi momento nel tempo.

Screenshot che mostra la frequenza delle richieste di filtro.

È possibile monitorare un valore diverso dal conteggio. Le opzioni dipendono dal tipo di flusso, che può essere un dato di telemetria di Application Insights qualsiasi, come richieste, dipendenze, eccezioni, tracce, eventi o metriche. Può essere anche una misura personalizzata.

Screenshot che mostra la frequenza di Generatore di query su richiesta con una metrica personalizzata.

Oltre ai dati di telemetria di Application Insights, è anche possibile monitorare qualsiasi contatore delle prestazioni di Windows. Selezionarlo dalle opzioni del flusso e specificare il nome del contatore delle prestazioni.

Le metriche di Live Metrics vengono aggregate in due punti: in locale su ogni server e quindi su tutti i server. È possibile modificare l'impostazione predefinita per entrambi selezionando altre opzioni nei rispettivi elenchi a discesa.

Telemetria di esempio: eventi di diagnostica live personalizzati

Per impostazione predefinita, il feed live degli eventi mostra esempi di richieste non riuscite e chiamate di dipendenza, eccezioni, eventi e tracce. Selezionare l'icona del filtro per visualizzare i criteri applicati in un momento qualsiasi nel tempo.

Screenshot che mostra il pulsante Filtro.

Così come con le metriche, è possibile specificare i criteri arbitrari per i tipi di dati di Application Insights Telemetry. In questo esempio vengono selezionati eventi e richieste non riuscite specifici.

Screenshot che mostra Generatore di query.

Nota

Attualmente, per i criteri di eccezione basati su messaggi, usare il messaggio di eccezione più esterno. Nell'esempio precedente, per escludere l'eccezione non dannosa con un messaggio di eccezione interno (segue il delimitatore "<--") "Il client si è disconnesso", usare un criterio 'il messaggio non contiene' "Errore durante la lettura del contenuto della richiesta".

Per visualizzare i dettagli di un elemento nel feed live, selezionarlo. È possibile sospendere il feed selezionando Sospendi oppure scorrendo verso il basso e selezionando un elemento. Il feed live riprende dopo lo scorrimento verso l'alto o quando si seleziona il contatore degli elementi raccolti durante la sospensione.

Screenshot che mostra la finestra si telemetria di esempio con un'eccezione selezionata e i dettagli dell'eccezione visualizzati nella parte inferiore della finestra.

Filtro per istanza di server

Se si vuole monitorare un'istanza specifica del ruolo server, è possibile applicare un filtro per server. Per filtrare, selezionare il nome del server in Server.

Screenshot che mostra gli errori live campionati.

Proteggere il canale di controllo

I filtri personalizzati per Live Metrics consentono di controllare quali dati di telemetria dell'applicazione vengono trasmessi al riquadro Live Metrics nel portale di Azure. I criteri dei filtri vengono inviati alle app instrumentate con Application Insights SDK. Il valore del filtro potrebbe contenere informazioni riservate, ad esempio l'ID cliente. Per proteggere questo valore e impedirne la potenziale divulgazione ad applicazioni non autorizzate, proteggere il canale di Live Metrics usando l'autenticazione Microsoft Entra.

Nota

Il 30 settembre 2025 le chiavi API usate per trasmettere i dati di telemetria di Live Metrics in Application Insights verranno ritirate. Dopo tale data, le applicazioni che usano chiavi API non saranno più in grado di inviare dati di Live Metrics alla risorsa Application Insights. L'inserimento di dati di telemetria autenticato per lo streaming di Live Metrics in Application Insights dovrà essere eseguito con l'autenticazione di Microsoft Entra per Application Insights.

È possibile provare filtri personalizzati senza dover configurare un canale autenticato. Selezionare una delle icone del filtro e autorizzare i server connessi. Se si sceglie questa opzione, è necessario autorizzare i server connessi una volta ogni nuova sessione o ogni volta che un nuovo server passa allo stato online.

Avviso

È sconsigliato l'uso di canali non protetti e questa opzione verrà disabilitata sei mesi dopo che l'utente ha iniziato a usarla. Nella finestra di dialogo Autorizza server connessi viene visualizzata la data dopo la quale questa opzione verrà disabilitata.

Screenshot che mostra la finestra di dialogo Autorizza server connessi.

Tabella delle funzionalità supportate

Lingua Metriche di base Metriche delle prestazioni Filtro personalizzato Telemetria di esempio Suddivisione della CPU per processo
.NET Framework Supportata (LTS) Supportata (LTS) Supportata (LTS) Supportata (LTS) Supportata (LTS)
.NET Core (destinazione=.NET Framework) Supportata (LTS) Supportata (LTS) Supportata (LTS) Supportata (LTS) Supportata (LTS)
.NET Core (destinazione=.NET Core) Supportata (LTS) Supportato* Supportata (LTS) Supportata (LTS) Non supportato
Funzioni di Azure v2 Supportata Supportato Supportato Supportato Non supportato
Java Supportata (V2.0.0 e successive) Supportata (V2.0.0 e successive) Non supportato Supportata (V3.2.0 e successive) Non supportato
Node.js Supportata (V1.3.0 e successive) Supportata (V1.3.0 e successive) Non supportato Supportata (V1.3.0 e successive) Non supportato
Python Supportata (versione distribuzione 1.6.0 e successive) Non supportato Non supportato Non supportato Non supportato

Le metriche di base includono richiesta, dipendenza e frequenza delle eccezioni. Le metriche delle prestazioni (contatori delle prestazioni) includono memoria e CPU. I dati di telemetria di esempio mostrano un flusso di informazioni dettagliate per le richieste non riuscite e le dipendenze, le eccezioni, gli eventi e le tracce.

Il supporto dei contatori delle prestazioni varia leggermente tra le versioni di .NET Core che non hanno come destinazione .NET Framework:

  • Le metriche dei contatori delle prestazioni sono supportate durante l'esecuzione nel servizio app di Azure per Windows (ASP.NET Core SDK versione 2.4.1 o successiva).
  • I contatori delle sono supportati quando l'app è in esecuzione in qualsiasi computer Windows per le app destinate a .NET Core LTS o versione successiva.
  • I contatori delle prestazioni sono supportati quando l'app viene eseguita ovunque (ad esempio Linux, Windows, servizio app per Linux o contenitori) nelle versioni più recenti, ma solo per le app destinate a .NET Core LTS o versione successiva.

Risoluzione dei problemi

Le metriche Live Metrics usano indirizzi IP diversi rispetto ad altri dati di telemetria di Application Insights. Assicurarsi che tali indirizzi IP siano aperti nel firewall. Verificare anche che le porte in uscita per Live Metrics siano aperte nel firewall dei server.

Come descritto nell'annuncio sulla migrazione di TLS 1.2 di Azure, le metriche Live Metrics supportano ora solo TLS 1.2. Se si usa una versione precedente di TLS, il riquadro Live Metrics non visualizza dati. Per le applicazioni basate su .NET Framework 4.5.1, vedere Abilitare Transport Layer Security (TLS) 1.2 nei client - Configuration Manager per supportare una versione più recente di TLS.

Configurazione mancante per .NET

  1. Verificare di usare la versione più recente del pacchetto NuGet Microsoft.ApplicationInsights.PerfCounterCollector.

  2. Modificare il file ApplicationInsights.config:

    • Verificare che la stringa di connessione punti alla risorsa Application Insights in uso.
    • Localizzare l'opzione di configurazione QuickPulseTelemetryModule. Se non è presente, aggiungerla.
    • Localizzare l'opzione di configurazione QuickPulseTelemetryProcessor. Se non è presente, aggiungerla.
    <TelemetryModules>
    <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.
    QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector"/>
    </TelemetryModules>
    
    <TelemetryProcessors>
    <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.
    QuickPulse.QuickPulseTelemetryProcessor, Microsoft.AI.PerfCounterCollector"/>
    </TelemetryProcessors>
    
  3. Riavvia l'applicazione.

Messaggio di stato "I dati sono temporaneamente inaccessibili"

Quando si passa a Live Metrics, è possibile che venga visualizzato un banner con il messaggio di stato: "I dati sono temporaneamente inaccessibili. Gli aggiornamenti sullo stato sono pubblicati qui https://aka.ms/aistatus"

Seguire il collegamento alla pagina Stato di Azure e verificare se è presente un'interruzione dell'attivazione che interessa Application Insights. Verificare che i firewall e le estensioni del browser non blocchino l'accesso a Live Metrics se non è in corso un'interruzione. Ad esempio, alcune estensioni di blocco degli annunci più diffuse bloccano le connessioni a *.monitor.azure.com. Per usare le funzionalità complete di Live Metrics, disabilitare l'estensione di blocco degli annunci o aggiungere una regola di esclusione per il dominio *.livediagnostics.monitor.azure.com al blocco annunci, al firewall e così via.

Numero elevato imprevisto di richieste di livediagnostics.monitor.azure.com

Gli SDK di Application Insights usano un'API REST per comunicare con gli endpoint QuickPulse, che forniscono metriche Live Metrics per l'applicazione Web. Per impostazione predefinita, gli SDK eseguono il polling degli endpoint una volta ogni cinque secondi per verificare se si sta visualizzando il riquadro Live Metrics nel portale di Azure.

Se si apre Live Metrics, gli SDK passano a una modalità di frequenza maggiore e inviano nuove metriche a QuickPulse ogni secondo. In questo modo è possibile monitorare e diagnosticare l'applicazione in tempo reale con una latenza di 1 secondo, ma genera anche un maggior traffico di rete. Per ripristinare il normale flusso di traffico, uscire dal riquadro Live Metrics.

Nota

Le chiamate API REST effettuate dagli SDK agli endpoint QuickPulse non vengono rilevate da Application Insights e non influiscono sulle chiamate alle dipendenze o ad altre metriche. Tuttavia, è possibile visualizzarle in altri strumenti di monitoraggio della rete.

Passaggi successivi