Analisi e visualizzazione degli eventi con Application InsightsEvent analysis and visualization with Application Insights

Azure Application Insights è una piattaforma estendibile per la diagnostica e il monitoraggio dell'applicazione.Azure Application Insights is an extensible platform for application monitoring and diagnostics. Include un potente strumento di analisi ed esecuzione di query, visualizzazione e dashboard personalizzabili e altre opzioni tra cui gli avvisi automatizzati.It includes a powerful analytics and querying tool, customizable dashboard and visualizations, and further options including automated alerting. È la piattaforma consigliata per il monitoraggio e la diagnostica di servizi e applicazioni di Service Fabric.It is the recommended platform for monitoring and diagnostics for Service Fabric applications and services.

Configurazione di Application InsightsSetting up Application Insights

Creazione di una risorsa AICreating an AI Resource

Per creare una risorsa AI, visitare Azure Marketplace e cercare "Application Insights".To create an AI resource, head over to the Azure Marketplace, and search for "Application Insights". Viene visualizzata come la prima soluzione nella categoria "Web e dispositivi mobili".It should show up as the first solution (it is under category "Web + Mobile"). Fare clic su Crea mentre si controllano le risorse sulla destra. Verificare che il percorso corrisponda a quello mostrato nell'immagine di seguito.Click Create when you are looking at the right resource (confirm that your path matches the image below).

Nuova risorsa di Application Insights

È necessario inserire alcune informazioni per eseguire correttamente il provisioning della risorsa.You will need to fill out some information to provision the resource correctly. Nel campo Tipo di applicazione usare "Applicazione Web ASP.NET" se si intende usare di uno dei modelli di programmazione di Service Fabric o se si intende pubblicare un'applicazione .NET nel cluster.In the Application Type field, use "ASP.NET web application" if you will be using any of Service Fabric's programming models or publishing a .NET application to the cluster. Se si intende distribuire contenitori e file eseguibili guest, usare "Generale".Use "General" if you will be deploying guest executables and containers. In generale usare l'opzione predefinita "Applicazione Web ASP.NET" per tenere aperte le opzioni disponibili in futuro.In general, default to using "ASP.NET web application" to keep your options open in the future. L'utente può scegliere il nome in base alle proprie preferenze e sia la sottoscrizione sia il gruppo di risorse sono modificabile in seguito alla distribuzione della risorsa.The name is up to your preference, and both the resource group and subscription are changeable post-deployment of the resource. Si consiglia di inserire la risorsa AI nello stesso gruppo di risorse del cluster.We recommend that your AI resource is in the same resource group as your cluster. Per altre informazioni, vedere Creare una risorsa di Application InsightsIf you need more information, please see Create an Application Insights resource

Per configurare AI con lo strumento di aggregazione di eventi è necessaria la chiave di strumentazione AI.You need the AI Instrumentation Key to configure AI with your event aggregation tool. La configurazione della risorsa AI può richiedere pochi minuti dopo la convalida della distribuzione. In seguito passare alla risorsa e cercare la sezione Proprietà nella barra di spostamento a sinistra.Once your AI resource is set up (takes a few minutes after the deployment is validated), navigate to it and find the Properties section on the left navigation bar. Verrà visualizzato un nuovo pannello che mostra una CHIAVE DI STRUMENTAZIONE.A new blade will open up that shows an INSTRUMENTATION KEY. Qui è anche possibile modificare la sottoscrizione o il gruppo di risorse della risorsa.If you need to change the subscription or resource group of the resource, it can be done here as well.

Configurazione di AI con WADConfiguring AI with WAD

Nota

Al momento, si applica solo ai cluster Windows.This is only applicable to Windows clusters at the moment.

Per inviare i dati da WAD ad Azure AI esistono due modalità, realizzabili aggiungendo un sink AI alla configurazione di WAD, come descritto in questo articolo.There are two primary ways to send data from WAD to Azure AI, which is achieved by adding an AI sink to the WAD configuration, as detailed in this article.

Aggiungere una chiave di strumentazione AI durante la creazione di un cluster nel portale di AzureAdd an AI Instrumentation Key when creating a cluster in Azure portal

Aggiunta di un AIKey

