Esportare i dati di telemetria da Application InsightsExport telemetry from Application Insights

Si vogliono mantenere i dati di telemetria per un periodo più lungo del periodo di mantenimento standardWant to keep your telemetry for longer than the standard retention period? o elaborarli in un modo particolare?Or process it in some specialized way? A tale scopo, l'esportazione continua è ideale.Continuous Export is ideal for this. Gli eventi visualizzati nel portale di Application Insights possono essere esportati nella risorsa di archiviazione di Microsoft Azure in formato JSON.The events you see in the Application Insights portal can be exported to storage in Microsoft Azure in JSON format. Da qui è possibile scaricare i dati e scrivere qualsiasi tipo di codice necessario per elaborarli.From there you can download your data and write whatever code you need to process it.

L'uso dell'esportazione continua può comportare un costo aggiuntivo.Using Continuous Export may incur an additional charge. Controllare il modello di prezzi.Check your pricing model.

Prima di configurare l'esportazione continua, è necessario prendere in considerazione alcune alternative:Before you set up continuous export, there are some alternatives you might want to consider:

  • Il pulsante Esporta nella parte superiore del pannello delle metriche o di ricerca consente di esportare tabelle e grafici in un foglio di calcolo di Excel.The Export button at the top of a metrics or search blade lets you transfer tables and charts to an Excel spreadsheet.

  • Dati di analisi offre un linguaggio avanzato di query per la telemetriaAnalytics provides a powerful query language for telemetry. che consente anche di esportare i risultati.It can also export results.

  • Se si vogliono esplorare i dati in Power BI, non è necessario usare l'esportazione continua.If you're looking to explore your data in Power BI, you can do that without using Continuous Export.
  • L'API REST di accesso ai dati consente di accedere ai dati di telemetria a livello di codice.The Data access REST API lets you access your telemetry programmatically.

Con l'esportazione continua i dati vengono copiati nella risorsa di archiviazione, in cui possono rimanere fino a quando si desidera, ma sono ancora disponibili in Application Insights per il periodo di conservazione usuale.After Continuous Export copies your data to storage (where it can stay for as long as you like), it's still available in Application Insights for the usual retention period.

Creare un'esportazione continuaCreate a Continuous Export

  1. Nella risorsa di Application Insights per l'app aprire Esportazione continua e scegliere Aggiungi:In the Application Insights resource for your app, open Continuous Export and choose Add:

    Scorrere verso il basso e fare clic su Esportazione continua

  2. Scegliere i tipi di dati di telemetria da esportare.Choose the telemetry data types you want to export.

  3. Creare o selezionare un account di archiviazione di Azure in cui memorizzare i dati.Create or select an Azure storage account where you want to store the data.

    Avviso

    Per impostazione predefinita, il percorso di archiviazione verrà impostato sulla stessa area geografica della risorsa di Application Insights.By default, the storage location will be set to the same geographical region as your Application Insights resource. Se si esegue l'archiviazione in un'area differente, è possibile che vengano applicati addebiti per il trasferimento.If you store in a different region, you may incur transfer charges.

    Fare clic su Aggiungi, Destinazione di esportazione, Account di archiviazione e quindi creare un nuovo archivio o scegliere un archivio esistente

  4. Creare o selezionare un contenitore nella risorsa di archiviazione:Create or select a container in the storage:

    Fare clic su Scegli tipi di eventi

Dopo averla creata, l'esportazione viene avviata.Once you've created your export, it starts going. Si ottengono solo i dati ricevuti dopo avere creato l'esportazione.You only get data that arrives after you create the export.

Può verificarsi un ritardo di circa un'ora prima che i dati vengano visualizzati nella risorsa di archiviazione.There can be a delay of about an hour before data appears in the storage.

Per modificare l'esportazione continuaTo edit continuous export

Se si vogliono modificare i tipi di eventi in un secondo momento, è sufficiente modificare l'esportazione:If you want to change the event types later, just edit the export:

Fare clic su Scegli tipi di eventi

Per interrompere l'esportazione continuaTo stop continuous export

