Metriche in Application Insights
Application Insights supporta tre diversi tipi di metriche: standard (preaggregati), basati su log e metriche personalizzate. Ciascun tipo offre un valore univoco per il monitoraggio dell'integrità, della diagnostica e dell'analisi dell'applicazione. Gli sviluppatori che instrumentano le applicazioni possono decidere quale tipo di metrica è più adatto a uno scenario specifico. Le decisioni sono basate sulle dimensioni dell'applicazione, sul volume previsto di dati di telemetria e sui requisiti aziendali per la precisione e gli avvisi delle metriche. Questo articolo illustra la differenza tra tutti i tipi di metriche supportati.
Metriche standard
Le metriche standard in Application Insights sono metriche predefinite che vengono raccolte e monitorate automaticamente dal servizio. Queste metriche coprono un'ampia gamma di indicatori di prestazioni e utilizzo, ad esempio l'utilizzo della CPU, il consumo di memoria, le tariffe delle richieste e i tempi di risposta. Le metriche standard offrono una panoramica completa dell'integrità e delle prestazioni dell'applicazione senza richiedere alcuna configurazione aggiuntiva. Le metriche standard vengono preaggregate durante la raccolta e archiviate come serie temporali in un repository specializzato con solo dimensioni chiave, che offrono prestazioni migliori in fase di query. Ciò rende le metriche standard la scelta migliore per gli avvisi quasi in tempo reale sulle dimensioni delle metriche e dashboard più reattivi.
Metriche basate su log
Le metriche basate sui log in Application Insights sono un concetto di tempo di query, rappresentato come una serie temporale oltre ai dati di log dell'applicazione. I log sottostanti non vengono preaggregati in fase di raccolta o archiviazione e mantengono tutte le proprietà di ogni voce di log. Questa conservazione consente di usare le proprietà del log come dimensioni sulle metriche basate su log in fase di query per il filtro del grafico delle metriche e la suddivisione delle metriche, offrendo metriche basate su log un valore analitico e diagnostico superiore. Tuttavia, le tecniche di riduzione del volume di telemetria, ad esempio il campionamento e il filtro dei dati di telemetria, comunemente usate con le applicazioni di monitoraggio che generano grandi volumi di dati di telemetria, influisce sulla quantità delle voci di log raccolte e quindi riduce l'accuratezza delle metriche basate su log.
Metriche personalizzate (anteprima)
Le metriche personalizzate in Application Insights consentono di definire e tenere traccia di misurazioni specifiche univoche per l'applicazione. Queste metriche possono essere create instrumentando il codice per inviare dati di telemetria personalizzati ad Application Insights. Le metriche personalizzate offrono la flessibilità necessaria per monitorare qualsiasi aspetto dell'applicazione non coperta dalle metriche standard, consentendo di ottenere informazioni più approfondite sul comportamento e sulle prestazioni dell'applicazione.
Per altre informazioni, vedere Metriche personalizzate in Monitoraggio di Azure (anteprima).
Nota
Application Insights offre anche una funzionalità denominata Flusso metriche attive, che consente il monitoraggio quasi in tempo reale delle applicazioni Web e non archivia dati di telemetria.
Confronto tra metriche
Funzionalità | Metriche standard | Metriche basate su log | Metriche personalizzate |
---|---|---|---|
Origine dati | Dati di serie temporali preaggregati raccolti durante il runtime. | Derivato dai dati di log usando query Kusto. | Metriche definite dall'utente raccolte tramite Application Insights SDK o API. |
Granularità | Intervalli fissi (1 minuto). | Dipende dalla granularità dei dati di log stessi. | Granularità flessibile basata sulle metriche definite dall'utente. |
Precisione | Elevato, non interessato dal campionamento del log. | Può essere influenzato dal campionamento e dal filtro. | Accuratezza elevata, soprattutto quando si usano metodi preaggregati come GetMetric. |
Costii | Incluso nei prezzi di Application Insights. | In base ai costi di inserimento e query dei dati di log. | Vedere Modello di prezzi e conservazione. |
Configurazione | Disponibile automaticamente con configurazione minima. | Richiedere la configurazione delle query di log per estrarre le metriche desiderate dai dati di log. | Richiede implementazione e configurazione personalizzate nel codice. |
Prestazioni delle query | Veloce, a causa della preaggregazione. | Più lento, perché comporta l'esecuzione di query sui dati di log. | Dipende dal volume di dati e dalla complessità delle query. |
Storage | Archiviato come dati delle serie temporali nell'archivio metriche di Monitoraggio di Azure. | Archiviato come log nell'area di lavoro Log Analytics. | Archiviato sia in Log Analytics che nell'archivio delle metriche di Monitoraggio di Azure. |
Invio di avvisi | Supporta gli avvisi in tempo reale. | Consente scenari di avviso complessi basati su dati di log dettagliati. | Avvisi flessibili basati sulle metriche definite dall'utente. |
Limite del servizio | Soggetto ai limiti di Application Insights. | Soggetto ai limiti dell'area di lavoro Log Analytics. | Limitato dalla quota per le metriche gratuite e dal costo per dimensioni aggiuntive. |
Casi d'uso | Monitoraggio in tempo reale, dashboard delle prestazioni e informazioni rapide. | Diagnostica dettagliata, risoluzione dei problemi e analisi approfondita. | Indicatori di prestazioni personalizzati e metriche specifiche dell'azienda. |
Esempi | Utilizzo della CPU, utilizzo della memoria, durata della richiesta. | Conteggi delle richieste, tracce di eccezioni, chiamate di dipendenza. | Metriche personalizzate specifiche dell'applicazione, ad esempio l'engagement degli utenti, gli utilizzi delle funzionalità. |
Preaggregazione delle metriche
Gli SDK OpenTelemetry e i nuovi SDK di Application Insights (API classica) preaggregano le metriche durante la raccolta per ridurre il volume di dati inviati dall'SDK all'endpoint del canale di telemetria. Questo processo si applica alle metriche standard inviate per impostazione predefinita, quindi l'accuratezza non è influenzata dal campionamento o dal filtro. Si applica anche alle metriche personalizzate inviate usando l'API OpenTelemetry o GetMetric e TrackValue, che comporta un minor inserimento dei dati e un costo inferiore. Se la versione di Application Insights SDK supporta GetMetric e TrackValue, è il metodo preferito per l'invio di metriche personalizzate.
Per gli SDK che non implementano la preaggregazione( ovvero le versioni precedenti degli SDK di Application Insights o per la strumentazione del browser), il back-end di Application Insights popola ancora le nuove metriche aggregando gli eventi ricevuti dall'endpoint del canale di telemetria di Application Insights. Per le metriche personalizzate, è possibile usare il metodo trackMetric . Anche se non è possibile trarre vantaggio dal volume ridotto dei dati trasmessi in rete, è comunque possibile usare le metriche preaggregate e ottenere prestazioni migliori e supporto per la generazione di avvisi dimensionali praticamente in tempo reale con gli SDK che non preaggregano le metriche durante la raccolta.
L'endpoint del canale di telemetria preaggrega gli eventi prima del campionamento dell'inserimento. Per questo motivo, il campionamento per inserimento non influisce mai sull'accuratezza delle metriche preaggregate, indipendentemente dalla versione dell'SDK usata con l'applicazione.
Le tabelle seguenti elencano la preaggregazione in cui la preaggregazione è preaggregata.
Preaggregazione delle metriche con la distribuzione OpenTelemetry di Monitoraggio di Azure
SDK di produzione corrente | Preaggregazione delle metriche standard | Preaggregazione delle metriche personalizzate |
---|---|---|
ASP.NET Core | SDK | SDK tramite l'API OpenTelemetry |
.NET (tramite l'utilità di esportazione) | SDK | SDK tramite l'API OpenTelemetry |
Java (3.x) | SDK | SDK tramite l'API OpenTelemetry |
Nativo Java | SDK | SDK tramite l'API OpenTelemetry |
Node.js | SDK | SDK tramite l'API OpenTelemetry |
Python | SDK | SDK tramite l'API OpenTelemetry |
Preaggregazione delle metriche con Application Insights SDK (API classica)
SDK di produzione corrente | Preaggregazione delle metriche standard | Preaggregazione delle metriche personalizzate |
---|---|---|
.NET Core e .NET Framework | SDK (V2.13.1+) | SDK (V2.7.2+) tramite GetMetric Endpoint del canale di telemetria tramite TrackMetric |
Java (2.x) | Endpoint del canale di telemetria | Endpoint del canale di telemetria tramite TrackMetric |
JavaScript (Browser) | Endpoint del canale di telemetria | Endpoint del canale di telemetria tramite TrackMetric |
Node.js | Endpoint del canale di telemetria | Endpoint del canale di telemetria tramite TrackMetric |
Python | Endpoint del canale di telemetria | SDK tramite OpenCensus.stats (ritirato) Endpoint del canale di telemetria tramite TrackMetric |
Attenzione
Application Insights Java 2.x SDK non è più consigliato. Usare invece l'offerta Java basata su OpenTelemetry.
OpenCensus Python SDK viene ritirato. È consigliabile usare l'offerta Python basata su OpenTelemetry e fornire indicazioni sulla migrazione.
Preaggregazione delle metriche con strumentazione automatica
Con l'strumentazione automatica, l'SDK viene aggiunto automaticamente al codice dell'applicazione e non può essere personalizzato. Per le metriche personalizzate, è necessaria la strumentazione manuale.
SDK di produzione corrente | Preaggregazione delle metriche standard | Preaggregazione delle metriche personalizzate |
---|---|---|
ASP.NET Core | SDK 1 | Non supportato |
ASP.NET | SDK 2 | Non supportato |
Java | SDK | Supportato 3 |
Node.js | SDK | Non supportato |
Python | SDK | Non supportato |
Note
- 1 ASP.NET core autoinstrumentazione su servizio app genera metriche standard senza dimensioni. La strumentazione manuale è necessaria per tutte le dimensioni.
- 2 ASP.NET l'strumentazione automatica in macchine virtuali/set di scalabilità di macchine virtuali e in locale genera metriche standard senza dimensioni. Lo stesso vale per Servizio app di Azure, ma il livello di raccolta deve essere impostato su consigliato. La strumentazione manuale è necessaria per tutte le dimensioni.
- 3 L'agente Java usato con la strumentazione automatica acquisisce le metriche generate dalle librerie più diffuse e le invia ad Application Insights come metriche personalizzate.
Dimensioni delle metriche personalizzate e preaggregazione
Tutte le metriche inviate tramite OpenTelemetry, trackMetric o GetMetric e TrackValue chiamate API vengono archiviate automaticamente nell'archivio delle metriche e nei log. Queste metriche sono disponibili nella tabella customMetrics in Application Insights e in Esplora metriche nello spazio dei nomi delle metriche personalizzato denominato azure.applicationinsights. Sebbene la versione basata su log della metrica personalizzata conservi sempre tutte le dimensioni, la versione preaggregata della metrica viene archiviata senza dimensioni per impostazione predefinita. La conservazione delle dimensioni delle metriche personalizzate è una funzionalità di anteprima che può essere attivata dalla scheda Utilizzo e costi stimati selezionando Con dimensioni in Inviare metriche personalizzate all'archivio metriche di Azure.
Obiettivi di vendita
Le metriche preaggregate vengono archiviate come serie temporali in Monitoraggio di Azure. Si applicano le quote di Monitoraggio di Azure per le metriche personalizzate.
Nota
Il superamento della quota potrebbe avere conseguenze impreviste. Monitoraggio di Azure potrebbe diventare inaffidabile nella sottoscrizione o nell'area. Per informazioni su come evitare di superare la quota, vedere Limitazioni e considerazioni sulla progettazione.
Perché la raccolta di dimensioni di metriche personalizzate è disattivata per impostazione predefinita?
La raccolta di dimensioni delle metriche personalizzate è disattivata per impostazione predefinita perché in futuro, l'archiviazione di metriche personalizzate con dimensioni verrà fatturata separatamente da Application Insights. L'archiviazione di metriche personalizzate non dimensionali resterà gratuita (fino a una quota). Per informazioni sulle modifiche che stanno per essere apportate al modello tariffario, vedere la pagina ufficiale dei prezzi.
Creare grafici ed esplorare le metriche
Usare Esplora metriche di Monitoraggio di Azure per tracciare grafici da metriche preaggregate, basate su log e personalizzate e per creare dashboard con grafici. Dopo aver selezionato la risorsa di Application Insights desiderata, usare la selezione dello spazio dei nomi per passare da una metrica all'altra.
Modelli di prezzi per le metriche di Application Insights
L'inserimento di metriche in Application Insights, basate su log o preaggregate, genera costi in base alle dimensioni dei dati inseriti. Per ulteriori informazioni, consultare Dettagli dei prezzi dei log del Monitoraggio di Azure. Le metriche personalizzate, incluse tutte le dimensioni, vengono sempre archiviate nell'archivio log di Application Insights. Inoltre, una versione preaggregata delle metriche personalizzate senza dimensioni viene inoltrata all'archivio delle metriche per impostazione predefinita.
Se si seleziona l'opzione Abilita gli avvisi sulle dimensioni di metriche personalizzate per archiviare tutte le dimensioni delle metriche preaggregate nell'archivio metriche, è possibile generare costi aggiuntivi in base ai prezzi delle metriche personalizzate.
Metriche disponibili
Le sezioni seguenti elencano le metriche con aggregazioni e dimensioni supportate. I dettagli sulle metriche basate su log includono le istruzioni di query Kusto sottostanti.
Metriche di disponibilità
Le metriche nella categoria Disponibilità consentono di visualizzare l'integrità dell'applicazione Web come osservato dai punti in tutto il mondo. Configurare i test di disponibilità per iniziare a usare qualsiasi metrica di questa categoria.
Disponibilità (availabilityResults/availabilityPercentage)
La metrica Disponibilità mostra la percentuale delle esecuzioni di test Web che non hanno rilevato problemi. Il valore più basso possibile è 0, che indica che tutte le esecuzioni di test Web non sono riuscite. Il valore 100 indica che tutte le esecuzioni di test Web hanno superato i criteri di convalida.
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Percentuale | Media | Run location , Test name |
Durata del test di disponibilità (availabilityResults/duration)
La metrica Durata test di disponibilità mostra il tempo necessario per l'esecuzione del test Web. Per i test Web in più passaggi, la metrica riflette il tempo di esecuzione totale di tutti i passaggi.
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Millisecondi | Avg, Max, Min | Run location , Test name , Test result |
Test di disponibilità (availabilityResults/count)
La metrica Test di disponibilità riflette il numero di test Web eseguiti da Monitoraggio di Azure.
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Conteggio | Conteggio | Run location , Test name , Test result |
Metriche del browser
Le metriche del browser vengono raccolte da Application Insights JavaScript SDK da browser utente finali reali. Forniscono informazioni dettagliate dettagliate sull'esperienza degli utenti con l'app Web. Le metriche del browser in genere non vengono campionate, il che significa che forniscono una maggiore precisione dei numeri di utilizzo rispetto alle metriche lato server che potrebbero essere asimmetriche dal campionamento.
Nota
Per raccogliere le metriche del browser, l'applicazione deve essere instrumentata con Application Insights JavaScript SDK.
Tempo di caricamento della pagina del browser (browserTimings/totalDuration)
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Millisecondi | Avg, Max, Min | None |
Tempo di elaborazione client (browserTiming/processingDuration)
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Millisecondi | Avg, Max, Min | None |
Tempo di connessione di rete di caricamento pagine (browserTimings/networkDuration)
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Millisecondi | Avg, Max, Min | None |
Ricezione del tempo di risposta (browserTimings/receiveDuration)
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Millisecondi | Avg, Max, Min | None |
Ora richiesta di invio (browserTimings/sendDuration)
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Millisecondi | Avg, Max, Min | None |
Metriche di errore
Le metriche in Errori mostrano problemi con l'elaborazione di richieste, chiamate di dipendenza e eccezioni generate.
Eccezioni del browser (eccezioni/browser)
Questa metrica riflette il numero di eccezioni generate dal codice dell'applicazione in esecuzione nel browser. Nella metrica sono incluse solo le eccezioni rilevate con una trackException()
chiamata API di Application Insights.
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Conteggio | Conteggio | Cloud role name |
Errori di chiamata alle dipendenze (dipendenze/errore)
Numero di chiamate di dipendenza non riuscite.
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Conteggio | Conteggio | Cloud role instance , Cloud role name , Dependency performance , Dependency type Is traffic synthetic , , Result code Target of dependency call |
Eccezioni (eccezioni/conteggio)
Ogni volta che si registra un'eccezione ad Application Insights, viene eseguita una chiamata al metodo trackException() dell'SDK. La metrica Eccezioni mostra il numero di eccezioni registrate.
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Conteggio | Conteggio | Cloud role instance , Cloud role name , Device type |
Richieste non riuscite (richieste/non riuscite)
Numero di richieste server rilevate contrassegnate come non riuscite. Per impostazione predefinita, Application Insights SDK contrassegna automaticamente ogni richiesta del server che ha restituito il codice di risposta HTTP 5xx o 4xx come richiesta non riuscita. È possibile personalizzare questa logica modificando la proprietà success dell'elemento di telemetria della richiesta in un inizializzatore di telemetria personalizzato.
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Conteggio | Conteggio | Cloud role instance , Cloud role name , Is synthetic traffic , Request performance Result code |
Eccezioni del server (eccezioni/server)
Questa metrica mostra il numero di eccezioni del server.
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Conteggio | Conteggio | Cloud role instance , Cloud role name |
Contatori delle prestazioni
Usare le metriche nella categoria Contatori delle prestazioni per accedere ai contatori delle prestazioni del sistema raccolti da Application Insights.
Memoria disponibile (performanceCounters/availableMemory)
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Megabyte/Gigabyte (dipendente dai dati) | Avg, Max, Min | Cloud role instance |
Frequenza delle eccezioni (performanceCounters/exceptionRate)
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Count | Avg, Max, Min | Cloud role instance |
Tempo di esecuzione della richiesta HTTP (performanceCounters/requestExecutionTime)
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Millisecondi | Avg, Max, Min | Cloud role instance |
Frequenza delle richieste HTTP (performanceCounters/requestsPerSecond)
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Richieste al secondo | Avg, Max, Min | Cloud role instance |
Richieste HTTP nella coda dell'applicazione (performanceCounters/requestsInQueue)
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Count | Avg, Max, Min | Cloud role instance |
CPU del processo (performanceCounters/processCpuPercentage)
La metrica mostra la quantità totale di capacità del processore utilizzata dal processo che ospita l'app monitorata.
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Percentuale | Avg, Max, Min | Cloud role instance |
Nota
L'intervallo della metrica è compreso tra 0 e 100 * n, dove n è il numero di core CPU disponibili. Ad esempio, il valore della metrica del 200% potrebbe rappresentare l'utilizzo completo di due core CPU o metà utilizzo di 4 core CPU e così via. Process CPU Normalized è una metrica alternativa raccolta da molti SDK che rappresenta lo stesso valore, ma la divide per il numero di core CPU disponibili. Di conseguenza, l'intervallo della metrica Process CPU Normalized è compreso tra 0 e 100.
Velocità di I/O del processo (performanceCounters/processIOBytesPerSecond)
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Byte al secondo | Average, Min, Max | Cloud role instance |
Elaborare byte privati (performanceCounters/processPrivateBytes)
Quantità di memoria non condivisa allocata dal processo monitorato per i dati.
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Byte | Average, Min, Max | Cloud role instance |
Tempo processore (performanceCounters/processorCpuPercentage)
Utilizzo della CPU da parte di tutti i processi in esecuzione nell'istanza del server monitorato.
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Percentuale | Average, Min, Max | Cloud role instance |
Nota
La metrica relativa al tempo del processore non è disponibile per le applicazioni ospitate in app Azure Services. Usare la metrica Elaborazione CPU per tenere traccia dell'utilizzo della CPU delle applicazioni Web ospitate in servizio app.
Metriche del server
Chiamate di dipendenza (dipendenze/conteggio)
Questa metrica è in relazione al numero di chiamate di dipendenza.
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Conteggio | Conteggio | Cloud role instance , Cloud role name , Dependency performance , Dependency type Is traffic synthetic , Result code , , Successful call Target of a dependency call |
Durata delle dipendenze (dipendenze/durata)
Questa metrica si riferisce alla durata delle chiamate alle dipendenze.
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Millisecondi | Avg, Max, Min | Cloud role instance , Cloud role name , Dependency performance , Dependency type Is traffic synthetic , Result code , , Successful call Target of a dependency call |
Frequenza richieste server (richieste/frequenza)
Questa metrica riflette il numero di richieste server in ingresso ricevute dall'applicazione Web.
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Conteggio al secondo | Media | Cloud role instance , Cloud role name , Is traffic synthetic , Request performance Result code Successful request |
Richieste server (richieste/conteggio)
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Conteggio | Conteggio | Cloud role instance , Cloud role name , Is traffic synthetic , Request performance Result code Successful request |
Tempo di risposta del server (richieste/durata)
Questa metrica riflette il tempo necessario per i server per elaborare le richieste in ingresso.
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Millisecondi | Avg, Max, Min | Cloud role instance , Cloud role name , Is traffic synthetic , Request performance Result code Successful request |
Metriche di utilizzo
Tempo di caricamento della visualizzazione pagina (pageViews/duration)
Questa metrica si riferisce alla quantità di tempo impiegato per il caricamento degli eventi PageView.
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Millisecondi | Avg, Max, Min | Cloud role name , Is traffic synthetic |
Visualizzazioni pagina (pageViews/count)
Numero di eventi PageView registrati con l'API Application Insights TrackPageView().
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Conteggio | Conteggio | Cloud role name , Is traffic synthetic |
Tracce (tracce/conteggio)
Conteggio delle istruzioni di traccia registrate con la chiamata API Di Application Insights TrackTrace().
Unità di misura | Aggregazioni supportate | Dimensioni supportate |
---|---|---|
Conteggio | Conteggio | Cloud role instance , Cloud role name , Is traffic synthetic Severity level |
Metriche personalizzate
Non applicabile alle metriche standard.
Accedere direttamente alle metriche basate su log con l'API REST di Application Insights
L'API REST di Application Insights consente il recupero a livello di codice delle metriche basate su log. Include anche un parametro ai.include-query-payload
facoltativo che, quando aggiunto a una stringa di query, richiede all'API di restituire non solo i dati delle serie temporali, ma anche l'istruzione Linguaggio di query Kusto (KQL) usata per recuperarla. Questo parametro può essere particolarmente utile per gli utenti che vogliono comprendere la connessione tra eventi non elaborati in Log Analytics e la metrica basata su log risultante.
Per accedere direttamente ai dati, passare il parametro ai.include-query-payload
all'API di Application Insights in una query usando KQL.
Nota
Per recuperare la query DEMO_APP
dei log sottostanti e DEMO_KEY
non è necessario sostituirla. Se si vuole solo recuperare l'istruzione KQL e non i dati delle serie temporali della propria applicazione, è possibile copiarlo e incollarlo direttamente nella barra di ricerca del browser.
api.applicationinsights.io/v1/apps/DEMO_APP/metrics/users/authenticated?api_key=DEMO_KEY&prefer=ai.include-query-payload
Di seguito è riportato un esempio di istruzione KQL restituita per la metrica "Authenticated Users". In questo esempio è "users/authenticated"
l'ID metrica.
output
{
"value": {
"start": "2024-06-21T09:14:25.450Z",
"end": "2024-06-21T21:14:25.450Z",
"users/authenticated": {
"unique": 0
}
},
"@ai.query": "union (traces | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (requests | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (pageViews | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (dependencies | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (customEvents | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (availabilityResults | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (exceptions | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (customMetrics | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (browserTimings | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)) | where notempty(user_AuthenticatedId) | summarize ['users/authenticated_unique'] = dcount(user_AuthenticatedId)"
}