Live Metrics: monitorare e diagnosticare con una latenza di 1 secondo
Usare le metriche attive di Application Insights per monitorare le applicazioni Web. Selezionare e filtrare metriche e contatori delle prestazioni per guardare in tempo reale ed esaminare le tracce dello stack da richieste ed eccezioni non riuscite di esempio. L'esperienza delle metriche in tempo reale è uno strumento di diagnostica potente se combinato con Profiler e Snapshot Debugger.
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.
Operazioni preliminari
- Abilitare le metriche attive seguendo le linee guida specifiche del linguaggio:
- ASP.NET: non supportato.
- ASP.NET Core: abilitato per impostazione predefinita.
- Java: abilitato per impostazione predefinita.
- Node.js: abilitato per impostazione predefinita.
- Python: passare
enable_live_metrics=True
inconfigure_azure_monitor
. Per altre informazioni, vedere la documentazione sulla Distribuzione OpenTelemetry di Monitoraggio di Azure.
Aprire la risorsa Application Insights per l'applicazione nel portale di Azure. Selezionare Live Metrics disponibile in Analisi dei problemi nel menu a sinistra.
Proteggere il canale di controllo abilitando l'autenticazione di Microsoft Entra se si usano filtri personalizzati.
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 in tempo reale gli indicatori di prestazioni personalizzati applicando filtri arbitrari a qualsiasi telemetria di Application Insights 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.
È 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.
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.
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.
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.
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.
Proteggere il canale di controllo
Proteggere il canale di controllo delle metriche attive abilitando l'autenticazione di Microsoft Entra, che impedisce la divulgazione non autorizzata di informazioni potenzialmente riservate immesse in filtri personalizzati.
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.
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
La sezione seguente illustra gli scenari di risoluzione dei problemi comuni per l'esperienza delle metriche in tempo reale.
Dati delle metriche in tempo reale mancanti
L'esperienza delle metriche in tempo reale usa 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.
Verificare che Application Insights sia abilitato e che l'app usi una versione recente della distribuzione OpenTelemetry di Monitoraggio di Azure. Se si usa the.NET'API classica, installare il pacchetto NuGet di Application Insights .
Autorizzare i server connessi: questa opzione non sarà disponibile
Sconsigliamo vivamente l'uso di canali non protetti.
Se si sceglie di provare filtri personalizzati senza configurare un canale autenticato, sarà necessario autorizzare i server connessi in ogni nuova sessione o quando i nuovi server vengono online. Inoltre, l'uso di canali non protetti verrà disabilitato automaticamente dopo sei mesi.
Una finestra di dialogo visualizzerà un avviso che indica che è possibile trasmettere metriche ed eventi con filtri personalizzati che vengono inviati all'app. Evitare di immettere informazioni potenzialmente riservate ,ad esempio l'ID cliente, fino a quando non si configura un canale autenticato. Tuttavia, se si riconosce e si considera attendibile tutti i server seguenti, è possibile provare filtri personalizzati senza autenticazione. Questa opzione non sarà disponibile dopo ##/#/#####. Server connessi senza autenticazione:"
Per correggere questo avviso, vedere Proteggere il canale di controllo.
Numero basso di istanze del server monitorate
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 per 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.
Configurazione mancante per .NET
Verificare di usare la versione più recente del pacchetto NuGet Microsoft.ApplicationInsights.PerfCounterCollector.
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>
Riavvia l'applicazione.
Messaggio di stato "I dati sono temporaneamente inaccessibili"
Quando si passa alle metriche attive, è possibile visualizzare 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 eseguano il polling degli endpoint una volta ogni cinque secondi per verificare se si sta visualizzando il riquadro delle metriche attive 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.