Condividi tramite


Mappa delle applicazioni: Valutare le applicazioni distribuite

Gli sviluppatori usano le mappe delle applicazioni per rappresentare la struttura logica delle applicazioni distribuite. Una mappa viene prodotta identificando i singoli componenti dell'applicazione con la relativa roleName proprietà o name nei dati di telemetria registrati. I cerchi (o i nodi) sulla mappa rappresentano i componenti e le linee direzionali (connettori o archi) mostrano le chiamate HTTP dai nodi di origine ai nodi di destinazione .

Monitoraggio di Azure offre la funzionalità Mappa delle applicazioni che consente di implementare rapidamente i colli di bottiglia delle prestazioni e individuare i colli di bottiglia delle prestazioni o gli hotspot di errore in tutti i componenti. Ogni nodo della mappa è un componente dell'applicazione o le relative dipendenze e fornisce l'indicatore KPI di integrità e lo stato degli avvisi. È possibile selezionare qualsiasi nodo per visualizzare la diagnostica dettagliata per il componente, ad esempio gli eventi di Application Insights. Se l'app usa i servizi di Azure, è anche possibile selezionare Diagnostica di Azure, ad esempio database SQL raccomandazioni di Advisor.

La mappa delle applicazioni offre anche una visualizzazione intelligente per facilitare le indagini rapide sull'integrità dei servizi.

Informazioni sui componenti

I componenti sono parti distribuibili in modo indipendente dell'applicazione distribuita o microservizio. Gli sviluppatori e i team delle operazioni hanno visibilità o accesso a livello di codice ai dati di telemetria generati dai componenti di queste applicazioni.

Alcune considerazioni sui componenti:

  • I componenti sono diversi dalle dipendenze esterne "osservate", ad esempio Azure SQL e Hub eventi di Azure, a cui il team o l'organizzazione potrebbe non avere accesso (codice o telemetria).
  • I componenti vengono eseguiti in un numero qualsiasi di istanze di server, ruolo o contenitore.
  • I componenti possono essere risorse di Application Insights separate, anche se le sottoscrizioni sono diverse. Possono anche essere ruoli diversi che segnalano a una singola risorsa di Application Insights. L'esperienza della mappa di anteprima mostra i componenti indipendentemente dalla modalità di configurazione.

Esplorare la mappa delle applicazioni

La mappa delle applicazioni consente di visualizzare la topologia dell'applicazione completa in più livelli di componenti dell'applicazione correlati. Come descritto in precedenza, i componenti possono essere risorse di Application Insights diverse, componenti dipendenti o ruoli diversi in una singola risorsa. La mappa delle applicazioni individua i componenti seguendo le chiamate alle dipendenze HTTP effettuate tra server con Application Insights SDK installato.

L'esperienza di mapping inizia con l'individuazione progressiva dei componenti all'interno dell'applicazione e le relative dipendenze. Quando si carica il mapping delle applicazioni per la prima volta, un set di query attiva l'individuazione dei componenti correlati al componente principale. Man mano che vengono individuati i componenti, una barra di stato mostra il numero corrente di componenti individuati:

Screenshot che mostra il caricamento iniziale di una mappa dell'applicazione nella portale di Azure.

Le sezioni seguenti descrivono alcune delle azioni disponibili per l'uso della mappa delle applicazioni nel portale di Azure.

Aggiornare i componenti della mappa

L'opzione Aggiorna componenti mappa attiva l'individuazione dei componenti e aggiorna la mappa per visualizzare tutti i nodi correnti. A seconda della complessità dell'applicazione, l'aggiornamento può richiedere un minuto per il caricamento:

Screenshot che mostra come aggiornare i componenti correnti in una mappa delle applicazioni.

Quando tutti i componenti dell'applicazione sono ruoli all'interno di una singola risorsa di Application Insights, il passaggio di individuazione non è obbligatorio. Il carico iniziale in questo scenario dell'applicazione individua tutti i componenti.

Visualizzare i dettagli del componente

Un obiettivo chiave per l'esperienza mappa delle applicazioni consiste nel visualizzare topologie complesse con centinaia di componenti. In questo scenario, è utile migliorare la visualizzazione mappa con i dettagli per un singolo nodo usando l'opzione Visualizza dettagli . Il riquadro dei dettagli del nodo mostra informazioni dettagliate, prestazioni e valutazione degli errori correlati per il componente selezionato:

Screenshot che mostra come visualizzare i dettagli per un nodo selezionato in una mappa dell'applicazione.

Ogni sezione del riquadro include un'opzione per visualizzare altre informazioni in una visualizzazione espansa, inclusi errori, prestazioni e dettagli sulle richieste e sulle dipendenze non riuscite.