Quando si crea un cluster, se la diagnostica è attiva, si visualizzerà un campo facoltativo per immettere una chiave di strumentazione di Application Insights.When creating a cluster, if Diagnostics is turned "On", an optional field to enter an Application Insights Instrumentation key will show. Se si incolla la chiave di strumentazione AI qui, il sink AI verrà automaticamente configurato per l'utente nel modello di Resource Manager che viene usato per distribuire il cluster.If you paste your AI IKey here, the AI sink will be automatically configured for you in the Resource Manager template that is used to deploy your cluster.

Aggiungere il sink AI al modello di Resource ManagerAdd the AI Sink to the Resource Manager template

Nel modello di Resource Manager, in "WadCfg" aggiungere un "Sink" apportando le due modifiche seguenti:In the "WadCfg" of the Resource Manager template, add a "Sink" by including the following two changes:

  1. Aggiungere la configurazione del sink direttamente dopo il completamento della dichiarazione di DiagnosticMonitorConfiguration:Add the sink configuration directly after the declaring of the DiagnosticMonitorConfiguration is completed:

    "SinksConfig": {
        "Sink": [
            {
                "name": "applicationInsights",
                "ApplicationInsights": "***ADD INSTRUMENTATION KEY HERE***"
            }
        ]
    }
    
  2. Includere il sink in DiagnosticMonitorConfiguration aggiungendo la riga seguente nell'elemento DiagnosticMonitorConfiguration di WadCfg (subito prima della dichiarazione di EtwProviders):Include the Sink in the DiagnosticMonitorConfiguration by adding the following line in the DiagnosticMonitorConfiguration of the WadCfg (right before the EtwProviders are declared):

    "sinks": "applicationInsights"
    

In entrambi i frammenti di codice precedenti il nome "applicationInsights" è stato usato per descrivere il sink.In both the code snippets above, the name "applicationInsights" was used to describe the sink. Questo non è un requisito e fino a quando il nome del sink è incluso in "sink", è possibile impostare il nome per qualsiasi stringa.This is not a requirement and as long as the name of the sink is included in "sinks", you can set the name to any string.

Attualmente, i registri del cluster verranno mostrati come tracce nel visualizzatore di log di AI.Currently, logs from the cluster will show up as traces in AI's log viewer. Poiché la maggior parte delle tracce provenienti dal livello di infrastruttura è di tipo "Informazioni", è anche possibile modificare la configurazione del sink per inviare solo i log di tipo "Critico" o "Errore".Since most of the traces coming from the platform are of level "Informational", you can also consider changing the sink configuration to only send logs of type "Critical" or "Error". Questa operazione può essere eseguita aggiungendo i "Canali" al sink, come illustrato in questo articolo.This can be done by adding "Channels" to your sink, as demonstrated in this article.

Nota

Se si usa una chiave di strumentazione di AI errata nel portale o nel modello di Resource Manager, è necessario modificare la chiave e aggiornare il cluster o ridistribuirlo manualmente.If you use an incorrect AI IKey either in portal or in your Resource Manager template, you will have to manually change the key and update the cluster / redeploy it.

Configurazione di AI con EventFlowConfiguring AI with EventFlow

Se si usa EventFlow per aggregare gli eventi, assicurarsi di importare il pacchetto NuGet Microsoft.Diagnostics.EventFlow.Output.ApplicationInsights.If you are using EventFlow to aggregate events, make sure to import the Microsoft.Diagnostics.EventFlow.Output.ApplicationInsightsNuGet package. È necessario includere nella sezione output di eventFlowConfig.json il codice seguente:The following has to be included in the outputs section of the eventFlowConfig.json:

"outputs": [
    {
        "type": "ApplicationInsights",
        // (replace the following value with your AI resource's instrumentation key)
        "instrumentationKey": "00000000-0000-0000-0000-000000000000"
    }
]

Assicurarsi di apportare le modifiche necessarie nei filtri, nonché di includere altri input, insieme ai rispettivi pacchetti NuGet.Make sure to make the required changes in your filters, as well as include any other inputs (along with their respective NuGet packages).

AI.SDKAI.SDK

