Delen via


Toepassingsbewaking inschakelen in Azure-app Service voor .NET-, Node.js-, Python- en Java-toepassingen

Automatische instrumentatie, ook wel runtimebewaking genoemd, is de eenvoudigste manier om Application Insights in te schakelen voor Azure-app Service zonder dat hiervoor codewijzigingen of geavanceerde configuraties nodig zijn. Evalueer op basis van uw specifieke scenario of u geavanceerdere bewaking nodig hebt via handmatige instrumentatie.

Notitie

Op 31 maart 2025 eindigt de ondersteuning voor opname van instrumentatiesleutels. Opname van instrumentatiesleutels blijft werken, maar we bieden geen updates of ondersteuning meer voor de functie. Overgang naar verbindingsreeksen om te profiteren van nieuwe mogelijkheden.

Application Insights inschakelen

Belangrijk

Als zowel automatische instrumentatiebewaking als handmatige SDK-instrumentatie worden gedetecteerd, worden alleen de handmatige instrumentatie-instellingen gehonoreerd. Deze rangschikking voorkomt dat dubbele gegevens worden verzonden. Zie Problemen met Application Insights-integratie met Azure App Service oplossen voor meer informatie.

Notitie

Automatische instrumentatie in Azure Portal

  1. Selecteer Application Insights in het linkernavigatiemenu van uw app-service en selecteer vervolgens Inschakelen.

     Schermopname van het tabblad Application Insights met Inschakelen geselecteerd.

  2. Maak een nieuwe resource of selecteer een bestaande Application Insights-resource voor deze toepassing.

    Notitie

    Wanneer u OK selecteert om een nieuwe resource te maken, wordt u gevraagd bewakingsinstellingen toe te passen. Als u Continue selecteert, wordt uw nieuwe Application Insights-resource gekoppeld aan uw app-service. Uw app-service wordt vervolgens opnieuw opgestart.

    Schermopname van de vervolgkeuzelijst

  3. Nadat u hebt opgegeven welke resource u wilt gebruiken, kunt u kiezen hoe Application Insights gegevens per platform voor uw toepassing moet verzamelen. ASP.NET Opties voor kernverzameling worden aanbevolen of uitgeschakeld.

     Schermopname van het instrumenteren van uw toepassingssectie.

De bewakingsextensie/agent handmatig upgraden

Upgrade uitvoeren van versie 2.8.9 en hoger

Upgraden van versie 2.8.9 gebeurt automatisch, zonder extra acties. De nieuwe bewakingsbits worden in de achtergrond afgeleverd aan de doel-app-service en worden opgehaald wanneer de toepassing opnieuw wordt gestart.

Als u wilt controleren welke versie van de extensie u gebruikt, gaat u naar https://yoursitename.scm.azurewebsites.net/ApplicationInsights.

Schermopname van het URL-pad om de versie van de extensie te controleren die u uitvoert.

Upgrade uitvoeren van versies 1.0.0 - 2.6.5

Vanaf versie 2.8.9 wordt de vooraf geïnstalleerde site-extensie gebruikt. Als u een eerdere versie gebruikt, kunt u op twee manieren bijwerken:

  • Upgrade uitvoeren via Azure Portal: Zelfs als u de Application Insights-extensie voor App Service hebt geïnstalleerd, wordt in de gebruikersinterface alleen de knop Inschakelen weergegeven. Achter de schermen wordt de oude privésite-extensie verwijderd.

  • Voer een upgrade uit via PowerShell:

    1. Stel de toepassingsinstellingen in om de vooraf geïnstalleerde site-extensie ApplicationInsightsAgentin te schakelen. Zie Inschakelen via PowerShell voor meer informatie.
    2. Verwijder handmatig de persoonlijke site-extensie met de naam Application Insights-extensie voor Azure-app Service.

Als de upgrade wordt uitgevoerd vanaf een versie vóór 2.5.1, controleert u of de ApplicationInsights DLL's uit de bin-map van de applicatie zijn verwijderd. Zie Problemen met Application Insights-integratie met Azure App Service oplossen voor meer informatie.

De bewakingsextensie/agent configureren

We bieden momenteel geen opties voor het configureren van de bewakingsextensie voor ASP.NET Core.

Bewaking aan clientzijde inschakelen