Esaminare gli errori

Nel riquadro dei dettagli del nodo è possibile usare l'opzione Analizza errori per visualizzare tutti gli errori per il componente:

Screenshot che mostra come selezionare l'opzione Analizza errori nel riquadro dei dettagli del nodo.

La visualizzazione Errori consente di esplorare i dati sugli errori per operazioni, dipendenze, eccezioni e ruoli correlati al componente selezionato:

Screenshot che mostra la visualizzazione Errori per un componente selezionato.

Esaminare le prestazioni

Nel riquadro dei dettagli del nodo è possibile risolvere i problemi di prestazioni con il componente selezionando l'opzione Analizza prestazioni :

Screenshot che mostra come selezionare l'opzione Analizza prestazioni nel riquadro dei dettagli del nodo.

La visualizzazione Prestazioni consente di esplorare i dati di telemetria per operazioni, dipendenze e ruoli connessi al componente selezionato:

Screenshot che mostra la visualizzazione Prestazioni per un componente selezionato.

Passare ai dettagli e all'analisi dello stack

L'opzione Vai ai dettagli nel riquadro dei dettagli del nodo visualizza l'esperienza di transazione end-to-end per il componente. Questo riquadro consente di visualizzare i dettagli a livello di stack di chiamate:

Screenshot che mostra come selezionare l'opzione Vai ai dettagli nel riquadro dei dettagli del nodo.

La pagina si apre per visualizzare la visualizzazione Sequenza temporale per i dettagli:

Screenshot che mostra la visualizzazione Dettagli per un componente selezionato.

È possibile usare l'opzione Visualizza tutto per visualizzare i dettagli dello stack con le informazioni di traccia e evento per il componente:

Screenshot che mostra la visualizzazione Tutte le tracce e gli eventi per un componente selezionato.

Visualizza in Log (Analytics)

Nel riquadro dei dettagli del nodo è possibile eseguire query e analizzare ulteriormente i dati delle applicazioni con l'opzione Visualizza nei log (Analisi):

Screenshot che mostra come selezionare l'opzione Visualizza nei log (Analisi) nel riquadro dei dettagli del nodo.

La pagina Log (Analytics) offre opzioni per esplorare i record di tabella di telemetria dell'applicazione con query e funzioni personalizzate predefinite. È possibile usare i dati modificando il formato e salvando ed esportando l'analisi:

Screenshot che mostra la schermata Log con un grafico a linee che riepiloga la durata media della risposta di una richiesta nelle ultime 12 ore.

Visualizzare avvisi e regole

L'opzione Visualizza avvisi nel riquadro dei dettagli del nodo consente di visualizzare gli avvisi attivi:

Screenshot che mostra come selezionare l'opzione Visualizza avvisi nel riquadro dei dettagli del nodo.

La pagina Avvisi mostra gli avvisi critici e attivati:

Screenshot che mostra l'elenco di avvisi per il componente selezionato.

L'opzione Regole di avviso nella pagina Avvisi mostra le regole sottostanti che causano l'attivazione degli avvisi:

Screenshot che mostra l'elenco delle regole di avviso definite per il componente selezionato.

Informazioni sui nomi e i nodi dei ruoli cloud

La mappa delle applicazioni usa la proprietà del nome del ruolo cloud per identificare i componenti dell'applicazione in una mappa. Per esplorare il modo in cui i nomi dei ruoli cloud vengono usati con i nodi componente, esaminare una mappa delle applicazioni con più nomi di ruolo cloud presenti.

L'esempio seguente mostra una mappa in visualizzazione gerarchica con cinque nodi componenti e connettori a nove nodi dipendenti. Ogni nodo ha un nome di ruolo cloud.

Screenshot che mostra una mappa dell'applicazione con diversi nodi ed evidenziazioni dei colori diverse.

La mappa delle applicazioni usa colori, evidenziazioni e dimensioni diversi per i nodi per rappresentare i dati e le relazioni dei componenti dell'applicazione:

  • I nomi dei ruoli cloud esprimono i diversi aspetti dell'applicazione distribuita. In questo esempio alcuni ruoli dell'applicazione includono Contoso Retail Check, Fabrikam-App, fabrikam-loadfuncretailfabrikam-37ha6, e retailapp.

  • Il cerchio blu punteggiato intorno a un nodo indica l'ultimo componente selezionato. In questo esempio l'ultimo componente selezionato è il Web nodo .

  • Quando si seleziona un nodo per visualizzare i dettagli, un cerchio blu a tinta unita evidenzia il nodo. Nell'esempio il nodo attualmente selezionato è Contoso Retail Reports.

  • I nodi del componente distanti o non correlati vengono visualizzati più piccoli rispetto agli altri nodi. Questi elementi sono in grigio nella visualizzazione per evidenziare le prestazioni per il componente attualmente selezionato.

  • In questo esempio, ogni nome del ruolo cloud rappresenta anche una risorsa univoca di Application Insights diversa con le proprie chiavi di strumentazione. Poiché il proprietario di questa applicazione ha accesso a ognuna di queste quattro risorse diverse di Application Insights, La mappa delle applicazioni può unire una mappa delle relazioni sottostanti.

