Individuare le metriche basate su log

Completato

Le metriche basate su log di Application Insights consentono di analizzare l'integrità delle app monitorate, creare potenti dashboard e configurare avvisi. Ci sono due tipi di metriche:

  • Metriche basate su log convertite in background in query Kusto dagli eventi archiviati.
  • Metriche standard archiviate come serie temporali pre-aggregate.

Poiché le metriche standard vengono pre-aggregate durante la raccolta, offrono prestazioni migliori in fase di query. Le metriche standard sono una scelta migliore per il dashboard e gli avvisi in tempo reale. Le metriche basate su log hanno più dimensioni, che le rendono l'opzione migliore per l'analisi dei dati e la diagnostica ad hoc. Usare il selettore dello spazio dei nomi per passare tra le metriche basate su log e quelle standard in Esplora metriche.

Metriche basate su log

Gli sviluppatori possono usare l'SDK per generare questi eventi manualmente (scrivendo codice che richiama in modo esplicito l'SDK) o possono affidarsi alla raccolta automatica di eventi tramite la strumentazione automatica. In entrambi i casi, il back-end di Application Insights archivia tutti gli eventi raccolti sotto forma di log e i pannelli di Application Insights nel portale di Azure fungono da strumento di analisi e diagnostica per la visualizzazione dei dati basati su eventi dai log.

L'uso di log per mantenere un set completo di eventi può offrire eccezionali vantaggi in termini di analisi e diagnostica. Ad esempio, è possibile ottenere un conteggio esatto delle richieste a un URL specifico con il numero di utenti distinti che hanno effettuato queste chiamate. In alternativa, è possibile ottenere tracce di diagnostica dettagliate, incluse le eccezioni e le chiamate di dipendenza per qualsiasi sessione utente. La disponibilità di questo tipo di informazioni può migliorare significativamente la visibilità riguardo all'integrità e all'utilizzo dell'applicazione, riducendo il tempo necessario per diagnosticare problemi relativi a un'app.

Allo stesso tempo, la raccolta di un set completo di eventi potrebbe essere poco pratica (o addirittura impossibile) per le applicazioni che generano un volume elevato di dati di telemetria. Per i casi in cui il volume di eventi è troppo elevato, Application Insights implementa diverse tecniche di riduzione dei volumi di dati di telemetria, ad esempio il campionamento e l'applicazione di filtri, che riducono il numero di eventi raccolti e archiviati. Sfortunatamente, riducendo il numero di eventi archiviati si riduce anche l'accuratezza delle metriche che, in background, devono eseguire aggregazioni in fase di query degli eventi archiviati nei log.

Metriche preaggregate

Le metriche pre-aggregate non vengono archiviate come singoli eventi con un numero elevato di proprietà. Al contrario, vengono archiviate come serie temporali preaggregate e solo con dimensioni di chiave. Questa caratteristica le rende migliori in fase di query: il recupero dei dati avviene molto più rapidamente e richiede meno potenza di calcolo. Di conseguenza, sono possibili nuovi scenari, come la generazione di avvisi praticamente in tempo reale in base alle dimensioni delle metriche, dashboard più reattivi e così via.

Importante

Le metriche basate su log e quelle preaggregate coesistono in Azure Application Insights. Per differenziarle, nell'esperienza utente di Application Insights le metriche pre-aggregate sono ora denominate "Metriche standard (anteprima)", mentre le metriche tradizionali degli eventi sono state rinominate in "Metriche basate su log".

Gli SDK più recenti (Application Insights 2.7 SDK o versione successiva per .NET) pre-aggregano le metriche durante la raccolta. Ciò si applica alle metriche standard inviate per impostazione predefinita, in modo che l'accuratezza non sia influenzata dal campionamento o dal filtro. Si applica anche alle metriche personalizzate inviate tramite GetMetric con conseguente riduzione delle operazioni di inserimento dati e dei costi.

Per gli SDK che non implementano la pre-aggregazione, il back-end di Application Insights continua a popolare le nuove metriche aggregando gli eventi ricevuti dall'endpoint della raccolta di eventi di Application Insights. Questo significa che anche se non è possibile trarre vantaggio dal volume ridotto dei dati trasmessi in rete, è comunque possibile usare le metriche pre-aggregate e ottenere prestazioni migliori e supporto per la generazione di avvisi dimensionali near real-time con gli SDK che non pre-aggregano le metriche durante la raccolta.

Vale la pena sottolineare che l'endpoint di raccolta pre-aggrega gli eventi prima del campionamento per inserimento, il che significa che il campionamento per inserimento non influisce mai sull'accuratezza delle metriche pre-aggregate, indipendentemente dalla versione dell'SDK usata con l'applicazione.