Bewaking aan de clientzijde is standaard ingeschakeld voor ASP.NET Core-apps met aanbevolen verzameling, ongeacht of de app-instelling APPINSIGHTS_JAVASCRIPT_ENABLED aanwezig is.

Als u bewaking aan de clientzijde wilt uitschakelen:

  1. Selecteer Instellingen>Configuratie.

  2. Maak onder Toepassingsinstellingen een nieuwe toepassingsinstelling met de volgende informatie:

    • Naam: APPINSIGHTS_JAVASCRIPT_ENABLED
    • Waarde: false
  3. Sla de instellingen op. Start de app opnieuw.

Bewaking automatiseren

Als u telemetrieverzameling met Application Insights wilt inschakelen, moeten alleen de volgende toepassingsinstellingen worden ingesteld:

Schermopname van App Service-toepassingsinstellingen met Application Insights-instellingen.

Definities van toepassingsinstellingen

Naam van de app-instelling Definitie Waarde
ApplicationInsightsAgent_EXTENSION_VERSION Belangrijkste extensie, waarmee runtime-bewaking wordt gecontroleerd. ~2 voor Windows of ~3 voor Linux
XDT_MicrosoftApplicationInsights_Mode In de standaardmodus zijn alleen essentiële functies ingeschakeld om optimale prestaties te garanderen. disabled of recommended.
XDT_MicrosoftApplicationInsights_PreemptSdk Alleen voor ASP.NET Core-apps. Hiermee wordt interoperabiliteit ingeschakeld met de Application Insights SDK. Laadt de extensie naast de SDK en gebruikt deze om telemetrie te verzenden. (Hiermee schakelt u de Application Insights SDK uit.) 1

App Service-toepassingsinstellingen met Azure Resource Manager

Toepassingsinstellingen voor Azure-app Service kunnen worden beheerd en geconfigureerd met Azure Resource Manager-sjablonen. U kunt deze methode gebruiken wanneer u nieuwe App Service-resources implementeert met Resource Manager-automatisering of de instellingen van bestaande resources wijzigt.

De basisstructuur van de JSON voor toepassingsinstellingen voor een App Service-resource:

      "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"
          }
        }
      ]

Als u een Resource Manager-sjabloon wilt maken met de standaardinstellingen voor Application Insights, begint u het proces alsof u een nieuwe web-app wilt maken waarvoor Application Insights is ingeschakeld.

  1. Maak in Azure Portal een nieuwe web-app-resource met de gewenste informatie. Schakel Application Insights in op het tabblad Bewaken en beveiligen .

  2. Ga naar Beoordelen en maken en selecteer vervolgens Een sjabloon voor automatisering downloaden. Met deze optie wordt de meest recente Resource Manager-sjabloon gegenereerd met alle vereiste instellingen geconfigureerd.

    Schermopname van het menu Voor het maken van een App Service-web-app.

Notitie

De volgende voorbeeldsjabloon is bedoeld voor een .NET 8-toepassing (LTS) die wordt uitgevoerd in Windows. Het gebruikt de placeholders my-monitored-web-app voor de naam van de toepassing en aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e voor de abonnements-ID.

Het is niet raadzaam om deze rechtstreeks te kopiëren en te gebruiken. Genereer in plaats daarvan uw eigen sjabloon op basis van de bovenstaande instructies.


Uitvouwen om voorbeeldsjabloon weer te geven
{
    "$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": {}
                        }
                    ]
                }
            }
        }
    ]
}

Inschakelen via PowerShell

Als u de toepassingscontrole via PowerShell wilt inschakelen, moeten alleen de onderliggende toepassingsinstellingen worden gewijzigd. In het volgende voorbeeld wordt toepassingsbewaking ingeschakeld voor een website die in de resourcegroep my-monitored-web-appwordt aangeroepenmy-resource-group. Hiermee configureert u gegevens die naar de InstrumentationKey=012345678-abcd-ef01-2345-6789abcd verbindingsreeks moeten worden verzonden.

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Notitie

Voor Windows stelt u ApplicationInsightsAgent_EXTENSION_VERSION in op ~2.

Voor Linux stelt u ApplicationInsightsAgent_EXTENSION_VERSION in op ~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

Probleemoplossing

Zie het speciale artikel over probleemoplossing.

Volgende stappen