Analizzare le istanze del ruolo cloud

Quando un nome di ruolo cloud rivela un problema in un punto qualsiasi del front-end Web e si eseguono più server con carico bilanciato nel front-end Web, l'uso di un'istanza del ruolo cloud può essere utile. La mappa delle applicazioni consente di visualizzare informazioni più approfondite su un nodo componente usando query Kusto. È possibile esaminare un nodo per visualizzare i dettagli su istanze specifiche del ruolo cloud. Questo approccio consente di determinare se un problema interessa tutti i server front-end Web o solo istanze specifiche.

Uno scenario in cui è consigliabile eseguire l'override del valore per un'istanza del ruolo cloud è quando l'app è in esecuzione in un ambiente in contenitori. In questo caso, le informazioni sul singolo server potrebbero non essere sufficienti per individuare il problema specifico.

Per altre informazioni su come eseguire l'override della proprietà del nome del ruolo cloud con gli inizializzatori di telemetria, vedere Aggiungere proprietà: ITelemetryInitializer.

Impostare i nomi dei ruoli cloud

La mappa delle applicazioni usa la proprietà del nome del ruolo cloud per identificare i componenti sulla mappa. Questa sezione fornisce esempi per impostare o sostituire manualmente i nomi dei ruoli cloud e modificare gli elementi visualizzati nella mappa dell'applicazione.

Nota

Application Insights SDK o Agent aggiunge automaticamente la proprietà del nome del ruolo cloud ai dati di telemetria generati dai componenti in un ambiente del servizio app Azure.

Il frammento di codice seguente illustra le definizioni dello schema per il ruolo cloud e l'istanza del ruolo cloud:

[Description("Name of the role the application is a part of. Maps directly to the role name in Azure.")]
[MaxStringLength("256")]
705: string      CloudRole = "ai.cloud.role";

[Description("Name of the instance where the application is running. Computer name for on-premises, instance name for Azure.")]
[MaxStringLength("256")]
715: string      CloudRoleInstance = "ai.cloud.roleInstance";

Per le definizioni ufficiali:

Scrivere telemetria personalizzataInitializer

using Microsoft.ApplicationInsights.Channel;
using Microsoft.ApplicationInsights.Extensibility;

namespace CustomInitializer.Telemetry
{
    public class MyTelemetryInitializer : ITelemetryInitializer
    {
        public void Initialize(ITelemetry telemetry)
        {
            if (string.IsNullOrEmpty(telemetry.Context.Cloud.RoleName))
            {
                //set custom role name here
                telemetry.Context.Cloud.RoleName = "Custom RoleName";
                telemetry.Context.Cloud.RoleInstance = "Custom RoleInstance";
            }
        }
    }
}

app ASP.NET: inizializzatore di caricamento nell'oggetto TelemetryConfiguration attivo

Nel file ApplicationInsights.config:

    <ApplicationInsights>
      <TelemetryInitializers>
        <!-- Fully qualified type name, assembly name: -->
        <Add Type="CustomInitializer.Telemetry.MyTelemetryInitializer, CustomInitializer"/>
        ...
      </TelemetryInitializers>
    </ApplicationInsights>

Un metodo alternativo per ASP.NET app Web consiste nel creare un'istanza dell'inizializzatore nel codice. L'esempio seguente mostra il codice nel file Global.aspx.cs :

 using Microsoft.ApplicationInsights.Extensibility;
 using CustomInitializer.Telemetry;

    protected void Application_Start()
    {
        // ...
        TelemetryConfiguration.Active.TelemetryInitializers.Add(new MyTelemetryInitializer());
    }

Nota

L'aggiunta di un inizializzatore tramite la ApplicationInsights.config proprietà o TelemetryConfiguration.Active non è valida per le applicazioni core ASP.NET.

app di base ASP.NET: caricare un inizializzatore in TelemetryConfiguration

Per ASP.NET applicazioni Core , aggiungere una nuova TelemetryInitializer istanza al contenitore Dependency Injection. L'esempio seguente illustra questo approccio. Aggiungere questo codice nel ConfigureServices metodo della Startup.cs classe.

 using Microsoft.ApplicationInsights.Extensibility;
 using CustomInitializer.Telemetry;
 public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton<ITelemetryInitializer, MyTelemetryInitializer>();
}

