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 proprietà roleName
o name
nei dati di telemetria registrati. I cerchi (o i nodi) sulla mappa rappresentano i componenti e le linee direzionali (connettori o bordi) 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 una mappa e i colli e di individuare colli di bottiglia o hotspot di errori 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, è possibile anche fare clic sulla diagnostica di Azure, ad esempio per consigli di Advisor per database SQL.
La Mappa delle applicazioni offre anche una Vista intelligente per facilitare le indagini rapide sull'integrità dei servizi.
Informazioni sui componenti
I componenti sono parti che possono essere distribuite autonomamente dell'applicazione distribuita o di microservizi. 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", quali Azure SQL e Hub eventi di Azure ai quali il team o l'organizzazione potrebbero non avere accesso (codice o dati di telemetria).
- I componenti vengono eseguiti su diverse istanze di ruolo, di server o di contenitore.
- I componenti possono essere risorse di Application Insights separate, anche se le sottoscrizioni sono diverse. Possono anche essere ruoli diversi dipendenti da una singola risorsa di Application Insights. L'esperienza della mappa di anteprima mostra i componenti indipendentemente dalla modalità di configurazione.
Esplora la Mappa delle applicazioni
La Mappa delle applicazioni consente di visualizzare la topologia completa delle applicazioni con più livelli di componenti delle applicazioni correlati. Come descritto in precedenza, i componenti possono essere risorse di Application Insights differenti, componenti dipendenti o ruoli diversi in una singola risorsa. La Mappa delle applicazioni consente di trovare i componenti seguendo le chiamate di dipendenza HTTP inviate tra i 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 la mappa 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:
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, potrebbe essere necessario un minuto per caricare l'aggiornamento:
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 applicativo individua tutti i componenti.
Visualizza dettagli 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:
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:
La vista Errori consente di esplorare i dati sugli errori per operazioni, dipendenze, eccezioni e ruoli correlati al 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:
La vista Prestazioni consente di esplorare i dati di telemetria per operazioni, dipendenze e ruoli connessi al componente selezionato:
Passa 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:
La pagina si apre per visualizzare la vista Sequenza temporale per i dettagli:
È possibile usare l'opzione Visualizza tutto per visualizzare i dettagli dello stack con le informazioni di traccia e evento per il componente:
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):
La pagina Log (Analisi) 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:
Visualizza avvisi e regole
L'opzione Visualizza avvisi nel riquadro dei dettagli del nodo consente di visualizzare gli avvisi attivi:
La pagina Avvisi mostra gli avvisi critici e attivati:
L'opzione Regole di avviso nella pagina Avvisi mostra le regole sottostanti che causano l'attivazione degli avvisi:
Informazioni sui nomi e sui nodi dei ruoli cloud
La Mappa delle applicazioni usa la proprietà del nome del ruolo cloud per identificare i componenti applicativi sulla 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 Vista gerarchica con cinque nodi componenti e connettori a nove nodi dipendenti. Ogni nodo ha un nome di ruolo cloud.
La Mappa delle applicazioni usa colori, evidenziazioni e dimensioni differenti per i nodi, così da 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-loadfunc
,retailfabrikam-37ha6
eretailapp
.Il cerchio blu punteggiato intorno a un nodo indica l'ultimo componente selezionato. In questo esempio l'ultimo componente selezionato è il nodo
Web
.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 distinte di Application Insights, la Mappa delle applicazioni può unire una mappa delle relazioni sottostanti.
Analizza 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 diversi 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 Aggiungi proprietà: ITelemetryInitializer.
Imposta 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 delle applicazioni.
Nota
Application Insights SDK o Agente aggiunge automaticamente la proprietà del nome del ruolo cloud ai dati di telemetria generati dai componenti in un ambiente del servizio app di 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 TelemetryInitializer personalizzato
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: caricare l'inizializzatore nel 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 proprietà ApplicationInsights.config
o TelemetryConfiguration.Active
non è valida per le applicazioni ASP.NET Core.
App ASP.NET Core: caricare un inizializzatore in TelemetryConfiguration
Per le applicazioni ASP.NET Core, aggiungere una nuova istanza TelemetryInitializer
al contenitore Inserimento di dipendenze. Nell'esempio riportato di seguito viene illustrato questo approccio. Aggiungere questo codice nel metodo ConfigureServices
della classe Startup.cs
.
using Microsoft.ApplicationInsights.Extensibility;
using CustomInitializer.Telemetry;
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<ITelemetryInitializer, MyTelemetryInitializer>();
}
Usa i filtri Mappa delle applicazioni
I filtri della 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 vista più piccola e più evidenziata.
Un modo rapido per filtrare consiste nell'usare l'opzione Filtra in questo nodo nel menu di scelta rapida per qualsiasi nodo della mappa:
È anche possibile creare un filtro con l'opzione Aggiungi filtro :
Selezionare il tipo di filtro (nodo o connettore) e le impostazioni desiderate, quindi esaminare le scelte e applicarle alla mappa corrente.
Crea filtri dei nodi
I filtri dei nodi consentono di visualizzare solo determinati nodi nella Mappa delle applicazioni e nascondere tutti gli altri nodi. È possibile configurare i parametri per cercare i valori che corrispondono a una condizione nelle proprietà dei nodi nella mappa. 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 delle applicazioni 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. Inoltre, 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 definiti collettivamente nodi connessi.
Nodi e origini: lo stesso comportamento di Nodi, origini e destinazioni; tuttavia, i nodi di destinazione non vengono inclusi automaticamente nella mappa dei risultati.
Nodi e destinazioni: lo stesso comportamento di Nodi, origini e destinazioni; tuttavia, 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à nodo contiene il valore specificato nel parametro Valore di ricerca.!contains
Il valore della proprietà nodo 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 delle applicazioni. È possibile selezionare un valore nell'elenco o crearne uno personalizzato. Immettere il valore personalizzato nel campo del parametro, quindi selezionare Crea opzione ... nell'elenco. Ad esempio, è possibile immettere
test
e selezionare Crea opzione "test" nell'elenco.
L'immagine seguente mostra un esempio di filtro applicato a una mappa delle applicazioni 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":
I nodi corrispondenti e i nodi di destinazione connessi sono inclusi nella mappa dei risultati:
Crea filtri connettore (bordo)
I filtri connettore consentono di visualizzare solo determinati nodi con connettori specifici nella mappa delle applicazioni 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:
Filtra i connettori in base a: tipi di connettori da esaminare nella mappa delle applicazioni per individuare le proprietà corrispondenti. Sono disponibili 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 delle applicazioni corrente. È possibile selezionare un valore nell'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 il parametro Filtra connettori in base a.
Filtra connettori per | Descrizione | Parametro Operatore | Parametro Valore | Utilizzo |
---|---|---|---|---|
Connettore di errore (evidenziato in rosso) | Cerca connettori in base al colore. Il colore rosso indica che il connettore è in uno stato di errore. | == : uguale e != : diverso da |
Sempre impostato su Errori | Mostra solo i connettori con errori o solo connettori senza errori. |
Percentuale 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 nell'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 chiamata (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 nell'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 nell'elenco o immettere un valore personalizzato seguendo il processo descritto in precedenza. | Mostra i connettori con conteggi delle chiamate maggiori o inferiori al valore seleziona |
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 Valore includono la designazione (Pxx)
. 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.
Esamina i filtri
Dopo aver effettuato le selezioni, la sezione Rivedi della finestra 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 delle applicazioni.
L'esempio seguente mostra il riepilogo di Rivedi per un filtro di nodo che cerca nodi e destinazioni con proprietà con il testo "-west":
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:
Applica 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:
L'azione Rimuovi su una pillola di filtro 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.
Esplora e salva filtri
Quando si individua un filtro interessante, è possibile salvarlo per riutilizzarlo in un secondo momento con l'opzione Copia collegamento o Aggiungi al dashboard:
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 delle applicazioni prodotta potrebbe differire dalla mappa presente al momento dell'acquisizione del collegamento.
L'opzione Aggiungi al dashboard aggiunge la mappa delle applicazioni 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.
Verifica la presenza di errori importanti
Produrre una vista mappa solo dei connettori con errori (evidenziati in rosso) nelle ultime 24 ore. I filtri includono il parametro Errore connettore combinato con la Vista intelligente:
La funzionalità Vista intelligente è descritta più avanti in questo articolo.
Nascondi 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):
Mostra connettori ad alto traffico
Rivelare 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 una Durata media delle chiamate maggiore di 578 (P80):
Individuare i componenti in base al nome
Individuare i componenti (nodi e connettori) nell'applicazione in base al nome secondo l'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":
Rimuovi 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":
Cerca 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%:
Esplorare la Vista intelligente
La funzionalità Vista 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 Vista 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 Vista intelligente evidenzia i bordi in rosso da analizzare. Offre anche informazioni dettagliate interattive per il bordo evidenziato.
L'uso della Vista 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 Vista 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 Vista intelligente
Un interruttore sopra la mappa delle applicazioni consente di abilitare la Vista intelligente e controllare la sensibilità al rilevamento dei problemi:
La Vista intelligente usa il modello di Machine Learning AIOps brevettato per evidenziare (in rosso) i dati significativi e importanti in una mappa delle applicazioni. Vari 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. |
Verificare informazioni dettagliate di utilità pratica
Dopo aver abilitato la Vista 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.
Per avviare la risoluzione di un problema, selezionare Analizza errori. È possibile esaminare le informazioni sul componente nel riquadro Errori per determinare se il problema rilevato è la causa radice.
Quando la Vista intelligente non evidenzia alcun bordo sulla mappa delle applicazioni, significa che 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 di 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.
Accertarsi 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.
Vista intelligente: bordo non evidenziato
La Vista 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 Vista intelligente è incentrata sulla risoluzione dei problemi in tempo reale.
Se la dipendenza ha un effetto minimo sulle prestazioni complessive dell'applicazione, la Vista intelligente potrebbe ignorare il componente durante la modellazione di Machine Learning.
Se lo scenario è univoco, è possibile usare l'opzione Feedbackper descrivere l'esperienza e migliorare le versioni future del modello.
Vista intelligente: bordo evidenziato
Quando la Vista 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 si basa esclusivamente sugli errori, ma su altri indicatori come la latenza imprevista nei flussi dominanti.
Vista intelligente: non carica
Se la Vista intelligente non viene caricata, impostare l'intervallo di tempo configurato su sei giorni o meno.
Vista intelligente: tempo di caricamento lungo
Se il caricamento della Vista intelligente richiede più tempo del previsto, evitare di selezionare l'opzione Aggiorna componenti mappa. Abilitare la Vista intelligente solo per una singola risorsa di Application Insights.
Contenuto correlato
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 vista.
Supportare scenari di correlazione avanzati in ASP.NET Core e ASP.NET, con Tenere traccia delle operazioni personalizzate.