Scoprire le metriche basate su log

Completato

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

  • Le metriche basate su log dietro le quinte vengono tradotte in query Kusto da eventi archiviati.
  • le metriche standard vengono archiviate come serie temporali preaggregate.

Poiché le metriche standard vengono preaggregate durante la raccolta, hanno prestazioni migliori durante l'interrogazione. Le metriche standard sono una scelta migliore per il dashboard e gli avvisi in tempo reale. Le metriche basate su log hanno più dimensioni, rendendole l'opzione superiore per l'analisi dei dati e la diagnostica ad hoc. Usare il selettore nello 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 inviare manualmente gli eventi (scrivendo codice che richiama in modo esplicito l'SDK) oppure possono basarsi sulla raccolta automatica di eventi dalla strumentazione automatica. In entrambi i casi, il back-end di Application Insights archivia tutti gli eventi raccolti come log e i pannelli di Application Insights nel portale di Azure fungono da strumento analitico e diagnostico per la visualizzazione dei dati basati su eventi dai log.

L'uso dei log per conservare un set completo di eventi può offrire un ottimo valore analitico e diagnostico. Ad esempio, è possibile ottenere un numero esatto di 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. Avere questo tipo di informazioni può migliorare significativamente la visibilità sull'integrità e sull'utilizzo dell'applicazione, consentendo di ridurre il tempo necessario per diagnosticare i problemi con un'app.

Allo stesso tempo, la raccolta di un set completo di eventi può essere poco pratica (o anche impossibile) per le applicazioni che generano un volume elevato di dati di telemetria. Per situazioni in cui il volume di eventi è troppo elevato, Application Insights implementa diverse tecniche di riduzione del volume di telemetria, ad esempio il campionamento e il filtro che riduce il numero di eventi raccolti e archiviati. Purtroppo, riducendo il numero di eventi archiviati si riduce anche l'accuratezza delle metriche che, dietro le quinte, devono eseguire aggregazioni in fase di query degli eventi archiviati nei log.

Metriche preaggregate

Le metriche preaggregate non vengono archiviate come singoli eventi con numerose proprietà. Vengono invece archiviate come serie temporali preaggregate e solo con dimensioni chiave. Ciò rende le nuove metriche superiori in fase di query: il recupero dei dati avviene più velocemente e richiede una minore potenza di calcolo. Ciò consente nuovi scenari, ad esempio avvisi quasi in tempo reale sulle dimensioni delle metriche, dashboard più reattivi e altro ancora.

Importante

Sia le metriche basate su log che quelle preaggregate coesistono in Application Insights. Per differenziare i due, nell'esperienza utente di Application Insights le metriche preaggregate 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 versioni successive per .NET) preaggregano le metriche durante la raccolta. Questo vale per le metriche standard inviate per impostazione predefinita così che l'accuratezza non sia influenzata dal campionamento o dal filtraggio. Si applica anche alle metriche personalizzate inviate usando GetMetric con conseguente minore inserimento dati e un costo inferiore.

Per gli SDK che non implementano la pre-aggregazione, il back-end di Application Insights popola ancora le nuove metriche aggregando gli eventi ricevuti dall'endpoint della raccolta di eventi di Application Insights. Sebbene non si tragga vantaggio dal volume ridotto di dati trasmessi in rete, è comunque possibile usare le metriche preaggregate e ottenere prestazioni migliori e il supporto degli avvisi quasi in tempo reale con SDK che non preaggregeranno le metriche durante la raccolta.

Vale la pena ricordare che l'endpoint della raccolta preaggrega gli eventi prima del campionamento dell'inserimento, il che significa che campionamento di inserimento non influirà mai sull'accuratezza delle metriche preaggregate, indipendentemente dalla versione dell'SDK usata con l'applicazione.