In genere è consigliabile usare EventFlow e WAD come soluzioni di aggregazione, in quanto consentono di usare un approccio più modulare alla diagnostica e al monitoraggio. Ad esempio se si desidera modificare l'output da EventFlow non sono necessarie modifiche alla strumentazione effettiva, ma solo una semplice modifica al file di configurazione.It is generally recommended to use EventFlow and WAD as aggregation solutions, because they allow for a more modular approach to diagnostics and monitoring, i.e. if you want to change your outputs from EventFlow, it requires no change to your actual instrumentation, just a simple modification to your config file. Se, tuttavia, si decide di investire nell'uso di Application Insights e non si desidera passare a un'altra piattaforma, è consigliabile eseguire un'analisi usando il nuovo SDK di AI per l'aggregazione di eventi e l'invio ad AI.If, however, you decide to invest in using Application Insights and are not likely to change to a different platform, you should look into using AI's new SDK for aggregating events and sending them to AI. Ciò significa che non è più necessario configurare EventFlow per l'invio di dati AI, ma si dovrà installare il pacchetto NuGet di Service Fabric di ApplicationInsight.This means that you will no longer have to configure EventFlow to send your data to AI, but instead will install the ApplicationInsight's Service Fabric NuGet package. I dettagli del pacchetto sono disponibili qui.Details on the package can be found here.

Supporto di Application Insights per microservizi e contenitori descrive alcune delle nuove funzionalità su cui si sta lavorando, attualmente ancora in versione beta, che consentono di avere opzioni di monitoraggio con AI pronte all'uso più ricche.Application Insights support for Microservices and Containers shows you some of the new features that are being worked on (currently still in beta), which allow you to have richer out-of-the-box monitoring options with AI. Sono inclusi il rilevamento delle dipendenze, usato nella creazione di un AppMap per tutti i servizi e le applicazioni in un cluster e nella comunicazione tra di essi, e una migliore correlazione delle tracce provenienti dai servizi che consente di conoscere meglio un problema nel flusso di lavoro di un'app o di un servizio.These include dependency tracking (used in building an AppMap of all your services and applications in a cluster and the communication between them), and better correlation of traces coming from your services (helps in better pinpointing an issue in the workflow of an app or service).

Se si sviluppa in .NET e si intende usare alcuni modelli di programmazione di Service Fabric e AI come piattaforma per la visualizzazione e l'analisi dei dati dell'evento e del log, è consigliabile usare la route AI SDK come flusso di lavoro di monitoraggio e diagnostica.If you are developing in .NET and will likely be using some of Service Fabric's programming models, and are willing to use AI as your platform for visualizing and analyzing event and log data, then we recommend that you go via the AI SDK route as your monitoring and diagnostics workflow. Lettura questo articolo e questo argomento per iniziare a usare AI per raccogliere e visualizzare i log.Read this and this to get started with using AI to collect and display your logs.

Dopo aver configurato AI come output per log ed eventi, le informazioni verranno visualizzate nella risorsa AI in pochi minuti.Once you have configured AI as an output for your events and logs, information should start to show up in your AI resource in a few minutes. Passare alla risorsa AI, che consente di accedere al dashboard della risorsa AI.Navigate to the AI resource, which will take you to the AI resource dashboard. Fare clic su Cerca nella barra delle applicazioni per visualizzare le tracce più recenti ricevute e applicare un filtro.Click Search in the AI taskbar to see the latest traces that it has received, and to be able to filter through them.

Esplora metriche è uno strumento utile per la creazione di dashboard personalizzati in base alle metriche che possono essere segnalate da applicazioni, servizi e cluster.Metrics Explorer is a useful tool for creating custom dashboards based on metrics that your applications, services, and cluster may be reporting. Vedere Esaminare le metriche in Application Insights per configurare alcuni grafici per se stessi in base ai dati raccolti.See Exploring Metrics in Application Insights to set up a few charts for yourself based on the data you are collecting.

Facendo clic su Analisi si aprirà il portale di Analisi di Application Insights, dove è possibile eseguire query di eventi e tracce con ambito e operazioni facoltative maggiori.Clicking Analytics will take you to the Application Insights Analytics portal, where you can query events and traces with greater scope and optionality. Per altre informazioni su questo argomento leggere Analytics in Application Insights (Analisi in Application Insights).Read more about this at Analytics in Application Insights.

Passaggi successiviNext steps