Per interrompere l'esportazione, fare clic su Disabilita.To stop the export, click Disable. Quando si fa clic di nuovo su Abilita, l'esportazione verrà riavviata con nuovi dati.When you click Enable again, the export will restart with new data. Non si otterranno i dati che arrivano nel portale mentre l'esportazione è stata disabilitata.You won't get the data that arrived in the portal while export was disabled.

Per interrompere l'esportazione in modo permanente, eliminare l'esportazione.To stop the export permanently, delete it. Questa operazione non elimina i dati dalla risorsa di archiviazione.Doing so doesn't delete your data from storage.

Non si riesce ad aggiungere o modificare un'esportazione?Can't add or change an export?

  • Per aggiungere o modificare le esportazioni, è necessario avere i diritti di accesso proprietario, collaboratore o collaboratore di Application Insights.To add or change exports, you need Owner, Contributor or Application Insights Contributor access rights. Informazioni sui ruoli.Learn about roles.

Quali eventi si ottengono?What events do you get?

I dati esportati sono dati di telemetria non elaborati ricevuti dall'applicazione, tranne che per l'aggiunta di dati del percorso calcolati dall'indirizzo IP del client.The exported data is the raw telemetry we receive from your application, except that we add location data which we calculate from the client IP address.

I dati che il campionamento ha rimosso non sono inclusi nei dati esportati.Data that has been discarded by sampling is not included in the exported data.

Le altre metriche calcolate non sono incluse.Other calculated metrics are not included. Ad esempio, non si procederà all'esportazione dell'uso medio della CPU, ma si procederà all'esportazione dei dati di telemetria non elaborati a partire dai quali viene calcolata la media.For example, we don't export average CPU utilisation, but we do export the raw telemetry from which the average is computed.

I dati includono anche i risultati di ogni test Web di disponibilità impostato.The data also includes the results of any availability web tests that you have set up.

Nota

Campionamento.Sampling. Se l'applicazione invia una grande quantità di dati, la funzionalità di campionamento può intervenire e inviare solo una percentuale della telemetria generata.If your application sends a lot of data, the sampling feature may operate and send only a fraction of the generated telemetry. Altre informazioni sul campionamento.Learn more about sampling.

Esaminare i datiInspect the data

È possibile esaminare lo spazio di archiviazione direttamente nel portale.You can inspect the storage directly in the portal. Fare clic su Sfoglia, selezionare l'account di archiviazione e quindi aprire i Contenitori.Click Browse, select your storage account, and then open Containers.

Per esaminare l'archiviazione di Azure in Visual Studio, aprire Visualizza, Cloud Explorer.To inspect Azure storage in Visual Studio, open View, Cloud Explorer. (Se non si dispone di tale comando del menu, è necessario installare l’SDK di Azure: aprire la finestra di dialogo Nuovo progetto, espandere Visual C#/Cloud e scegliere Ottieni Microsoft Azure SDK per .NET).(If you don't have that menu command, you need to install the Azure SDK: Open the New Project dialog, expand Visual C#/Cloud and choose Get Microsoft Azure SDK for .NET.)

Quando si apre l'archivio BLOB, si noterà un contenitore con un set di file BLOB.When you open your blob store, you'll see a container with a set of blob files. L'URI di ogni file è derivato dal nome della risorsa di Application Insights, la relativa chiave di strumentazione e tipo/data/ora della telemetria.The URI of each file derived from your Application Insights resource name, its instrumentation key, telemetry-type/date/time. (Il nome della risorsa viene scritto in minuscolo e la chiave di strumentazione omette i trattini).(The resource name is all lowercase, and the instrumentation key omits dashes.)

Controllare l'archivio BLOB con uno strumento adatto

La data e ora sono UTC e lo sono quando i dati di telemetria sono stati depositati nell'archivio, non l'ora in cui sono stati generati.The date and time are UTC and are when the telemetry was deposited in the store - not the time it was generated. Di conseguenza, se si scrive codice per scaricare i dati, può spostarsi in modo lineare attraverso i dati.So if you write code to download the data, it can move linearly through the data.

