Modello di dati di Application Insights TelemetryApplication Insights telemetry data model

Azure Application Insights invia dati di telemetria dall'applicazione Web al portale di Azure, in modo da poter analizzare le prestazioni e l'uso dell'applicazione.Azure Application Insights sends telemetry from your web application to the Azure portal, so that you can analyze the performance and usage of your application. Il modello di dati di telemetria è standardizzato e di conseguenza è possibile creare scenari di monitoraggio indipendenti dalla piattaforma e dal linguaggio.The telemetry model is standardized so that it is possible to create platform and language-independent monitoring.

I dati raccolti da Application Insights creano questo tipico modello di esecuzione dell'applicazione:Data collected by Application Insights models this typical application execution pattern:

Modello di applicazione di Application Insights

Per monitorare l'esecuzione dell'applicazione si usano i tipi di dati di telemetria che seguono.The following types of telemetry are used to monitor the execution of your app. I tre tipi seguenti vengono raccolti automaticamente da Application Insights SDK dal framework dell'applicazione Web:The following three types are typically automatically collected by the Application Insights SDK from the web application framework:

  • Richiesta: tipo generato per registrare una richiesta ricevuta dall'applicazione.Request - Generated to log a request received by your app. Ad esempio, la versione Web di Application Insights SDK genera automaticamente un elemento di telemetria di tipo richiesta per ogni richiesta HTTP ricevuta dall'app Web.For example, the Application Insights web SDK automatically generates a Request telemetry item for each HTTP request that your web app receives.

    Un'operazione è il thread di esecuzione che elabora una richiesta.An Operation is the threads of execution that processes a request. È anche possibile scrivere codice per monitorare altri tipi di operazioni, ad esempio la "riattivazione" di un processo Web o di una funzione che periodicamente elabora i dati.You can also write code to monitor other types of operation, such as a "wake up" in a web job or function that periodically processes data. Ogni operazione presenta un ID.Each operation has an ID. Questo ID può essere usato per raggruppare tutti i dati di telemetria generati durante l'elaborazione della richiesta da parte dell'app.This ID that can be used to group all telemetry generated while your app is processing the request. Ogni operazione ha un esito positivo o negativo e una certa durata.Each operation either succeeds or fails, and has a duration of time.

  • Eccezione: rappresenta in genere un'eccezione che causa l'esito negativo dell'operazione.Exception - Typically represents an exception that causes an operation to fail.
  • Dipendenza: rappresenta una chiamata dall'applicazione a un servizio esterno o a una risorsa di archiviazione, ad esempio a un'API REST o a SQL.Dependency - Represents a call from your app to an external service or storage such as a REST API or SQL. In ASP.NET le chiamate di dipendenza a SQL sono definite da System.Data.In ASP.NET, dependency calls to SQL are defined by System.Data. Le chiamate agli endpoint HTTP sono definite da System.Net.Calls to HTTP endpoints are defined by System.Net.

Application Insights offre altri tre tipi di dati per la telemetria personalizzata:Application Insights provides three additional data types for custom telemetry:

  • Traccia: tipo usato direttamente o tramite un adapter per implementare la registrazione diagnostica con un framework di strumentazione con cui si ha familiarità, ad esempio Log4Net o System.Diagnostics.Trace - used either directly, or through an adapter to implement diagnostics logging using an instrumentation framework that is familiar to you, such as Log4Net or System.Diagnostics.
  • Evento: tipo usato in genere per acquisire l'interazione dell'utente con il servizio per analizzare i modelli di utilizzo.Event - typically used to capture user interaction with your service, to analyze usage patterns.
  • Metrica: tipo usato per indicare le misurazioni scalari periodiche.Metric - used to report periodic scalar measurements.

Ogni elemento di telemetria può definire informazioni di contesto quali la versione dell'applicazione o l’ID della sessione utente. Il contesto è un set di campi fortemente tipizzati che sblocca determinati scenari.Every telemetry item can define the context information like application version or user session id. Context is a set of strongly typed fields that unblocks certain scenarios. Quando la versione dell'applicazione viene inizializzata correttamente, Application Insights può rilevare nuovi modelli di comportamento dell'applicazione in correlazione con la ridistribuzione.When application version is properly initialized, Application Insights can detect new patterns in application behavior correlated with redeployment. L'ID sessione consente di calcolare l'interruzione del servizio o l’impatto di un problema sugli utenti.Session id can be used to calculate the outage or an issue impact on users. Il calcolo separato dei valori dell'ID sessione per determinate dipendenze non riuscite, tracce di errore o eccezioni critiche offre una buona conoscenza dell'impatto.Calculating distinct count of session id values for certain failed dependency, error trace or critical exception gives a good understanding of an impact.

Il modello di dati di Application Insights Telemetry definisce una modalità di correlazione dei dati di telemetria all'operazione di cui fanno parte.Application Insights telemetry model defines a way to correlate telemetry to the operation of which it’s a part. Una richiesta può ad esempio di effettuare chiamate a un database SQL e registrare informazioni di diagnostica.For example, a request can make a SQL Database calls and recorded diagnostics info. È possibile impostare il contesto di correlazione per gli elementi di telemetria che lo legano di nuovo alla telemetria delle richieste.You can set the correlation context for those telemetry items that tie it back to the request telemetry.

Miglioramenti allo schemaSchema improvements

Il modello di dati di Application Insights rappresenta un modo semplice e pratico, ma potente, per modellare i dati di telemetria dell'applicazione.Application Insights data model is a simple and basic yet powerful way to model your application telemetry. Microsoft si impegna a mantenere il modello semplice ed essenziale in modo da supportare gli scenari essenziali e da consentire l'estensione dello schema per un uso avanzato.We strive to keep the model simple and slim to support essential scenarios and allow to extend the schema for advanced use.

Per segnalare problemi e suggerimenti relativi al modello di dati e allo schema, usare il repository di GitHub ApplicationInsights-Home.To report data model or schema problems and suggestions use GitHub ApplicationInsights-Home repository.

Passaggi successiviNext steps