Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Application Insights raccoglie i dati di telemetria dall'applicazione per diagnosticare gli errori e analizzare le transazioni lente. Include quattro strumenti essenziali:
Visualizzazione errori : tiene traccia degli errori, delle eccezioni e degli errori, offrendo informazioni chiare per risolvere rapidamente i problemi e migliorare la stabilità.
Visualizzazione delle prestazioni : identifica e aiuta a risolvere i colli di bottiglia dell'applicazione visualizzando i tempi di risposta e i conteggi delle operazioni.
Visualizzazione di ricerca : consente agli utenti di individuare ed esaminare singoli elementi di telemetria, ad esempio visualizzazioni pagina, eccezioni ed eventi personalizzati.
Diagnostica delle transazioni : consente di identificare rapidamente i problemi nei componenti tramite informazioni dettagliate complete sui dettagli delle transazioni end-to-end.
Insieme, questi strumenti garantiscono l'integrità e l'efficienza in corso delle applicazioni Web. È possibile usarli per individuare problemi o miglioramenti che potrebbero avere l'impatto maggiore sugli utenti.
Per accedere alla visualizzazione Errori in Application Insights, selezionare il grafico Richieste non riuscite nel riquadro Panoramica oppure Errori nella categoria Analizza nel menu delle risorse.
È anche possibile accedere alla visualizzazione degli errori dalla mappa delle applicazioni selezionando una risorsa, quindi Analizzare gli errori nella sezione valutazione.
Annotazioni
È possibile accedere alla diagnostica delle transazioni tramite una qualsiasi delle altre tre esperienze. Per altre informazioni, vedere Analizzare i dati di telemetria.
Informazioni generali
La visualizzazione Errori mostra un elenco di tutte le operazioni non riuscite raccolte per l'applicazione con l'opzione per esaminare ognuna di esse in dettaglio. Consente di visualizzare la frequenza e il numero di utenti interessati per concentrarsi sui problemi con l'impatto più elevato.
Annotazioni
Oltre alla telemetria predefinita inviata da Azure Monitor OpenTelemetry Distro o JavaScript SDK, è possibile aggiungere e modificare la telemetria, come ad esempio eventi personalizzati.
Per altre informazioni, vedereAggiungere e modificare OpenTelemetry di Monitoraggio di Azure per applicazioni .NET, Java, Node.js e Python.
Filtrare i dati di telemetria
Filtri predefiniti
Tutte le esperienze consentono di filtrare i dati di telemetria in base all'intervallo di tempo. Inoltre, ogni esperienza include un proprio filtro predefinito:
È possibile selezionare il servizio (Nome ruolo cloud) o il computer/contenitore (Istanza del ruolo cloud) da visualizzare dal menu filtro Ruoli . Questa azione consente di isolare problemi o tendenze delle prestazioni all'interno di parti specifiche dell'applicazione.
Per imparare a impostare il nome del ruolo cloud e l'istanza del ruolo cloud, vedere Configurare OpenTelemetry di Azure Monitor.
Aggiungi filtri
È possibile filtrare gli eventi in base ai valori delle relative proprietà. Le proprietà disponibili dipendono dai tipi di evento o telemetria selezionati. Per aggiungere un filtro:
Selezionare
per aggiungere un filtro.
Nell'elenco a discesa a sinistra selezionare una proprietà.
Nell'elenco a discesa centrale selezionare uno degli operatori seguenti:
=,!=,containsonot contains.Nell'elenco a discesa a destra selezionare tutti i valori delle proprietà da filtrare.
Annotazioni
Si noti che il numero a destra dei valori di filtro mostra quante occorrenze sono incluse nel set filtrato corrente.
Per aggiungere un altro filtro, selezionare di nuovo
.
Ricerca dei dati di telemetria
È possibile cercare operazioni specifiche usando il campo Cerca per filtrare gli elementi... sopra l'elenco di operazioni.
Usare i dati di analisi
Tutti i dati raccolti da Application Insights vengono archiviati in Log Analytics. Fornisce un linguaggio di query avanzato per analizzare le richieste che hanno generato l'eccezione che si sta analizzando.
Suggerimento
La modalità semplice in Log Analytics offre un'interfaccia intuitiva da punto e clic per l'analisi e la visualizzazione dei dati di log.
Nella visualizzazione delle prestazioni, dei errori o della ricerca, selezionare Visualizza nei Log nella barra di navigazione superiore e scegliere una query dal menu a discesa.
Questa azione consente di passare alla visualizzazione Log , in cui è possibile modificare ulteriormente la query o selezionarne una diversa dalla barra laterale.
Analizzare i dati di telemetria
Per analizzare la causa radice di un errore o di un'eccezione, è possibile esaminare l'operazione problematica per una visualizzazione dettagliata dei dettagli delle transazioni end-to-end che include dipendenze e dettagli dell'eccezione.
Selezionare un'operazione per visualizzare i primi 3 codici di risposta, i primi 3 tipi di eccezione e le prime 3 dipendenze non riuscite per l'operazione.
In Drill-into selezionare il pulsante con il numero di risultati filtrati per visualizzare un elenco di operazioni di esempio.
Selezionare un'operazione di esempio per aprire la visualizzazione dettagli sulle transazioni end-to-end.
Annotazioni
Gli esempi suggeriti contengono dati di telemetria correlati da tutti i componenti, anche se il campionamento è attivo in uno di essi.
Analizzare le prestazioni e i fallimenti dal lato del client
Se si instrumenta le pagine Web con Application Insights, è possibile ottenere visibilità sulle visualizzazioni pagina, sulle operazioni del browser e sulle dipendenze. La raccolta di questi dati del browser richiede l'aggiunta di uno script alle pagine Web.
Dopo aver aggiunto lo script, è possibile accedere alle visualizzazioni pagina e alle metriche delle prestazioni associate selezionando l'interruttore Browser nella visualizzazione Prestazioni o Errori .
Questa visualizzazione fornisce un riepilogo visivo di vari telemetri dell'applicazione dal punto di vista del browser.
Per le operazioni del browser, la vista dei dettagli della transazione end-to-end mostra le proprietà di visualizzazione della pagina del client che effettua la richiesta della pagina, incluso il tipo di browser e la relativa posizione. Queste informazioni consentono di determinare se sono presenti problemi di prestazioni correlati a determinati tipi di client.
Annotazioni
Analogamente ai dati raccolti per le prestazioni del server, Application Insights rende disponibili tutti i dati client per l'analisi approfondita usando i log.
Esperienza di diagnostica delle transazioni
L'esperienza di diagnostica delle transazioni, detta anche visualizzazione dettagli delle transazioni end-to-end, mostra un diagramma di Gantt della transazione, che elenca tutti gli eventi con la relativa durata e il codice di risposta.
Questa esperienza di diagnostica correla automaticamente i dati di telemetria lato server da tutti i componenti monitorati di Application Insights in una singola visualizzazione e supporta più risorse. Application Insights rileva la relazione sottostante e consente di diagnosticare facilmente il componente, la dipendenza o l'eccezione dell'applicazione che ha causato un errore o un rallentamento nella transazione.
La selezione di un evento specifico rivela le relative proprietà, incluse informazioni aggiuntive come il comando sottostante o lo stack di chiamate.
Questa vista si suddivide in quattro parti principali:
Questo riquadro comprimibile mostra altri risultati che soddisfano i criteri del filtro. Selezionare qualsiasi risultato per aggiornare i rispettivi dettagli delle tre sezioni precedenti. Si tenta di trovare esempi che più probabilmente avranno i dettagli disponibili da tutti i componenti, anche se il campionamento è attivo in ognuno di essi. Questi esempi vengono visualizzati come suggerimenti.
Annotazioni
L'esperienza di diagnostica delle transazioni offre ora una visualizzazione semplice, che mostra i passaggi dell'agente in modo chiaro e simile al racconto. Per altre informazioni, vedere Monitorare gli agenti di intelligenza artificiale con Application Insights.
Annotazioni del rilascio
Le annotazioni sulle versioni contrassegnano le distribuzioni e altri eventi significativi nei grafici di Application Insights, consentendo la correlazione delle modifiche con prestazioni, errori e utilizzo.
Annotazioni automatiche con Azure Pipelines
Azure Pipelines crea un'annotazione sulla versione durante la distribuzione quando vengono soddisfatte tutte le condizioni seguenti:
- La risorsa di destinazione si collega ad Application Insights tramite l'impostazione dell'app
APPLICATIONINSIGHTS_CONNECTION_STRING. - La risorsa di Application Insights si trova nella stessa sottoscrizione della risorsa di destinazione.
- La distribuzione usa una delle attività di Azure Pipelines seguenti:
| Codice attività | Nome attività | Versions |
|---|---|---|
| AzureAppServiceSettings | Impostazioni di Servizio app di Azure | Qualsiasi |
| AzureRmWebAppDeployment | Servizio app di Azure | V3+ |
| AzureFunctionApp | Azure Functions | Qualsiasi |
| AzureFunctionAppContainer | Funzioni di Azure per il contenitore | Qualsiasi |
| AzureWebAppContainer | App Web per contenitori di Azure | Qualsiasi |
| AzureWebApp | App Web di Azure | Qualsiasi |
Annotazioni
Se si usa ancora l'attività di distribuzione delle annotazioni di Application Insights precedente, eliminarla.
Configurare le annotazioni in una pipeline usando uno script inline
Se non si usano le attività nella sezione precedente, aggiungere uno script inline nella fase di distribuzione.
Aprire una pipeline esistente o crearne una nuova e selezionare un'attività in Fasi.
Aggiungere una nuova attività dell'interfaccia della riga di comando di Azure.
Selezionare l’abbonamento di Azure. Impostare Tipo di script su PowerShell e impostare Percorso script su Inline.
Aggiungere lo script di PowerShell del passaggio 2 in Creare annotazioni sulla versione con l'interfaccia della riga di comando di Azure a Script inline.
Aggiungere argomenti dello script. Sostituire i segnaposto tra parentesi acute.
-aiResourceId "<aiResourceId>" ` -releaseName "<releaseName>" ` -releaseProperties @{"ReleaseDescription"="<a description>"; "TriggerBy"="<Your name>" }L'esempio seguente mostra i metadati che è possibile impostare nell'argomento facoltativo
releasePropertiesusando le variabili di compilazione e rilascio. Seleziona Salva.-releaseProperties @{ "BuildNumber"="$(Build.BuildNumber)"; "BuildRepositoryName"="$(Build.Repository.Name)"; "BuildRepositoryProvider"="$(Build.Repository.Provider)"; "ReleaseDefinitionName"="$(Build.DefinitionName)"; "ReleaseDescription"="Triggered by $(Build.DefinitionName) $(Build.BuildNumber)"; "ReleaseEnvironmentName"="$(Release.EnvironmentName)"; "ReleaseId"="$(Release.ReleaseId)"; "ReleaseName"="$(Release.ReleaseName)"; "ReleaseRequestedFor"="$(Release.RequestedFor)"; "ReleaseWebUrl"="$(Release.ReleaseWebUrl)"; "SourceBranch"="$(Build.SourceBranch)"; "TeamFoundationCollectionUri"="$(System.TeamFoundationCollectionUri)" }
Creare annotazioni di versione con l'interfaccia della riga di comando di Azure
Usare lo script di PowerShell seguente per creare un'annotazione sulla versione da qualsiasi processo, senza Azure DevOps.
Accedere a Interfaccia della riga di comando di Azure.
Salvare lo script seguente come
CreateReleaseAnnotation.ps1.param( [parameter(Mandatory = $true)][string]$aiResourceId, [parameter(Mandatory = $true)][string]$releaseName, [parameter(Mandatory = $false)]$releaseProperties = @() ) # Function to ensure all Unicode characters in a JSON string are properly escaped function Convert-UnicodeToEscapeHex { param ( [parameter(Mandatory = $true)][string]$JsonString ) $JsonObject = ConvertFrom-Json -InputObject $JsonString foreach ($property in $JsonObject.PSObject.Properties) { $name = $property.Name $value = $property.Value if ($value -is [string]) { $value = [regex]::Unescape($value) $OutputString = "" foreach ($char in $value.ToCharArray()) { $dec = [int]$char if ($dec -gt 127) { $hex = [convert]::ToString($dec, 16) $hex = $hex.PadLeft(4, '0') $OutputString += "\u$hex" } else { $OutputString += $char } } $JsonObject.$name = $OutputString } } return ConvertTo-Json -InputObject $JsonObject -Compress } $annotation = @{ Id = [GUID]::NewGuid(); AnnotationName = $releaseName; EventTime = (Get-Date).ToUniversalTime().GetDateTimeFormats("s")[0]; Category = "Deployment"; #Application Insights only displays annotations from the "Deployment" Category Properties = ConvertTo-Json $releaseProperties -Compress } $annotation = ConvertTo-Json $annotation -Compress $annotation = Convert-UnicodeToEscapeHex -JsonString $annotation $accessToken = (az account get-access-token | ConvertFrom-Json).accessToken $headers = @{ "Authorization" = "Bearer $accessToken" "Accept" = "application/json" "Content-Type" = "application/json" } $params = @{ Headers = $headers Method = "Put" Uri = "https://management.azure.com$($aiResourceId)/Annotations?api-version=2015-05-01" Body = $annotation } Invoke-RestMethod @params
Annotazioni
Impostare Categoria su Distribuzione o le annotazioni non vengono visualizzate nel portale di Azure.
Applicare lo script e trasmettere i valori per i parametri. Il -releaseProperties parametro è facoltativo.
.\CreateReleaseAnnotation.ps1 `
-aiResourceId "<aiResourceId>" `
-releaseName "<releaseName>" `
-releaseProperties @{"ReleaseDescription"="<a description>";
"TriggerBy"="<Your name>" }
| Argomentazione | Definition | Annotazioni |
|---|---|---|
aiResourceId |
ID risorsa della risorsa di Application Insights di destinazione. | Esempio: /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MyRGName/providers/microsoft.insights/components/MyResourceName |
releaseName |
Nome della nuova annotazione sulla versione. | |
releaseProperties |
Metadati personalizzati da associare all'annotazione. | Opzionale |
Visualizzare le annotazioni
Annotazioni
Le annotazioni sulla versione non sono disponibili nel riquadro Metriche.
Application Insights visualizza le annotazioni sulle versioni nelle esperienze seguenti:
- Prestazioni ed errori
- Utilizzo
- Cartelle di lavoro (per qualsiasi visualizzazione di serie temporale)
Le annotazioni vengono visualizzate come marcatori nella parte superiore dei grafici.
Per abilitare le annotazioni in una cartella di lavoro, aprire Impostazioni avanzate e quindi selezionare Mostra annotazioni. Selezionare un marcatore di annotazione per aprire i dettagli della versione, ad esempio richiedente, ramo di controllo del codice sorgente, pipeline di versione e ambiente.
Domande frequenti
Questa sezione fornisce le risposte alle domande comuni.
Visualizzazione di ricerca
Che cos'è un componente?
I componenti sono parti che possono essere distribuite autonomamente dell'applicazione distribuita o di microservizi. Gli sviluppatori e i team operativi hanno visibilità a livello di codice o accesso ai dati di telemetria generati da questi componenti dell'applicazione.
- I componenti sono diversi dalle dipendenze esterne "osservate", quali SQL e hub eventi 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 stringhe di connessione di Application Insights separate, anche se le sottoscrizioni sono diverse. I componenti possono anche avere ruoli diversi che riportano a una singola stringa di connessione per Application Insights. La nuova esperienza mostra i dettagli per tutti i componenti, indipendentemente dalla modalità di configurazione.
Quanti dati vengono conservati?
Vedere il riepilogo dei limiti.
Come è possibile visualizzare i dati POST nelle richieste del server?
I dati POST non vengono registrati automaticamente, ma è possibile usare TrackTrace o le chiamate di log. Inserire i dati POST nel parametro del messaggio. Non è possibile filtrare in base al messaggio nello stesso modo delle proprietà, ma il limite delle dimensioni è maggiore.
Perché la ricerca di Funzioni di Azure non restituisce risultati?
Funzioni di Azure non registra le stringhe di query URL.
Diagnostica delle transazioni
Perché viene visualizzato un singolo componente nel grafico e gli altri componenti vengono visualizzati solo come dipendenze esterne senza dettagli?
Possibili motivi:
- Gli altri componenti sono instrumentati con Application Insights?
- Usano l'SDK di Application Insights più recente e stabile?
- Se questi componenti sono risorse di Application Insights separate, verificare di avere accesso. Se hai accesso e i componenti vengono instrumentati con i più recenti Software Development Kits (SDK) di Application Insights, segnalaci tramite il canale di feedback nell'angolo in alto a destra.
Vengono visualizzate righe duplicate per le dipendenze. Questo comportamento è previsto?
Attualmente la chiamata di dipendenza in uscita viene mostrata separatamente dalla richiesta in ingresso. Solitamente le due chiamate sembrano identiche, ma il valore della durata è diverso per via del round trip di rete. L'icona iniziale e lo stile diverso delle barre della durata consentono di distinguere le chiamate tra loro. Questa organizzazione dei dati crea confusione? Inviare i propri commenti.
Perché ci sono degli sfasamenti di orario tra le diverse istanze del componente?
Le sequenze temporali vengono modificate in base agli sfasamenti di orario nel grafico delle transazioni. È possibile visualizzare i timestamp esatti nel riquadro dei dettagli o tramite Log Analytics.
Perché la nuova esperienza non include la maggior parte delle query sugli elementi correlati?
Questo comportamento è predefinito. Tutti gli elementi correlati, in tutti i componenti, sono già disponibili sul lato sinistro nelle sezioni superiore e inferiore. La nuova esperienza presenta due elementi correlati che non sono riportati a sinistra: tutti i dati di telemetria generati nei cinque minuti precedenti e successivi a questo evento e la sequenza temporale dell'utente.
È possibile visualizzare un minor numero di eventi per transazione quando si usa Application Insights JavaScript SDK?
L'esperienza di diagnostica delle transazioni mostra tutti i dati di telemetria in una singola operazione che condivide un ID operazione. Per impostazione predefinita, Application Insights SDK per JavaScript crea una nuova operazione per ogni visualizzazione pagina univoca. In un'applicazione a pagina singola viene creato un solo evento di visualizzazione pagina e viene usato un singolo ID operazione per tutti i dati di telemetria generati. Di conseguenza, molti eventi potrebbero essere correlati alla stessa operazione.
In questi scenari, è possibile usare il rilevamento automatico delle route per creare automaticamente nuove operazioni per lo spostamento nella SPA. È necessario attivare enableAutoRouteTracking in modo che il sistema crei una visualizzazione di pagina ogni volta che viene aggiornata la route URL (si verifica una visualizzazione logica di pagina). Se si desidera aggiornare manualmente l'ID operazione, chiamare appInsights.properties.context.telemetryTrace.traceID = Microsoft.ApplicationInsights.Telemetry.Util.generateW3CId(). L'attivazione manuale di un evento PageView causa anche la reimpostazione dell'ID operazione.
Perché le durate dei dettagli delle transazioni non si sommano alla durata della richiesta superiore?
Il tempo non spiegato nel diagramma di Gantt è il tempo non coperto da una dipendenza rilevata. Questo problema può verificarsi perché le chiamate esterne non sono state instrumentate, né automaticamente, né manualmente. Ciò può anche accadere perché il tempo impiegato era in elaborazione e non a causa di una chiamata esterna.
Se tutte le chiamate sono state instrumentate, in processo è la probabile causa radice per il tempo trascorso. Uno strumento utile per diagnosticare il processo è .NET Profiler.
Cosa accade se viene visualizzato il messaggio "Errore durante il recupero dei dati" durante l'esplorazione di Application Insights nel portale di Azure?
Questo errore indica che il browser non è stato in grado di chiamare un'API necessaria oppure l'API ha restituito una risposta di errore. Per risolvere i problemi relativi al comportamento, aprire una finestra InPrivate del browser e disabilitare tutte le estensioni del browser in esecuzione, quindi identificare se è comunque possibile riprodurre il comportamento del portale. Se l'errore del portale si verifica ancora, provare a eseguire test con altri browser o altri computer, esaminare Domain Name System (DNS) o altri problemi correlati alla rete dal computer client in cui le chiamate API hanno esito negativo. Se l'errore del portale continua, raccogli una traccia di rete del browser mentre riproduci il comportamento imprevisto. Aprire quindi un caso di supporto dal portale di Azure.
Passaggi successivi
- Scopri di più sull'uso di Application Map per individuare i colli di bottiglia delle prestazioni e gli hotspot di errore in tutti i componenti dell'applicazione.
- Altre informazioni sull'uso della visualizzazione Disponibilità per configurare test ricorrenti per monitorare la disponibilità e la velocità di risposta per l'applicazione.
- Informazioni su come usare Log Analytics e scrivere query complesse per ottenere informazioni più approfondite dai dati di telemetria.
- Informazioni su come inviare log e dati di telemetria personalizzati ad Application Insights per un monitoraggio più completo.
- Per un'introduzione al monitoraggio del tempo di attività e della velocità di risposta, vedere Panoramica della disponibilità.