Di seguito è riportato il formato del percorso:Here's the form of the path:

$"{applicationName}_{instrumentationKey}/{type}/{blobDeliveryTimeUtc:yyyy-MM-dd}/{ blobDeliveryTimeUtc:HH}/{blobId}_{blobCreationTimeUtc:yyyyMMdd_HHmmss}.blob"

WhereWhere

  • blobCreationTimeUtc è l'ora di creazione del BLOB nell'archivio di gestione temporanea internoblobCreationTimeUtc is time when blob was created in the internal staging storage
  • blobDeliveryTimeUtc è l'ora in cui il BLOB viene copiato nell'archivio di destinazione dell'esportazioneblobDeliveryTimeUtc is the time when blob is copied to the export destination storage

Formato datiData format

  • Ogni BLOB è un file di testo che contiene più righe separate da '\n'.Each blob is a text file that contains multiple '\n'-separated rows. Contiene i dati di telemetria elaborati in un periodo di tempo di circa mezzo minuto.It contains the telemetry processed over a time period of roughly half a minute.
  • Ogni riga rappresenta un punto dati di telemetria, ad esempio una richiesta o una visualizzazione di pagina.Each row represents a telemetry data point such as a request or page view.
  • Ogni riga è un documento JSON non formattato.Each row is an unformatted JSON document. Se si desidera sedersi a osservare, aprirlo in Visual Studio e scegliere Modifica, Avanzate, File di formato:If you want to sit and stare at it, open it in Visual Studio and choose Edit, Advanced, Format File:

Visualizzare i dati di telemetria con uno strumento adatto

Gli intervalli di tempo sono espressi in tick, dove 10 000 tick = 1 ms.Time durations are in ticks, where 10 000 ticks = 1ms. Questi valori, ad esempio, indicano un tempo di 1 ms per inviare una richiesta dal browser, 3 ms per riceverla e 1,8 s per elaborare la pagina nel browser:For example, these values show a time of 1ms to send a request from the browser, 3ms to receive it, and 1.8s to process the page in the browser:

"sendRequest": {"value": 10000.0},
"receiveRequest": {"value": 30000.0},
"clientProcess": {"value": 17970000.0}

Riferimento dettagliato al modello di dati per i valori e i tipi di proprietà.Detailed data model reference for the property types and values.

Elaborazione dei datiProcessing the data

Su scala ridotta è possibile scrivere codice per separare i dati, leggerli in un foglio di calcolo e così via.On a small scale, you can write some code to pull apart your data, read it into a spreadsheet, and so on. ad esempio:For example:

private IEnumerable<T> DeserializeMany<T>(string folderName)
{
  var files = Directory.EnumerateFiles(folderName, "*.blob", SearchOption.AllDirectories);
  foreach (var file in files)
  {
     using (var fileReader = File.OpenText(file))
     {
        string fileContent = fileReader.ReadToEnd();
        IEnumerable<string> entities = fileContent.Split('\n').Where(s => !string.IsNullOrWhiteSpace(s));
        foreach (var entity in entities)
        {
            yield return JsonConvert.DeserializeObject<T>(entity);
        }
     }
  }
}

Per un esempio di codice più esaustivo, vedere l'articolo relativo all'uso di un ruolo di lavoro.For a larger code sample, see using a worker role.

Eliminare i vecchi datiDelete your old data

Si noti che si è responsabili della gestione della capacità di archiviazione ed eliminazione di vecchi dati, se necessario.Please note that you are responsible for managing your storage capacity and deleting the old data if necessary.

Se si rigenera la chiave di archiviazione...If you regenerate your storage key...

Se si modifica la chiave per l'archiviazione, l'esportazione continua non funzionerà più.If you change the key to your storage, continuous export will stop working. Verrà visualizzata una notifica nell'account Azure.You'll see a notification in your Azure account.