Usare i filtri mappa delle applicazioni

I filtri mappa delle applicazioni consentono di ridurre il numero di nodi e bordi visibili sulla mappa. Questi filtri possono essere usati per ridurre l'ambito della mappa e mostrare una visualizzazione più piccola e più evidenziata.

Un modo rapido per filtrare consiste nell'usare l'opzione Filtro in questo nodo nel menu di scelta rapida per qualsiasi nodo della mappa:

Screenshot che mostra come filtrare il nodo selezionato nella mappa delle applicazioni.

È anche possibile creare un filtro con l'opzione Aggiungi filtro :

Screenshot che mostra come aprire l'opzione Aggiungi filtro nella mappa delle applicazioni.

Selezionare il tipo di filtro (nodo o connettore) e le impostazioni desiderate, quindi esaminare le scelte e applicarle alla mappa corrente.

Creare filtri dei nodi

I filtri dei nodi consentono di visualizzare solo determinati nodi nella mappa dell'applicazione e nascondere tutti gli altri nodi. È possibile configurare i parametri per cercare nelle proprietà dei nodi nella mappa i valori che corrispondono a una condizione. Quando un filtro di nodo rimuove un nodo, il filtro rimuove anche tutti i connettori e i bordi per il nodo.

Per configurare un filtro di nodo sono disponibili tre parametri:

  • Nodi inclusi: i tipi di nodi da esaminare nella mappa dell'applicazione per individuare le proprietà corrispondenti. Sono disponibili quattro opzioni:

    • Nodi, origini e destinazioni: tutti i nodi che corrispondono ai criteri di ricerca vengono inclusi nella mappa dei risultati. Anche tutti i nodi di origine e di destinazione per i nodi corrispondenti vengono inclusi automaticamente nella mappa dei risultati, anche se le origini o le destinazioni non soddisfano i criteri di ricerca. I nodi di origine e di destinazione vengono collettivamente definiti nodi connessi .

    • Nodi e origini: lo stesso comportamento di Nodi, origini e destinazioni, ma i nodi di destinazione non vengono inclusi automaticamente nella mappa dei risultati.

    • Nodi e destinazioni: lo stesso comportamento di Nodi, origini e destinazioni, ma i nodi di origine non vengono inclusi automaticamente nella mappa dei risultati.

    • Solo nodi: tutti i nodi nella mappa dei risultati devono avere un valore di proprietà che corrisponda ai criteri di ricerca.

  • Operatore: tipo di test condizionale da eseguire sui valori delle proprietà di ogni nodo. Sono disponibili quattro opzioni:

    • contains: il valore della proprietà node contiene il valore specificato nel parametro Valore di ricerca .
    • !contains Il valore della proprietà node non contiene il valore specificato nel parametro Valore di ricerca .
    • ==: il valore della proprietà del nodo è uguale al valore specificato nel parametro Valore di ricerca .
    • !=: il valore della proprietà del nodo non è uguale al valore specificato nel parametro Valore di ricerca .
  • Valore di ricerca: stringa di testo da usare per il test condizionale del valore della proprietà. L'elenco a discesa per il parametro mostra i valori per i nodi esistenti nella mappa dell'applicazione. È possibile selezionare un valore dall'elenco o crearne uno personalizzato. Immettere il valore personalizzato nel campo del parametro e quindi selezionare Crea opzione ... nell'elenco. Ad esempio, è possibile immettere test e quindi selezionare l'opzione Crea "test" nell'elenco.

L'immagine seguente mostra un esempio di filtro applicato a una mappa dell'applicazione che mostra 30 giorni di dati. Il filtro indica alla mappa delle applicazioni di cercare nodi e destinazioni connesse con proprietà che contengono il testo "retailapp":

Screenshot che mostra come configurare un filtro del nodo in modo che corrisponda al testo

I nodi corrispondenti e i nodi di destinazione connessi sono inclusi nella mappa dei risultati:

Screenshot che mostra la mappa dei risultati con nodi e nodi di destinazione che corrispondono al filtro del nodo.

Creare filtri connettore (arco)

Connessione or filtri consentono di visualizzare solo determinati nodi con connettori specifici nella mappa dell'applicazione e nascondere tutti gli altri nodi e connettori. È possibile configurare i parametri per cercare le proprietà dei connettori nella mappa per i valori che corrispondono a una condizione. Quando un nodo non dispone di connettori corrispondenti, il filtro rimuove il nodo dalla mappa.

