L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Abilitare il monitoraggio delle applicazioni nel servizio app Azure per applicazioni .NET, Node.js, Python e Java
28/02/2025
La strumentazione automatica, noto anche come monitoraggio del runtime, è il modo più semplice per abilitare Application Insights per il servizio app di Azure senza richiedere modifiche al codice o configurazioni avanzate. In base al proprio scenario specifico, valutare se è necessario un monitoraggio più avanzato tramite la strumentazione manuale.
Nota
Il 31 marzo 2025, il supporto per l'inserimento delle chiavi di strumentazione terminerà. L'inserimento delle chiavi di strumentazione continuerà a funzionare, ma non saranno più garantiti aggiornamenti o supporto per la funzionalità.
Eseguire la transizione alle stringhe di connessione per sfruttare le nuove funzionalità.
Se vengono rilevati sia il monitoraggio automatico che la strumentazione manuale basata su SDK, vengono rispettate solo le impostazioni di strumentazione manuale. Questa disposizione impedisce l'invio di dati duplicati. Per altre informazioni, vedere Risoluzione dei problemi.
Nota
Sono supportate solo le versioni LTS (Long Term Support) di .NET Core.
Selezionare Application Insights nel menu di spostamento a sinistra del servizio app e quindi selezionare Abilita.
Creare una nuova risorsa o selezionare una risorsa di Application Insights esistente per questa applicazione.
Nota
Quando si seleziona OK per creare la nuova risorsa, viene richiesto Applica impostazioni di monitoraggio. La selezione di Continua collega la nuova risorsa di Application Insights al servizio app. Il servizio app viene quindi riavviato.
Dopo aver specificato la risorsa da usare, è possibile scegliere il modo in cui Application Insights deve raccogliere i dati per ogni piattaforma per l'applicazione. Le opzioni di raccolta ASP.NET Core sono Consigliate o Disabilitate.
Importante
Se vengono rilevati sia il monitoraggio automatico che la strumentazione manuale basata su SDK, vengono rispettate solo le impostazioni di strumentazione manuale. Questa disposizione impedisce l'invio di dati duplicati. Per altre informazioni, vedere Risoluzione dei problemi.
Nota
La combinazione di APPINSIGHTS_JAVASCRIPT_ENABLED e urlCompression non è supportata. Per ulteriori informazioni, vedere Risoluzione dei problemi.
Strumentazione automatica nel portale di Azure
Selezionare Application Insights nel menu di spostamento a sinistra del servizio app e quindi selezionare Abilita.
Creare una nuova risorsa o selezionare una risorsa di Application Insights esistente per questa applicazione.
Nota
Quando si seleziona OK per creare la nuova risorsa, viene richiesto Applica impostazioni di monitoraggio. La selezione di Continua collega la nuova risorsa di Application Insights al servizio app. Il servizio app viene quindi riavviato.
Dopo aver specificato la risorsa da usare, è possibile scegliere il modo in cui Application Insights deve raccogliere i dati per ogni piattaforma per l'applicazione. ASP.NET il monitoraggio delle app è attivato per impostazione predefinita con due diversi livelli di raccolta, Consigliato e Basic.
La tabella seguente riepiloga i dati raccolti per ogni route.
Dati
Consigliato
Fondamentale
Aggiunge le tendenze di utilizzo della CPU, della memoria e delle operazioni di I/O
Sì
NO
Raccoglie le tendenze di utilizzo e consente la correlazione dei risultati di disponibilità con le transazioni
Sì
Sì
Raccoglie le eccezioni non gestite dal processo host
Sì
Sì
Migliora la precisione delle metriche APM in condizioni di carico quando viene usato il campionamento
Sì
Sì
Mette in correlazione i microservizi attraverso i limiti di richiesta/dipendenza
Selezionare Application Insights nel menu di spostamento a sinistra del servizio app e quindi selezionare Abilita.
Creare una nuova risorsa o selezionare una risorsa di Application Insights esistente per questa applicazione.
Nota
Quando si seleziona OK per creare la nuova risorsa, viene richiesto Applica impostazioni di monitoraggio. La selezione di Continua collega la nuova risorsa di Application Insights al servizio app. Il servizio app viene quindi riavviato.
Importante
Se vengono rilevati sia il monitoraggio automatico che la strumentazione manuale basata su SDK, vengono rispettate solo le impostazioni di strumentazione manuale. Questa disposizione impedisce l'invio di dati duplicati. Per altre informazioni, vedere la sezione Risoluzione dei problemi.
Nota
È possibile configurare l'agente collegato automaticamente usando la APPLICATIONINSIGHTS_CONFIGURATION_CONTENT variabile di ambiente nel pannello della variabile ambiente del servizio app. Per informazioni dettagliate sulle opzioni di configurazione che è possibile passare tramite questa variabile di ambiente, vedere Node.js Configurazione.
Application Insights per Node.js è integrato con il servizio app di Azure in Linux, sia basato su codice che con contenitori personalizzati e con il servizio app in Windows per le app basate su codice. L'integrazione è disponibile in anteprima pubblica.
Strumentazione automatica nel portale di Azure
Selezionare Application Insights nel menu di spostamento a sinistra del servizio app e quindi selezionare Abilita.
Creare una nuova risorsa o selezionare una risorsa di Application Insights esistente per questa applicazione.
Nota
Quando si seleziona OK per creare la nuova risorsa, viene richiesto Applica impostazioni di monitoraggio. La selezione di Continua collega la nuova risorsa di Application Insights al servizio app. Il servizio app viene quindi riavviato.
Dopo aver specificato la risorsa da usare, sei pronto per partire.
Live Metrics non è disponibile per le applicazioni Python con strumenti automatici in esecuzione nel servizio app di Azure. Per utilizzare questa funzionalità, instrumentare invece manualmente l'applicazione con la distribuzione OpenTelemetry di Monitoraggio di Azure.
Application Insights per Python si integra con il servizio app di Azure Linux basato su codice. L'integrazione è disponibile in anteprima pubblica e aggiunge Python SDK, disponibile a livello generale. Strumenta le librerie Python più diffuse nel tuo codice, consentendoti di raccogliere e correlare automaticamente dipendenze, log e metriche. Per vedere quali chiamate e metriche vengono raccolte, vedere Librerie Python
La registrazione dei dati di telemetria viene raccolta al livello del logger radice. Per altre informazioni sulla gerarchia di registrazione nativa di Python, vedere la documentazione sulla registrazione di Python.
Prerequisiti
Python versione 3.11 o precedente.
Il servizio app deve essere distribuito come codice. I contenitori personalizzati non sono supportati.
Strumentazione automatica nel portale di Azure
Selezionare Application Insights nel menu di spostamento a sinistra del servizio app e quindi selezionare Abilita.
Creare una nuova risorsa o selezionare una risorsa di Application Insights esistente per questa applicazione.
Nota
Quando si seleziona OK per creare la nuova risorsa, viene richiesto Applica impostazioni di monitoraggio. La selezione di Continua collega la nuova risorsa di Application Insights al servizio app. Il servizio app viene quindi riavviato.
Specificare la risorsa ed è pronta per l'uso.
Librerie Python
Dopo la strumentazione, si raccolgono chiamate e metriche da queste librerie Python:
Per usare la strumentazione Django OpenTelemetry, è necessario impostare la DJANGO_SETTINGS_MODULE variabile di ambiente nelle impostazioni di servizio app per puntare dalla cartella dell'app al modulo delle impostazioni.
Aggiungi una libreria di strumentazione comunitaria
È possibile raccogliere più dati automaticamente quando si includono librerie di strumentazione della community OpenTelemetry.
Attenzione
Non supportiamo né garantiamo la qualità delle librerie di strumentazione della community. Per suggerirne uno per una distribuzione, pubblicare o votare a favore utilizzando i commenti e suggerimenti della community. Tenere presente che alcune si basano sulle specifiche sperimentali OpenTelemetry e potrebbero introdurre cambiamenti significativi in futuro.
Per aggiungere la libreria di strumentazione OpenTelemetry della community, installarla tramite il file dell'app requirements.txt. La strumentazione automatica di OpenTelemetry preleva automaticamente e strumenta tutte le librerie installate. Trova l'elenco delle biblioteche della comunità qui.
Aggiornare manualmente l'estensione/agente di monitoraggio
Eseguire l'aggiornamento dalle versioni 2.8.9 e successive
L'aggiornamento dalla versione 2.8.9 viene eseguito automaticamente, senza azioni aggiuntive. I nuovi bit di monitoraggio vengono recapitati in background al servizio app di destinazione e verranno ritirati al riavvio dell'applicazione.
Per verificare qual è la versione dell'estensione in esecuzione, passare a https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Eseguire l'aggiornamento dalle versioni 1.0.0 - 2.6.5
A partire dalla versione 2.8.9, viene usata l'estensione del sito preinstallata. Se si usa una versione precedente, è possibile eseguire l'aggiornamento tramite uno dei due modi seguenti:
Eseguire l'aggiornamento abilitando tramite il portale di Azure: anche se è installata l'estensione Application Insights per servizio app, l'interfaccia utente visualizza solo il pulsante Abilita. Dietro le quinte, viene rimossa l'estensione del vecchio sito privato.
Impostare le impostazioni dell'applicazione per abilitare l'estensione del sito preinstallata ApplicationInsightsAgent. Per altre informazioni, vedere Abilitare tramite PowerShell.
Rimuovere manualmente l'estensione del sito privato denominata Application Insights per Azure App Service.
Se l'aggiornamento viene eseguito da una versione precedente alla 2.5.1, verificare che le ApplicationInsights DLL vengano rimosse dalla cartella bin dell'applicazione. Per ulteriori informazioni, vedere Risoluzione dei problemi.
Eseguire l'aggiornamento dalle versioni 2.8.9 e successive
L'aggiornamento dalla versione 2.8.9 viene eseguito automaticamente, senza azioni aggiuntive. I nuovi bit di monitoraggio vengono recapitati in background al servizio app di destinazione e verranno ritirati al riavvio dell'applicazione.
Per verificare qual è la versione dell'estensione in esecuzione, passare a https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Eseguire l'aggiornamento dalle versioni 1.0.0 - 2.6.5
A partire dalla versione 2.8.9, viene usata l'estensione del sito preinstallata. Se si usa una versione precedente, è possibile eseguire l'aggiornamento tramite uno dei due modi seguenti:
Eseguire l'aggiornamento abilitando tramite il portale di Azure: anche se è installata l'estensione Application Insights per servizio app, l'interfaccia utente visualizza solo il pulsante Abilita. Dietro le quinte, viene rimossa l'estensione del vecchio sito privato.
Impostare le impostazioni dell'applicazione per abilitare l'estensione del sito preinstallata ApplicationInsightsAgent. Per altre informazioni, vedere Abilitare tramite PowerShell.
Rimuovere manualmente l'estensione del sito privato denominata Application Insights per Azure App Service.
Se l'aggiornamento viene eseguito da una versione precedente alla 2.5.1, verificare che le ApplicationInsights DLL vengano rimosse dalla cartella bin dell'applicazione. Per ulteriori informazioni, vedere Risoluzione dei problemi.
La versione java di Application Insights viene aggiornata automaticamente come parte degli aggiornamenti servizio app. Se si verifica un problema risolto nella versione più recente dell'agente Java di Application Insights, è possibile aggiornarlo manualmente.
Caricare il file JAR dell'agente Java nel servizio App.
a) Per prima cosa, ottenere la versione più recente dell'interfaccia della riga di comando di Azure seguendo le istruzioni riportate qui.
b. Ottenere quindi la versione più recente dell'agente Java di Application Insights seguendo le istruzioni riportate qui.
c. Distribuire quindi il file JAR dell'agente Java nel servizio app usando il comando seguente: az webapp deploy --src-path applicationinsights-agent-{VERSION_NUMBER}.jar --target-path java/applicationinsights-agent-{VERSION_NUMBER}.jar --type static --resource-group {YOUR_RESOURCE_GROUP} --name {YOUR_APP_SVC_NAME}. In alternativa, è possibile usare questa guida per distribuire l'agente tramite il plug-in Maven.
Disabilitare Application Insights tramite la scheda Application Insights nel portale di Azure.
Dopo aver caricato il file JAR dell'agente, passare a Configurazioni del servizio app. Se è necessario usare Startup Command per Linux, includere gli argomenti JVM:
Il comando di avvio non rispetta JAVA_OPTS per JavaSE o CATALINA_OPTS per Tomcat.
Se non si usa il Comando di avvio, creare una nuova variabile di ambiente,JAVA_OPTS per JavaSE o CATALINA_OPTS per Tomcat, con il valore -javaagent:{PATH_TO_THE_AGENT_JAR}/applicationinsights-agent-{VERSION_NUMBER}.jar.
Per applicare le modifiche, riavviare l'app.
Nota
Se si impostano le variabili di ambiente JAVA_OPTS per JavaSE o CATALINA_OPTS per Tomcat, è necessario disabilitare Application Insights nel portale di Azure. In alternativa, se si preferisce abilitare Application Insights dal portale di Azure, assicurarsi di non impostare la variabile JAVA_OPTS per JavaSE o CATALINA_OPTS per Tomcat nelle impostazioni di configurazione di App Service.
La versione Node.js di Application Insights viene aggiornata automaticamente come parte degli aggiornamenti servizio app e non può essere aggiornata manualmente.
La versione di Python di Application Insights viene aggiornata automaticamente come parte degli aggiornamenti servizio app e non può essere aggiornata manualmente.
Attualmente non sono disponibili opzioni per configurare l'estensione di monitoraggio per ASP.NET Core.
Per configurare il campionamento, che in precedenza era possibile controllare tramite il file applicationinsights.config, è ora possibile interagire con esso tramite le impostazioni dell'applicazione con il prefisso MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor corrispondente.
Ad esempio, per modificare la percentuale di campionamento iniziale, è possibile creare un'impostazione dell'applicazione di MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage e un valore di 100.
Per disabilitare il campionamento, impostare su MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MinSamplingPercentage un valore di 100.
Per l'elenco delle impostazioni e delle definizioni del processore di telemetria di campionamento adattivo supportate, vedere la documentazione sul codice e sul campionamento.
Dopo aver specificato la risorsa da usare, è possibile configurare l'agente Java. Se non si configura l'agente Java, si applicano le configurazioni predefinite.
È disponibile il set completo di configurazioni . È sufficiente incollare un file JSON valido.
Escludere la stringa di connessione e tutte le configurazioni in anteprima: è possibile aggiungere gli elementi attualmente in anteprima non appena diventano disponibili a livello generale.
Dopo aver modificato le configurazioni tramite il portale di Azure, APPLICATIONINSIGHTS_CONFIGURATION_FILE la variabile di ambiente viene popolata automaticamente e visualizzata nel pannello delle impostazioni servizio app. Questa variabile contiene il contenuto JSON completo incollato nella casella di testo di configurazione portale di Azure per l'app Java.
L'agente Node.js può essere configurato tramite JSON. Impostare la variabile di ambiente APPLICATIONINSIGHTS_CONFIGURATION_CONTENT sulla stringa JSON o impostare la variabile di ambiente APPLICATIONINSIGHTS_CONFIGURATION_FILE sul percorso del file contenente il codice JSON.
Se impostato su None, disabilita la raccolta e l'esportazione dei dati di telemetria di registrazione.
OTEL_METRICS_EXPORTER
Se impostato su None, disabilita la raccolta e l'esportazione dei dati di telemetria delle metriche.
OTEL_TRACES_EXPORTER
Se impostato su None, disabilita la raccolta e l'esportazione dei dati di telemetria di traccia distribuiti.
OTEL_BLRP_SCHEDULE_DELAY
Specifica l'intervallo di esportazione della registrazione in millisecondi. Il valore predefinito è 5000.
OTEL_BSP_SCHEDULE_DELAY
Specifica l'intervallo di esportazione della traccia distribuita in millisecondi. Il valore predefinito è 5000.
OTEL_TRACES_SAMPLER_ARG
Specifica il rapporto tra i dati di telemetria di traccia distribuiti da campionare. I valori accettati sono compresi tra 0 e 1. Il valore predefinito è 1.0, ovvero non viene campionata alcuna telemetria.
OTEL_PYTHON_DISABLED_INSTRUMENTATIONS
Specifica quali strumentazioni OpenTelemetry da disabilitare. Se disabilitata, le strumentazioni non vengono eseguite come parte della strumentazione automatica. Accetta un elenco di nomi di librerie in minuscolo, separato da virgole. Ad esempio, impostarlo su "psycopg2,fastapi" per disabilitare le strumentazioni Psycopg2 e FastAPI. L'impostazione predefinita è un elenco vuoto, abilitando tutte le strumentazioni supportate.
Il monitoraggio lato client è abilitato per impostazione predefinita per le app ASP.NET Core con raccolta Consigliata, indipendentemente dal fatto che sia presente l'impostazione dell'app APPINSIGHTS_JAVASCRIPT_ENABLED.
Se si vuole disabilitare il monitoraggio lato client:
Selezionare Impostazioni>Configurazione.
In Impostazioni applicazione creare un'impostazione Nuova applicazione con le informazioni seguenti:
Nome: APPINSIGHTS_JAVASCRIPT_ENABLED
Valore: false
Fare clic su Save (Salva) per salvare le impostazioni. Riavviare l'app.
Il monitoraggio lato client è un'opzione opzionale per ASP.NET. Per abilitare il monitoraggio lato client:
Selezionare Impostazioni>Configurazione.
In Impostazioni applicazionecreare una nuova impostazione dell'applicazione:
Nome: immettere APPINSIGHTS_JAVASCRIPT_ENABLED.
Valore: immettere true.
Salvare le impostazioni e riavviare l'app.
Per disabilitare il monitoraggio lato client, rimuovere la coppia di valori chiave associata dalle impostazioni dell'applicazione o impostare il valore su false.
Per abilitare il monitoraggio lato client, l'agente Java può inserire il Browser SDK Loader (Anteprima) nelle pagine HTML dell'applicazione, inclusa la configurazione della stringa di connessione appropriata.
Estensione principale, che controlla il monitoraggio del runtime.
~2 per Windows o ~3 per Linux
XDT_MicrosoftApplicationInsights_Mode
Per garantire prestazioni ottimali, in modalità predefinita sono abilitate solo le funzionalità essenziali.
disabled o recommended.
XDT_MicrosoftApplicationInsights_PreemptSdk
Solo per le app ASP.NET Core. Abilita Interop (interoperabilità) con Application Insights SDK. Carica l'estensione side-by-side con l'SDK e la usa per inviare i dati di telemetria (Disabilita l'SDK di Application Insights.)
1
Definizioni delle impostazioni dell'applicazione
Nome dell'impostazione dell'app
Definizione
Valore
ApplicationInsightsAgent_EXTENSION_VERSION
Estensione principale, che controlla il monitoraggio del runtime.
~2
XDT_MicrosoftApplicationInsights_Mode
Per garantire prestazioni ottimali, in modalità predefinita sono abilitate solo le funzionalità essenziali.
default oppure recommended
InstrumentationEngine_EXTENSION_VERSION
Controlla se il motore InstrumentationEngine di riscrittura binaria è attivato. Questa impostazione ha implicazioni sulle prestazioni e influisce sul tempo di avvio/avvio a freddo.
~1
XDT_MicrosoftApplicationInsights_BaseExtensions
Controlla se il testo delle tabelle SQL e Azure viene acquisito insieme alle chiamate di dipendenza. Avviso sulle prestazioni: il tempo di avvio a freddo dell'applicazione è interessato. Questa impostazione richiede InstrumentationEngine.
~1
Definizioni delle impostazioni dell'applicazione
Nome dell'impostazione dell'app
Definizione
Valore
ApplicationInsightsAgent_EXTENSION_VERSION
Estensione principale, che controlla il monitoraggio del runtime.
~2 su Windows o ~3 su Linux.
XDT_MicrosoftApplicationInsights_Java
Flag per controllare se è incluso l'agente Java.
0 o 1 (applicabile solo in Windows).
Nota
Snapshot Debugger non è disponibile per le applicazioni Java.
Definizioni delle impostazioni dell'applicazione
Nome dell'impostazione dell'app
Definizione
Valore
ApplicationInsightsAgent_EXTENSION_VERSION
Estensione principale, che controlla il monitoraggio del runtime.
~2 su Windows o ~3 su Linux.
XDT_MicrosoftApplicationInsights_NodeJS
Indicatore per controllare se l’agente Node.js è incluso.
0 o 1 (applicabile solo in Windows).
Nota
Snapshot Debugger non è disponibile per le applicazioni Node.js.
Definizioni delle impostazioni dell'applicazione
Nome dell'impostazione dell'app
Definizione
Valore
APPLICATIONINSIGHTS_CONNECTION_STRING
Stringa di connessioni per la risorsa di Application Insights.
Esempio: abcd1234-ab12-cd34-abcd1234abcd
ApplicationInsightsAgent_EXTENSION_VERSION
Estensione principale, che controlla il monitoraggio del runtime.
~3
Nota
Snapshot Debugger non è disponibile per le applicazioni Python.
Impostazioni dell'applicazione del servizio App con Azure Resource Manager
Le impostazioni dell'applicazione per il servizio app di Azure possono essere gestite e configurate con i modelli di Azure Resource Manager. È possibile usare questo metodo quando si distribuiscono nuove risorse del servizio app con l'automazione di Resource Manager o si modificano le impostazioni delle risorse esistenti.
Struttura di base delle impostazioni dell'applicazione JSON per una risorsa del servizio app:
Automatizzare la creazione di una risorsa di Application Insights e il collegamento alla risorsa del Servizio App appena creata
Per creare un modello di Resource Manager con le impostazioni predefinite di Application Insights, iniziare il processo come se si intendesse creare una nuova app Web con Application Insights abilitato.
Nel portale di Azure creare una nuova risorsa app Web con le informazioni desiderate.
Abilitare Application Insights nella scheda Monitoraggio e protezione .
Passare a Rivedi e crea e quindi selezionare Scarica un modello per l'automazione. Questa opzione genera il modello di Resource Manager più recente con tutte le impostazioni necessarie configurate.
Nota
Il modello di esempio seguente è destinato a un'applicazione .NET 8 (LTS) in esecuzione in Windows. Usa i segnaposto my-monitored-web-app per il nome dell'applicazione e aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e per l'ID sottoscrizione.
Non è consigliabile copiarlo e usarlo direttamente. Generare invece un modello personalizzato in base alle istruzioni precedenti.
Per abilitare il monitoraggio delle applicazioni tramite PowerShell, è necessario modificare solo le impostazioni dell'applicazione sottostanti. L'esempio seguente abilita il monitoraggio delle applicazioni per un sito Web denominato my-monitored-web-app nel gruppo di risorse my-resource-group. Configura i dati da inviare alla stringa di InstrumentationKey=012345678-abcd-ef01-2345-6789abcd connessione.
Quando si crea un'app Web con i runtime ASP.NET Core nel servizio app, come sito Web iniziale viene distribuita una singola pagina HTML statica.
Non è consigliabile risolvere un problema con il modello predefinito. Eseguire il deployment di un'applicazione prima di risolvere un problema.
Dati di telemetria mancanti
Windows
Verificare che l'impostazione dell'app ApplicationInsightsAgent_EXTENSION_VERSION sia impostata su un valore di ~2.
Passare a https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Verificare che lo stato dell'estensione di Application Insights sia Pre-Installed Site Extension, version 2.8.x.xxxx, is running.
Verificare che l'origine dello stato esista e abbia un aspetto simile a Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.json.
Se non è presente un valore simile, significa che l'applicazione non è attualmente in esecuzione o non è supportata. Per assicurarsi che l'applicazione sia in esecuzione, provare a visitare manualmente l'URL dell'applicazione/gli endpoint dell'applicazione, che consente di rendere disponibili le informazioni di runtime.
Verificare che IKeyExists sia True. Se è False, aggiungere APPINSIGHTS_INSTRUMENTATIONKEY e APPLICATIONINSIGHTS_CONNECTION_STRING con il GUID ikey alle impostazioni dell'applicazione.
Se l'applicazione fa riferimento a qualsiasi pacchetto di Application Insights, l'abilitazione dell'integrazione servizio app potrebbe non essere effettiva e i dati potrebbero non essere visualizzati in Application Insights. Un esempio sarebbe se in precedenza hai integrato o hai tentato di integrare l'app con ASP.NET Core SDK. Per risolvere il problema, nella portale di Azure attivare Interoperabilità con Application Insights SDK.
Importante
Questa funzionalità è in anteprima.
I dati vengono inviati utilizzando un approccio senza codice, anche se il SDK di Application Insights era stato originariamente utilizzato o si era tentato di utilizzarlo.
Importante
Se l'applicazione usa Application Insights SDK per inviare dati di telemetria, questi saranno disabilitati. In altre parole, i dati di telemetria personalizzati (ad esempio, qualsiasi metodo Track*()) e le impostazioni personalizzate (ad esempio il campionamento) verranno disabilitate.
Linux
Verificare che l'impostazione dell'app ApplicationInsightsAgent_EXTENSION_VERSION sia impostata su un valore di ~3.
Passare a https://your site name.scm.azurewebsites.net/ApplicationInsights.
All'interno del sito confermare:
La fonte dello stato esiste e appare come Status source /var/log/applicationinsights/status_abcde1234567_89_0.json.
Viene visualizzato il valore Auto-Instrumentation enabled successfully. Se non è presente un valore simile, significa che l'applicazione non è in esecuzione o non è supportata. Per assicurarsi che l'applicazione sia in esecuzione, provare a visitare manualmente l'URL dell'applicazione/gli endpoint dell'applicazione, che consente di rendere disponibili le informazioni di runtime.
IKeyExists è True. Se è False, aggiungere APPINSIGHTS_INSTRUMENTATIONKEY e APPLICATIONINSIGHTS_CONNECTION_STRING con il GUID ikey alle impostazioni dell'applicazione.
Il sito Web predefinito distribuito con le app Web non supporta il monitoraggio lato client automatico
Quando si crea un'app Web con i runtime di ASP.NET Core nel servizio app, viene distribuita una singola pagina HTML statica come sito Web iniziale. La pagina Web statica carica anche una web part gestita da ASP.NET in IIS. Questo comportamento consente di testare il monitoraggio lato server senza codice, ma non supporta il monitoraggio lato client automatico.
Se vuoi testare il monitoraggio lato server e lato client senza codice per ASP.NET Core in un'app web di App Service, consigliamo di seguire le guide ufficiali per creare un'app web ASP.NET Core. Successivamente, usare le istruzioni nell'articolo corrente per abilitare il monitoraggio.
PHP e WordPress non sono supportati
I siti PHP e WordPress non sono supportati. Attualmente non è disponibile alcun SDK/agente supportato ufficialmente per il monitoraggio lato server di questi carichi di lavoro. Per tenere traccia delle transazioni lato client in un sito PHP o WordPress, aggiungere javaScript sul lato client alle pagine Web usando JavaScript SDK.
La tabella seguente fornisce una spiegazione del significato di questi valori, delle cause sottostanti e delle correzioni consigliate.
Valore del problema
Spiegazione
Correzione
AppAlreadyInstrumented:true
Questo valore indica che l'estensione ha rilevato un aspetto dell'SDK già presente nell'applicazione e fa un passo indietro. Un riferimento a Microsoft.ApplicationInsights.AspNetCore o Microsoft.ApplicationInsights può causare questo valore.
Rimuovere i riferimenti. Alcuni di questi riferimenti vengono aggiunti per impostazione predefinita da determinati modelli di Visual Studio. Le versioni precedenti di Visual Studio fanno riferimento a Microsoft.ApplicationInsights.
AppAlreadyInstrumented:true
Anche la presenza di Microsoft.ApplicationsInsights DLL nella cartella dell'app da una distribuzione precedente può causare questo valore.
Pulire la cartella dell'app per assicurarsi che queste DLL vengano rimosse. Controllare sia la directory bin dell'app locale che la directory wwwroot nel servizio app. (Per controllare la directory wwwroot dell'app web di App Service, selezionare Strumenti avanzati (Kudu) >Console di debug>CMD>home\site\wwwroot).
IKeyExists:false
Questo valore indica che la chiave di strumentazione non è presente nell'impostazione dell'app APPINSIGHTS_INSTRUMENTATIONKEY. Le possibili cause includono la rimozione accidentale dei valori o l'aver dimenticato di impostare i valori nello script di automazione.
Assicurarsi che l'impostazione sia presente nelle impostazioni per l'applicazione del servizio app.
Nota
Quando si crea un'app Web con i runtime ASP.NET nel servizio app, come sito Web iniziale viene distribuita una singola pagina HTML statica.
Non è consigliabile risolvere un problema con un modello predefinito. Eseguire il deployment di un'applicazione prima di risolvere un problema.
Dati di telemetria mancanti
Verificare che l'impostazione dell'app ApplicationInsightsAgent_EXTENSION_VERSION sia impostata su un valore di ~2.
Passare a https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Verificare che Application Insights Extension Status sia Pre-Installed Site Extension, version 2.8.x.xxxx e sia in esecuzione.
Verificare che l'origine dello stato esista e abbia un aspetto simile a Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.json.
Se non è presente un valore simile, significa che l'applicazione non è attualmente in esecuzione o non è supportata. Per assicurarsi che l'applicazione sia in esecuzione, provare a visitare manualmente l'URL dell'applicazione/gli endpoint dell'applicazione, che consente di rendere disponibili le informazioni di runtime.
Verificare che IKeyExists sia true.
In caso contrario, aggiungere APPINSIGHTS_INSTRUMENTATIONKEY e APPLICATIONINSIGHTS_CONNECTION_STRING con il GUID della chiave di strumentazione alle impostazioni dell'applicazione.
Verificare che non siano presenti voci per AppAlreadyInstrumented, AppContainsDiagnosticSourceAssembly e AppContainsAspNetTelemetryCorrelationAssembly.
Se una di queste voci esiste, rimuovere i pacchetti seguenti dall'applicazione: Microsoft.ApplicationInsights, System.Diagnostics.DiagnosticSource e Microsoft.AspNet.TelemetryCorrelation.
Il sito Web predefinito distribuito con le app Web non supporta il monitoraggio lato client automatico
Quando si crea un'app Web con i runtime di ASP.NET in servizio app, viene distribuita una singola pagina HTML statica come sito Web iniziale. La pagina Web statica carica anche una web part gestita da ASP.NET in IIS. Questa pagina consente di testare il monitoraggio lato server senza codice, ma non supporta il monitoraggio lato client automatico.
Per testare il server senza codice e il monitoraggio lato client per ASP.NET in un'app Web del servizio app, è consigliabile seguire le guide ufficiali per la creazione di un'app Web di ASP.NET Framework. Successivamente, usare le istruzioni nell'articolo corrente per abilitare il monitoraggio.
APPINSIGHTS_JAVASCRIPT_ENABLED e urlCompression non supportati
Se si usa APPINSIGHTS_JAVASCRIPT_ENABLED=true nei casi in cui viene codificato il contenuto, è possibile che vengano visualizzati errori come:
Errore di riscrittura URL 500.
Errore del modulo di riscrittura URL 500.53 con il messaggio "Non è possibile applicare le regole di riscrittura in uscita quando il contenuto della risposta HTTP è codificato ('gzip')."
Si verifica un errore perché l'impostazione dell'applicazione APPINSIGHTS_JAVASCRIPT_ENABLED è impostata su true e la codifica del contenuto è presente contemporaneamente. Questo scenario non è ancora supportato. La soluzione alternativa consiste nel rimuovere APPINSIGHTS_JAVASCRIPT_ENABLED dalle impostazioni dell'applicazione. Sfortunatamente, se la strumentazione JavaScript sul lato client/browser è ancora necessaria, per le pagine Web sono necessari riferimenti manuali all'SDK. Seguire le istruzioni per la strumentazione manuale con JavaScript SDK.
Per le informazioni più recenti sull'agente/estensione di Application Insights, vedere le note sulla versione.
PHP e WordPress non sono supportati
I siti PHP e WordPress non sono supportati. Attualmente non è disponibile alcun SDK/agente supportato ufficialmente per il monitoraggio lato server di questi carichi di lavoro. Per tenere traccia delle transazioni lato client in un sito PHP o WordPress, aggiungere javaScript sul lato client alle pagine Web usando JavaScript SDK.
La tabella seguente fornisce una spiegazione del significato di questi valori, delle cause sottostanti e delle correzioni consigliate.
Valore del problema
Spiegazione
Correzione
AppAlreadyInstrumented:true
Questo valore indica che l'estensione ha rilevato un aspetto dell'SDK già presente nell'applicazione e fa un passo indietro. Un riferimento a System.Diagnostics.DiagnosticSource, Microsoft.AspNet.TelemetryCorrelationo Microsoft.ApplicationInsights può causare questo valore.
Rimuovere i riferimenti. Alcuni di questi riferimenti vengono aggiunti per impostazione predefinita da determinati modelli di Visual Studio. Le versioni precedenti di Visual Studio potrebbero aggiungere riferimenti a Microsoft.ApplicationInsights.
AppAlreadyInstrumented:true
Anche la presenza delle DLL precedenti nella cartella dell'app da una distribuzione precedente può causare questo valore.
Pulire la cartella dell'app per assicurarsi che queste DLL vengano rimosse. Controllare sia la directory bin dell'app locale che la directory wwwroot nella risorsa del servizio app. Per controllare la directory wwwroot dell'app Web del servizio app, selezionare Strumenti avanzati (Kudu)>Console di debug>CMD>home\site\wwwroot.
Questo valore indica che l'estensione ha rilevato riferimenti a Microsoft.AspNet.TelemetryCorrelation nell'applicazione e si ritira.
Rimuovere il riferimento.
AppContainsDiagnosticSourceAssembly**:true
Questo valore indica che l'estensione ha rilevato riferimenti a System.Diagnostics.DiagnosticSource nell'applicazione e si ritira.
Per ASP.NET rimuovere il riferimento.
IKeyExists:false
Questo valore indica che la chiave di strumentazione non è presente nell'impostazione dell'app APPINSIGHTS_INSTRUMENTATIONKEY. Le possibili cause potrebbero essere che i valori sono stati rimossi accidentalmente oppure si è dimenticato di impostare i valori nello script di automazione.
Assicurarsi che l'impostazione sia presente nelle impostazioni per l'applicazione del servizio app.
System.IO.FileNotFoundException dopo l'aggiornamento della versione 2.8.44
La versione 2.8.44 di strumentazione automatica aggiorna Application Insights SDK alla versione 2.20.0. Application Insights SDK ha un riferimento indiretto a System.Runtime.CompilerServices.Unsafe.dll tramite System.Diagnostics.DiagnosticSource.dll. Se l'applicazione prevede il reindirizzamento dell'associazione per System.Runtime.CompilerServices.Unsafe.dll e se questa libreria non è presente nella cartella dell'applicazione, potrebbe generare System.IO.FileNotFoundException.
Per risolvere questo problema, rimuovere la voce di reindirizzamento dell'associazione per System.Runtime.CompilerServices.Unsafe.dll dal file web.config. Se l'applicazione voleva usare System.Runtime.CompilerServices.Unsafe.dll, impostare il reindirizzamento dell'associazione come illustrato di seguito:
Come soluzione alternativa temporanea, è possibile impostare l'impostazione dell'app ApplicationInsightsAgent_EXTENSION_VERSION su un valore di 2.8.37. L'impostazione attiva l'App Service per utilizzare l'estensione precedente di Application Insights. Le mitigazioni temporanee devono essere usate solo come provvisorio.
Dati di telemetria mancanti
Verificare che ApplicationInsightsAgent_EXTENSION_VERSION l'impostazione dell'app sia impostata su un valore di ~2 in Windows, ~3 in Linux
Esaminare il file di log per verificare che l'agente sia stato avviato correttamente: passare a https://yoursitename.scm.azurewebsites.net/, in SSH passare alla directory radice, il file di log si trova in LogFiles/ApplicationInsights.
Dopo aver abilitato il monitoraggio delle applicazioni per l'app Java, è possibile verificare che l'agente funzioni esaminando le metriche attive; anche prima di distribuire l’app nel servizio app verranno visualizzate alcune richieste dall'ambiente. Tenere presente che il set completo di dati di telemetria è disponibile solo quando l'app è stata distribuita ed eseguita.
Impostare la APPLICATIONINSIGHTS_SELF_DIAGNOSTICS_LEVEL variabile di ambiente su debug se non vengono visualizzati errori e non sono presenti dati di telemetria.
Dati di telemetria mancanti
Windows
Verificare che l'impostazione dell'app ApplicationInsightsAgent_EXTENSION_VERSION sia impostata su ~2.
Passare a https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Verificare che Application Insights Extension Status sia Pre-Installed Site Extension, version 2.8.x.xxxx, is running.
L'uso della strumentazione automatica sopra la strumentazione manuale potrebbe causare dati di telemetria duplicati e aumentare il costo. Per usare l'autostrumentazione di OpenTelemetry di App Service, rimuovere prima di tutto la strumentazione manuale di OpenTelemetry dal codice.
Se vengono visualizzati addebiti imprevisti o costi elevati in Application Insights, questa guida può essere utile. Vengono illustrate le cause comuni, ad esempio volumi di telemetria elevati, picchi di inserimento dati e campionamento non configurato correttamente. È particolarmente utile se si stanno risolvendo problemi relativi a picchi di costo, volume di telemetria, campionamento non funzionante, limiti di dati, inserimento elevato o fatturazione imprevista. Per iniziare, vedere Risolvere i problemi relativi all'inserimento dati elevato in Application Insights.
Dati di telemetria mancanti
Se mancano i dati di telemetria, seguire questa procedura per verificare che la strumentazione automatica sia abilitata correttamente.
Verificare che la strumentazione automatica sia abilitata nell'esperienza di Application Insights nella risorsa del servizio app.
Verificare che l'impostazione dell'app ApplicationInsightsAgent_EXTENSION_VERSION sia impostata su un valore di ~3 e che APPLICATIONINSIGHTS_CONNECTION_STRING punti alla risorsa di Application Insights appropriata.
Controllare la diagnostica di autoinstrumentazione e i registri di stato.
a) Passare a /var/log/applicationinsights/ e aprire status_*.json.
b. Verificare che AgentInitializedSuccessfully sia impostato su true e che IKey abbia una chiave iKey valida.
Il file applicationinsights-extension.log nella stessa cartella può mostrare altre diagnostiche utili.
App di Django
Se l'app usa Django e non viene avviata o usa impostazioni non corrette, assicurarsi di impostare la variabile di ambiente DJANGO_SETTINGS_MODULE. Per informazioni dettagliate, vedere la sezione strumentazione Django.
In questo modulo si apprenderà come usare Application Insights per monitorare le prestazioni dell'applicazione e come usare Azure ASQL Insights per migliorare le prestazioni delle applicazioni di database SQL di Azure.
Progettare soluzioni end-to-end in Microsoft Azure per creare Funzioni di Azure, implementare e gestire app Web, sviluppare soluzioni che usano Archiviazione di Azure e altro ancora.