Aprire il pannello Esportazione continua e modificare l'esportazione.Open the Continuous Export blade and edit your export. Modificare la destinazione di esportazione, ma lasciare selezionata la stessa risorsa di archiviazione.Edit the Export Destination, but just leave the same storage selected. Fare clic su OK per confermare.Click OK to confirm.

Modificare l'esportazione continua, aprire e chiudere tre destinazioni di esportazione.

L'esportazione continua verrà riavviata.The continuous export will restart.

Esempi di esportazioneExport samples

Su scala più estesa considerare la possibilità di usare cluster HDInsight - Hadoop nel cloud.On larger scales, consider HDInsight - Hadoop clusters in the cloud. HDInsight offre un'ampia gamma di tecnologie per la gestione e analisi dei Big Data e può essere usato per elaborare i dati esportati da Application Insights.HDInsight provides a variety of technologies for managing and analyzing big data, and you could use it to process data that has been exported from Application Insights.

Domande e risposteQ & A

  • Si intende scaricare semplicemente un grafico.But all I want is a one-time download of a chart.

    Questa operazione è consentita.Yes, you can do that. Nella parte superiore del pannello fare clic sul pulsante di esportazione dati.At the top of the blade, click Export Data.

  • È stata impostata un'esportazione, ma non sono presenti dati nell'archivio personale.I set up an export, but there's no data in my store.

    Application Insights ha ricevuto eventuali dati di telemetria dall'app dal momento in cui si è impostata l'esportazione?Did Application Insights receive any telemetry from your app since you set up the export? Si riceveranno solo nuovi dati.You'll only receive new data.

  • Si è tentato di impostare un'esportazione, ma è stato negato l'accessoI tried to set up an export, but was denied access

    Se l'account è di proprietà dell'organizzazione, è necessario essere un membro del gruppo di proprietari o di collaboratori.If the account is owned by your organization, you have to be a member of the owners or contributors groups.

  • È possibile eseguire un'esportazione direttamente al negozio locale?Can I export straight to my own on-premises store?

    No.No, sorry. Il motore di esportazione attualmente funziona solo con Archiviazione di Azure.Our export engine currently only works with Azure storage at this time.

  • Esiste un limite alla quantità di dati da inserire nell'archivio personale?Is there any limit to the amount of data you put in my store?

    No.No. L'inserimento dei dati continuerà fino a quando non si elimina l'esportazione.We'll keep pushing data in until you delete the export. Occorrerà fermarsi se i limiti esterni per l'archiviazione BLOB sono stati raggiunti, ma ciò è abbastanza difficile.We'll stop if we hit the outer limits for blob storage, but that's pretty huge. Spetta all'utente controllare quante risorse di archiviazione usare.It's up to you to control how much storage you use.

  • Quanti BLOB dovrebbero essere visualizzati nella risorsa di archiviazione?How many blobs should I see in the storage?

    • Per ogni tipi di dati selezionato per l'esportazione, viene creato un nuovo BLOB ogni minuto, se sono disponibili dati.For every data type you selected to export, a new blob is created every minute (if data is available).
    • Per le applicazioni con traffico elevato, inoltre, vengono allocate unità di partizione aggiuntive.In addition, for applications with high traffic, additional partition units are allocated. In questo caso ogni unità crea un BLOB ogni minuto.In this case each unit creates a blob every minute.
  • La chiave per la risorsa di archiviazione è stata rigenerata o il nome del contenitore è stato modificato, ma l'esportazione non funziona.I regenerated the key to my storage or changed the name of the container, and now the export doesn't work.

    Modificare l'esportazione e aprire il pannello di destinazione dell'esportazione.Edit the export and open the export destination blade. Lasciare la stessa risorsa di archiviazione selezionata come in precedenza e fare clic su OK per confermare.Leave the same storage selected as before, and click OK to confirm. L'esportazione verrà riavviata.Export will restart. Se la modifica è stata eseguita negli ultimi giorni, non si perderanno i dati.If the change was within the past few days, you won't lose data.

  • È possibile sospendere l'esportazione?Can I pause the export?

    Sì.Yes. Fare clic su Disabilita.Click Disable.

Esempi di codiceCode samples