Un filtro connettore ha tre parametri da configurare:

  • Filtrare i connettori in base a: tipi di connettori da esaminare nella mappa delle applicazioni per individuare le proprietà corrispondenti. Ci sono quattro scelte. La selezione controlla le opzioni disponibili per gli altri due parametri.

  • Operatore: tipo di test condizionale da eseguire sul valore di ogni connettore.

  • Valore: valore di confronto da usare per il test condizionale del valore della proprietà. L'elenco a discesa per il parametro contiene valori rilevanti per la mappa dell'applicazione corrente. È possibile selezionare un valore dall'elenco o crearne uno personalizzato. Ad esempio, è possibile immettere 16 e quindi selezionare Crea opzione "16" nell'elenco.

La tabella seguente riepiloga le opzioni di configurazione in base alla scelta per i connettori di filtro per parametro.

Filtrare i connettori in base Descrizione Parametro dell'operatore Parametro value Utilizzo
Connettore di errore (evidenziato in rosso) Cercare i connettori in base al colore. Il colore rosso indica che il connettore è in uno stato di errore. ==: uguale a
!=: diverso da
Sempre impostato su Errori Mostra solo i connettori con errori o solo connettori senza errori.
Tasso di errore (0% - 100%) Cercare i connettori in base alla frequenza media degli errori (il numero di chiamate non riuscite diviso per il numero di tutte le chiamate). Il valore viene espresso come percentuale. >= Maggiore o Uguale a
<= Minore o Uguale a
L'elenco a discesa mostra le percentuali di errore medie rilevanti per i connettori correnti nella mappa delle applicazioni. Scegliere un valore dall'elenco o immettere un valore personalizzato seguendo il processo descritto in precedenza. Mostra i connettori con percentuali di errore maggiori o inferiori al valore selezionato.
Durata media delle chiamate (ms) Cercare i connettori in base alla durata media di tutte le chiamate nel connettore. Il valore viene misurato in millisecondi. >= Maggiore o Uguale a
<= Minore o Uguale a
L'elenco a discesa mostra le durate medie rilevanti per i connettori correnti nella mappa delle applicazioni. Ad esempio, un valore di 1000 fa riferimento alle chiamate con una durata media di 1 secondo. Scegliere un valore dall'elenco o immettere un valore personalizzato seguendo il processo descritto in precedenza. Mostra i connettori con frequenze medie di durata delle chiamate superiori o inferiori al valore selezionato.
Conteggio chiamate Cercare i connettori in base al numero totale di chiamate nel connettore. >= Maggiore o Uguale a
<= Minore o Uguale a
L'elenco a discesa mostra i conteggi totali delle chiamate rilevanti per i connettori correnti nella mappa delle applicazioni. Scegliere un valore dall'elenco o immettere un valore personalizzato seguendo il processo descritto in precedenza. Mostra i connettori con conteggi delle chiamate maggiori o inferiori al valore selezionato.

Indicatori percentili per il valore

Quando si filtrano i connettori in base alla frequenza degli errori, alla durata media delle chiamate o al conteggio delle chiamate, alcune opzioni per il parametro Value includono la (Pxx) designazione. Questo indicatore mostra il livello percentile. Per un filtro Durata media chiamata , è possibile che venga visualizzato il valore 200 (P90). Questa opzione indica che il 90% di tutti i connettori (indipendentemente dal numero di chiamate che rappresentano) ha una durata di chiamata inferiore a 200 ms.

È possibile visualizzare le opzioni Valore che includono il livello percentile immettendo P nel campo del parametro.

Esaminare i filtri

Dopo aver effettuato le selezioni, la sezione Rivedi del popup Aggiungi filtro mostra descrizioni testuali e visive relative al filtro. La visualizzazione di riepilogo consente di comprendere il modo in cui il filtro viene applicato alla mappa dell'applicazione.

L'esempio seguente mostra il riepilogo di revisione per un filtro di nodo che cerca nodi e destinazioni con proprietà con il testo "-west":

Screenshot che mostra la sezione Rivedi con informazioni sul filtro del nodo configurato.

Questo esempio mostra il riepilogo di un filtro connettore che cerca i connettori (e i nodi che si connettono) con una durata media di chiamata uguale o superiore a 42 ms:

Screenshot che mostra la sezione Rivedi con informazioni sul filtro del connettore configurato.

Applicare filtri alla mappa

Dopo aver configurato ed esaminato le impostazioni del filtro, selezionare Applica per creare il filtro. È possibile applicare più filtri alla stessa mappa delle applicazioni. Nella mappa delle applicazioni i filtri applicati vengono visualizzati come pillole sopra la mappa:

Screenshot che mostra le pillole di filtro sopra la mappa dell'applicazione.

L'azione Rimuovi su un filtro pillola consente di eliminare un filtro. Quando si elimina un filtro applicato, la visualizzazione mappa viene aggiornata per sottrarre la logica del filtro.

