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.
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à.
Abilitare Application Insights
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 Risolvere i problemi di integrazione di Application Insights con il servizio app di Azure.
Nota
- Sono supportate solo le versioni LTS (Long Term Support) di .NET Core.
- Taglia distribuzioni autonomenon è supportato. Invece utilizzare strumentazione manuale.
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. Le opzioni di raccolta ASP.NET Core sono Consigliate o Disabilitate.
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.
Aggiornare tramite PowerShell:
- 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.
- Impostare le impostazioni dell'applicazione per abilitare l'estensione del sito preinstallata
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 altre informazioni, vedere Risolvere i problemi di integrazione di Application Insights con il servizio app di Azure.
Configurare l'estensione/agente di monitoraggio
Attualmente non sono disponibili opzioni per configurare l'estensione di monitoraggio per ASP.NET Core.
Abilitare il monitoraggio lato client
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
-
Nome:
Fare clic su Save (Salva) per salvare le impostazioni. Riavviare l'app.
Automatizzare il monitoraggio
Per abilitare la raccolta di dati di telemetria con Application Insights, è necessario impostare solo le impostazioni dell'applicazione seguenti:
Definizioni delle impostazioni dell'applicazione
| Nome dell'impostazione dell'app | Definizione | Valore |
|---|---|---|
| ApplicationInsightsAgent_EXTENSION_VERSION | 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 |
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:
"resources": [
{
"name": "appsettings",
"type": "config",
"apiVersion": "2015-08-01",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', variables('webSiteName'))]"
],
"tags": {
"displayName": "Application Insights Settings"
},
"properties": {
"key1": "value1",
"key2": "value2"
}
}
]
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.
Espandere per visualizzare il modello di esempio
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subscriptionId": {
"type": "string"
},
"resourceGroupName": {
"type": "string"
},
"name": {
"type": "string"
},
"location": {
"type": "string"
},
"hostingPlanName": {
"type": "string"
},
"serverFarmResourceGroup": {
"type": "string"
},
"alwaysOn": {
"type": "bool"
},
"ftpsState": {
"type": "string"
},
"autoGeneratedDomainNameLabelScope": {
"type": "string"
},
"sku": {
"type": "string"
},
"skuCode": {
"type": "string"
},
"workerSize": {
"type": "string"
},
"workerSizeId": {
"type": "string"
},
"numberOfWorkers": {
"type": "string"
},
"currentStack": {
"type": "string"
},
"phpVersion": {
"type": "string"
},
"netFrameworkVersion": {
"type": "string"
}
},
"variables": {},
"resources": [
{
"apiVersion": "2022-03-01",
"name": "[parameters('name')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('location')]",
"tags": null,
"dependsOn": [
"microsoft.insights/components/my-monitored-web-app",
"[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]"
],
"properties": {
"name": "[parameters('name')]",
"siteConfig": {
"appSettings": [
{
"name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
"value": "[reference('microsoft.insights/components/my-monitored-web-app', '2015-05-01').ConnectionString]"
},
{
"name": "ApplicationInsightsAgent_EXTENSION_VERSION",
"value": "~2"
},
{
"name": "XDT_MicrosoftApplicationInsights_Mode",
"value": "default"
}
],
"metadata": [
{
"name": "CURRENT_STACK",
"value": "[parameters('currentStack')]"
}
],
"phpVersion": "[parameters('phpVersion')]",
"netFrameworkVersion": "[parameters('netFrameworkVersion')]",
"alwaysOn": "[parameters('alwaysOn')]",
"ftpsState": "[parameters('ftpsState')]"
},
"serverFarmId": "[concat('/subscriptions/', parameters('subscriptionId'),'/resourcegroups/', parameters('serverFarmResourceGroup'), '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
"clientAffinityEnabled": true,
"virtualNetworkSubnetId": null,
"httpsOnly": true,
"publicNetworkAccess": "Enabled",
"autoGeneratedDomainNameLabelScope": "[parameters('autoGeneratedDomainNameLabelScope')]"
},
"resources": [
{
"type": "Microsoft.Web/sites/basicPublishingCredentialsPolicies",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('name'), '/scm')]",
"properties": {
"allow": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', parameters('name'))]"
]
},
{
"type": "Microsoft.Web/sites/basicPublishingCredentialsPolicies",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('name'), '/ftp')]",
"properties": {
"allow": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', parameters('name'))]"
]
}
]
},
{
"apiVersion": "2018-11-01",
"name": "[parameters('hostingPlanName')]",
"type": "Microsoft.Web/serverfarms",
"location": "[parameters('location')]",
"kind": "",
"tags": null,
"dependsOn": [],
"properties": {
"name": "[parameters('hostingPlanName')]",
"workerSize": "[parameters('workerSize')]",
"workerSizeId": "[parameters('workerSizeId')]",
"numberOfWorkers": "[parameters('numberOfWorkers')]",
"zoneRedundant": false
},
"sku": {
"Tier": "[parameters('sku')]",
"Name": "[parameters('skuCode')]"
}
},
{
"apiVersion": "2020-02-02-preview",
"name": "my-monitored-web-app",
"type": "microsoft.insights/components",
"location": "centralus",
"tags": null,
"dependsOn": [
"newWorkspaceTemplate"
],
"properties": {
"ApplicationId": "[parameters('name')]",
"Request_Source": "IbizaWebAppExtensionCreate",
"Flow_Type": "Redfield",
"Application_Type": "web",
"WorkspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DefaultResourceGroup-CUS/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-CUS"
}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2021-04-01",
"name": "newWorkspaceTemplate",
"resourceGroup": "DefaultResourceGroup-CUS",
"subscriptionId": "[parameters('subscriptionId')]",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"apiVersion": "2020-08-01",
"name": "DefaultWorkspace-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-CUS",
"type": "Microsoft.OperationalInsights/workspaces",
"location": "centralus",
"properties": {}
}
]
}
}
}
]
}
Abilitare tramite PowerShell
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.
Nota
È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.
Nota
Per Windows impostare ApplicationInsightsAgent_EXTENSION_VERSION su ~2.
Per Linux impostare ApplicationInsightsAgent_EXTENSION_VERSION su ~3.
$app = Get-AzWebApp -ResourceGroupName "my-resource-group" -Name "my-monitored-web-app" -ErrorAction Stop
$newAppSettings = @{} # Case-insensitive hash map
$app.SiteConfig.AppSettings | %{$newAppSettings[$_.Name] = $_.Value} # Preserve non-Application-Insights application settings.
$newAppSettings["APPLICATIONINSIGHTS_CONNECTION_STRING"] = "InstrumentationKey=aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"; # Set the Application Insights connection string
$newAppSettings["ApplicationInsightsAgent_EXTENSION_VERSION"] = "~3"; # Enable the ApplicationInsightsAgent.
$app = Set-AzWebApp -AppSettings $newAppSettings -ResourceGroupName $app.ResourceGroup -Name $app.Name -ErrorAction Stop
Risoluzione dei problemi
Vedere l'articolo sulla risoluzione dei problemi dedicato.
Passaggi successivi
- Esaminare le domande frequenti (FAQ): Monitoraggio nel servizio app di Azure per applicazioni .NET, Node.js, Python e Java.
- Abilitare .NET Profiler per le app del servizio app Azure nell'app live.
- Abilitare l'invio dei dati di diagnostica di Azure ad Application Insights.
- Monitorare le metriche di integrità del servizio per assicurarsi che il servizio sia disponibile e reattivo.
- Ricevere notifiche di avviso ogni volta che si verificano eventi operativi o le metriche superano una soglia.
- Configurare i test di disponibilità per l'applicazione.