La mappa delle applicazioni applica la logica di filtro alla mappa in sequenza, a partire dal filtro più a sinistra nell'elenco. Quando vengono applicati filtri, i nodi e i connettori vengono rimossi dalla visualizzazione mappa. Dopo che un nodo o un connettore è stato rimosso dalla visualizzazione, un filtro successivo non può ripristinare l'elemento.

È possibile modificare la configurazione per un filtro applicato selezionando la pillola di filtro. Quando si modificano le impostazioni del filtro, la mappa delle applicazioni mostra un'anteprima della visualizzazione mappa con la nuova logica di filtro. Se si decide di non applicare le modifiche, è possibile usare l'opzione Annulla per la visualizzazione e i filtri della mappa correnti.

Screenshot dell'anteprima della visualizzazione mappa che mostra le impostazioni del filtro aggiornate.

Esplorare e salvare i filtri

Quando si individua un filtro interessante, è possibile salvare il filtro per riutilizzarlo in un secondo momento con l'opzione Copia collegamento o Aggiungi al dashboard :

Screenshot che mostra le due opzioni per riutilizzare i filtri nella mappa delle applicazioni.

  • L'opzione Copia collegamento codifica tutte le impostazioni del filtro correnti nell'URL copiato. È possibile salvare questo collegamento nei segnalibri del browser o condividerlo con altri utenti. Questa funzionalità mantiene il valore di durata nelle impostazioni di filtro, ma non l'ora assoluta. Quando si usa il collegamento in un secondo momento, la mappa dell'applicazione prodotta potrebbe differire dalla mappa presente al momento dell'acquisizione del collegamento.

  • L'opzione Aggiungi al dashboard aggiunge la mappa dell'applicazione corrente a un dashboard, insieme ai filtri correnti. Un approccio di diagnostica comune consiste nell'aggiungere una mappa con un filtro connettore di errore applicato. È possibile monitorare l'applicazione per individuare i nodi con errori nelle chiamate HTTP.

Le sezioni seguenti descrivono alcuni filtri comuni che si applicano alla maggior parte delle mappe e possono essere utili per aggiungere un dashboard.

Verificare la presenza di errori importanti

Produrre una visualizzazione mappa solo dei connettori con errori (evidenziati in rosso) nelle ultime 24 ore. I filtri includono il parametro del connettore Error combinato con la visualizzazione intelligente:

Screenshot dei filtri per visualizzare solo gli errori evidenziati in rosso nelle ultime 24 ore e la visualizzazione intelligente è abilitata.

La funzionalità Visualizzazione intelligente è descritta più avanti in questo articolo.

Nascondere i connettori a traffico ridotto

Nascondere i connettori a traffico ridotto senza errori dalla visualizzazione mappa, in modo da potersi concentrare rapidamente su problemi più significativi. I filtri includono connettori nelle ultime 24 ore con un numero di chiamate maggiore di 2872 (P20):

Screenshot dei filtri per visualizzare solo gli errori evidenziati in rosso nelle ultime 24 ore per i connettori con un numero di chiamate maggiore di 2872.

Mostrare connettori ad alto traffico

Reveal connettori ad alto traffico che hanno anche un tempo medio di durata delle chiamate elevato. Questo filtro consente di identificare potenziali problemi di prestazioni. I filtri in questo esempio includono connettori nelle ultime 24 ore con un numero di chiamate maggiore di 10854 (P50) e durata media delle chiamate maggiore di 578 (P80):

Screenshot dei filtri per visualizzare i connettori nelle ultime 24 ore con un numero di chiamate maggiore di 10854 e una durata media delle chiamate superiore a 578 ms.

Individuare i componenti in base al nome

Individuare i componenti (nodi e connettori) nell'applicazione in base al nome in base all'implementazione della convenzione di denominazione delle proprietà del componente roleName . È possibile usare questo approccio per visualizzare la parte specifica di un'applicazione distribuita. Il filtro cerca nodi, origini e destinazioni nelle ultime 24 ore che contengono il valore specificato. In questo esempio il valore di ricerca è "west":

Screenshot dei filtri per visualizzare nodi e connettori nelle ultime 24 ore con proprietà che includono il termine west.

Rimuovere i componenti rumorosi

Definire i filtri per nascondere i componenti rumorosi rimuovendoli dalla mappa. A volte i componenti dell'applicazione possono avere nodi dipendenti attivi che producono dati non essenziali per la visualizzazione mappa. In questo esempio, il filtro cerca Nodi, origini e destinazioni nelle ultime 24 ore che non contengono il valore specificato "retail":

Screenshot dei filtri per visualizzare nodi e connettori nelle ultime 24 ore con proprietà che non includono il termine retail.

Cercare connettori soggetti a errori

Mostra solo i connettori con percentuali di errore più elevate rispetto a un valore specifico. Il filtro in questo esempio cerca i connettori nelle ultime 24 ore con una frequenza di errore superiore al 3%:

Screenshot dei filtri per visualizzare i connettori nelle ultime 24 ore con una frequenza di errore superiore al 3%.

Esplorare la visualizzazione intelligente

La funzionalità di visualizzazione intelligente per la mappa delle applicazioni è progettata per facilitare le indagini sull'integrità dei servizi. Applica l'apprendimento automatico per identificare rapidamente le possibili cause radice dei problemi filtrando il rumore. Il modello di Machine Learning apprende dal comportamento cronologico della mappa delle applicazioni per identificare modelli e anomalie dominanti che indicano potenziali cause di un evento imprevisto.

Nelle applicazioni distribuite di grandi dimensioni, c'è sempre un certo grado di rumore proveniente da errori "benigni", che potrebbero causare un disturbo della mappa delle applicazioni mostrando molti bordi rossi. La visualizzazione intelligente mostra solo le cause più probabili dell'errore del servizio e rimuove i bordi rossi da nodo a nodo (comunicazione da servizio a servizio) nei servizi integri. La visualizzazione intelligente evidenzia i bordi in rosso da analizzare. Offre anche informazioni dettagliate interattive per il bordo evidenziato.

L'uso della visualizzazione intelligente offre numerosi vantaggi:

  • Riduce il tempo per la risoluzione evidenziando solo gli errori che devono essere esaminati
  • Fornisce informazioni dettagliate interattive sul motivo per cui è stato evidenziato un determinato bordo rosso
  • Consente di usare facilmente la mappa delle applicazioni per applicazioni distribuite di grandi dimensioni (concentrandosi solo sui bordi contrassegnati in rosso)

La visualizzazione intelligente presenta alcune limitazioni:

  • Il caricamento delle applicazioni distribuite di grandi dimensioni potrebbe richiedere un minuto.
  • Sono supportati intervalli di tempo fino a sette giorni.

Usare la visualizzazione intelligente

Un interruttore sopra la mappa dell'applicazione consente di abilitare la visualizzazione intelligente e controllare la sensibilità al rilevamento dei problemi:

Screenshot che mostra come abilitare la visualizzazione intelligente per la mappa dell'applicazione e controllare la sensibilità di rilevamento.

La visualizzazione intelligente usa il modello di Machine Learning aiOps brevettato per evidenziare (rosso) i dati significativi e importanti in una mappa delle applicazioni. Diversi dati dell'applicazione vengono usati per determinare quali dati evidenziare sulla mappa, tra cui tassi di errore, conteggi delle richieste, durate, anomalie e tipo di dipendenza. Per il confronto, la visualizzazione mappa standard utilizza solo la percentuale di errori non elaborati.

La mappa delle applicazioni evidenzia i bordi in rosso in base all'impostazione di riservatezza. È possibile regolare la sensibilità per ottenere il livello di confidenza desiderato nei bordi evidenziati.

Riservatezza Descrizione
Alto Meno bordi sono evidenziati.
Medium (Impostazione predefinita) Viene evidenziato un numero bilanciato di bordi.
Basso Più bordi sono evidenziati.

Controllare le informazioni dettagliate di utilità pratica

Dopo aver abilitato la visualizzazione intelligente, selezionare un bordo evidenziato (rosso) sulla mappa per visualizzare le informazioni dettagliate interattive per il componente. Le informazioni dettagliate vengono visualizzate in un riquadro a destra e spiegano perché il bordo è evidenziato.

Screenshot che mostra le informazioni dettagliate interattive per il bordo selezionato nella mappa dell'applicazione.

Per avviare la risoluzione di un problema, selezionare Analizza gli errori. È possibile esaminare le informazioni sul componente nel riquadro Errori per determinare se il problema rilevato è la causa radice.

Quando la visualizzazione intelligente non evidenzia alcun bordo sulla mappa dell'applicazione, il modello di Machine Learning non ha trovato potenziali eventi imprevisti nelle dipendenze dell'applicazione.

Suggerimenti per la risoluzione dei problemi

Se si verificano problemi durante il funzionamento della mappa delle applicazioni come previsto, esaminare i suggerimenti nelle sezioni seguenti.

Ecco alcune raccomandazioni generali:

  • Usare un SDK ufficialmente supportato. Gli SDK non supportati o della community potrebbero non supportare la correlazione. Per un elenco degli SDK supportati, vedere Application Insights: Linguaggi, piattaforme e integrazioni.

  • Aggiornare tutti i componenti alla versione più recente dell'SDK.

  • Supportare Funzioni di Azure con C# eseguendo l'aggiornamento a Funzioni di Azure V2.

  • Verificare che il nome del ruolo cloud sia configurato correttamente.

  • Verificare che le dipendenze mancanti siano elencate come dipendenze con registrazione automatica. Se una dipendenza non è elencata, è possibile monitorarla manualmente con una chiamata di dipendenza di rilevamento.

Troppi nodi sulla mappa

La mappa delle applicazioni aggiunge un nodo componente per ogni nome univoco del ruolo cloud nei dati di telemetria della richiesta. Il processo aggiunge anche un nodo di dipendenza per ogni combinazione univoca di tipo, destinazione e nome del ruolo cloud.

  • Se nella telemetria sono presenti più di 10.000 nodi, la mappa delle applicazioni non può recuperare tutti i nodi e i collegamenti. In questo scenario la struttura della mappa è incompleta. Se si verifica questo scenario, viene visualizzato un messaggio di avviso quando si visualizza la mappa.

  • La mappa delle applicazioni può eseguire il rendering di un massimo di 1.000 nodi separati contemporaneamente. La mappa delle applicazioni riduce la complessità visiva raggruppando le dipendenze quando hanno lo stesso tipo e chiamanti.

  • Se i dati di telemetria hanno troppi nomi di ruolo cloud univoci o troppi tipi di dipendenza, il raggruppamento non è sufficiente e la mappa non viene sottoposta a rendering.

Per risolvere questo problema, è necessario modificare la strumentazione per impostare correttamente il nome del ruolo cloud, il tipo di dipendenza e i campi di destinazione delle dipendenze. Verificare che l'applicazione sia conforme ai criteri seguenti:

  • Ogni destinazione di dipendenza rappresenta il nome logico di una dipendenza. In molti casi, questo valore equivale al nome del server o della risorsa della dipendenza. Ad esempio, se sono presenti dipendenze HTTP, il valore è il nome host. Il valore non deve contenere ID univoci o parametri che cambiano da una richiesta a un'altra.

  • Ogni tipo di dipendenza rappresenta il tipo logico di una dipendenza. Ad esempio, HTTP, SQL o BLOB di Azure sono tipi di dipendenza tipici. Questo valore non deve contenere ID univoci.

  • Ogni scopo del nome del ruolo cloud applica la descrizione nella sezione Imposta o sostituisci il nome del ruolo cloud.

Visualizzazione intelligente: Edge non evidenziato

La visualizzazione intelligente potrebbe non evidenziare un bordo come previsto, anche con un'impostazione di riservatezza bassa. Una dipendenza potrebbe sembrare in errore, ma il modello non indica il problema come potenziale evento imprevisto. Di seguito sono riportati alcuni scenari possibili:

  • Se la dipendenza ha in genere esito negativo, il modello potrebbe considerare l'errore uno stato standard per il componente e non evidenziare il bordo. La visualizzazione intelligente è incentrata sulla risoluzione dei problemi in tempo reale.

  • Se la dipendenza ha un effetto minimo sulle prestazioni complessive dell'applicazione, la visualizzazione intelligente potrebbe ignorare il componente durante la modellazione di Machine Learning.

Se lo scenario è univoco, è possibile usare l'opzione Commenti e suggerimenti per descrivere l'esperienza e migliorare le versioni future del modello.

Visualizzazione intelligente: Edge evidenziato

Quando la visualizzazione intelligente evidenzia un bordo, le informazioni dettagliate interattive del modello di Machine Learning devono identificare i problemi significativi che contribuiscono al punteggio di probabilità elevata. Tenere presente che la raccomandazione non è basata esclusivamente sugli errori, ma su altri indicatori come la latenza imprevista nei flussi dominanti.

Visualizzazione intelligente: non carica

Se la visualizzazione intelligente non viene caricata, impostare l'intervallo di tempo configurato su sei giorni o meno.

Visualizzazione intelligente: tempo di caricamento lungo

Se il caricamento della visualizzazione intelligente richiede più tempo del previsto, evitare di selezionare l'opzione Aggiorna componenti mappa. Abilitare la visualizzazione intelligente solo per una singola risorsa di Application Insights.

  • Informazioni sul funzionamento della correlazione in Application Insights con la correlazione di telemetria.

  • Esplorare l'esperienza di diagnostica delle transazioni end-to-end che correla i dati di telemetria lato server da tutti i componenti monitorati da Application Insights in un'unica visualizzazione.

  • Supporta scenari di correlazione avanzati in ASP.NET Core e ASP.NET con tenere traccia delle operazioni personalizzate.