Dela via


Aktivera programövervakning i Azure App Service för .NET-, Node.js-, Python- och Java-program

Automatisk instrumentering, även kallat körningsövervakning , är det enklaste sättet att aktivera Application Insights för Azure App Service utan att kräva några kodändringar eller avancerade konfigurationer. Baserat på ditt specifika scenario utvärderar du om du behöver mer avancerad övervakning via manuell instrumentering.

Anteckning

Stödet för inmatning av instrumentationsnycklar upphör den 31 mars 2025. Inmatningen av instrumenteringsnyckeln fortsätter att fungera, men vi kommer inte längre att tillhandahålla uppdateringar eller stöd för funktionen. Övergå till anslutningssträngar för att dra nytta av nya funktioner.

Aktivera Application Insights

Viktigt!

Om både autoinstrumentationsövervakning och manuell SDK-baserad instrumentation upptäcks, kommer endast inställningarna för manuell instrumentation att följas. Det här arrangemanget förhindrar att dubbletter av data skickas. Mer information finns i Felsöka Application Insights-integrering med Azure App Service.

Anteckning

Automatisk instrumentering i Azure-portalen

  1. Välj Application Insights i den vänstra navigeringsmenyn i apptjänsten och välj sedan Aktivera.

     Skärmbild som visar fliken Application Insights med Aktivera markerad.

  2. Skapa en ny resurs eller välj en befintlig Application Insights-resurs för det här programmet.

    Anteckning

    När du väljer OK för att skapa en ny resurs uppmanas du att använda övervakningsinställningar. Om du väljer Fortsätt länkar du din nya Application Insights-resurs till din apptjänst. Apptjänsten startas sedan om.

    Skärmbild som visar listrutan Ändra resurs.

  3. När du har angett vilken resurs som ska användas kan du välja hur du vill att Application Insights ska samla in data per plattform för ditt program. ASP.NET Core samlingsalternativ är rekommenderade eller inaktiverade.

     Skärmbild som visar instrumentering av programavsnittet.

Uppgradera övervakningstillägget/agenten manuellt

Uppgradera från version 2.8.9 och senare

Uppgradering från version 2.8.9 sker automatiskt, utan några extra åtgärder. De nya övervakningsbitarna levereras i bakgrunden till målapptjänsten och hämtas vid omstart av programmet.

Om du vill kontrollera vilken version av tillägget du kör går du till https://yoursitename.scm.azurewebsites.net/ApplicationInsights.

Skärmbild som visar URL-sökvägen för att kontrollera vilken version av tillägget du kör.

Uppgradera från version 1.0.0 – 2.6.5

Från och med version 2.8.9 används det förinstallerade webbplatstillägget. Om du använder en tidigare version kan du uppdatera på något av två sätt:

  • Uppgradera genom att aktivera via Azure-portalen: Även om du har Application Insights-tillägget för App Service installerat visar användargränssnittet bara knappen Aktivera . I bakgrunden tas det gamla privata webbplatstillägget bort.

  • Uppgradera via PowerShell:

    1. Ange programinställningarna för att aktivera det förinstallerade webbplatstillägget ApplicationInsightsAgent. Mer information finns i Aktivera via PowerShell.
    2. Ta bort det privata webbplatstillägget med namnet Application Insights-tillägget för Azure App Service manuellt.

Om uppgraderingen är klar från en version före 2.5.1 kontrollerar du att ApplicationInsights DLL:erna tas bort från mappen programlager. Mer information finns i Felsöka Application Insights-integrering med Azure App Service.

Konfigurera övervakningstillägget/agenten

Vi erbjuder för närvarande inte alternativ för att konfigurera övervakningstillägget för ASP.NET Core.

Aktivera övervakning på klientsidan

Övervakning på klientsidan är aktiverat som standard för ASP.NET Core-appar med rekommenderad samling, oavsett om appinställningen APPINSIGHTS_JAVASCRIPT_ENABLED finns.

Om du vill inaktivera övervakning på klientsidan:

  1. Välj Inställningar>Konfiguration.

  2. Under Programinställningar skapar du en ny programinställning med följande information:

    • Namn: APPINSIGHTS_JAVASCRIPT_ENABLED
    • Värde: false
  3. Spara inställningarna. Starta om appen.

Automatisera övervakning

För att aktivera telemetriinsamling med Application Insights behöver endast följande programinställningar anges:

Skärmbild som visar App Service-programinställningar med Application Insights-inställningar.

Definitioner för programinställningar

Namn på appinställning Definition Värde
ApplicationInsightsAgent_EXTENSION_VERSION Tillägg, som styr runtime-övervakning. ~2 för Windows eller ~3 För Linux
XDT_MicrosoftApplicationInsights_Mode I standardläge är endast viktiga funktioner aktiverade för att säkerställa optimala prestanda. disabled eller recommended.
XDT_MicrosoftApplicationInsights_PreemptSdk Endast för ASP.NET Core-appar. Aktiverar Interop (interoperation) med Application Insights SDK. Läser in tillägget sida vid sida med SDK:t och använder det för att skicka telemetri. (Inaktiverar Application Insights SDK.) 1

App Service-programinställningar med Azure Resource Manager

Programinställningar för Azure App Service kan hanteras och konfigureras med Azure Resource Manager-mallar. Du kan använda den här metoden när du distribuerar nya App Service-resurser med Resource Manager-automatisering eller ändrar inställningarna för befintliga resurser.

Den grundläggande strukturen för JSON för programinställningar för en App Service-resurs:

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

Om du vill skapa en Resource Manager-mall med standardinställningarna för Application Insights börjar du processen som om du skulle skapa en ny webbapp med Application Insights aktiverat.

  1. I Azure-portalen skapar du en ny webbappresurs med önskad information. Aktivera Application Insights på fliken Övervaka + säker .

  2. Gå till Granska + skapa och välj sedan Ladda ned en mall för automatisering. Det här alternativet genererar den senaste Resource Manager-mallen med alla nödvändiga inställningar konfigurerade.

    Skärmbild som visar menyn för att skapa App Service-webbappar.

Anteckning

Följande exempelmall är för ett .NET 8-program (LTS) som körs i Windows. Den använder platshållarna för programmets my-monitored-web-app namn och aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e för prenumerations-ID:t.

Vi rekommenderar inte att du kopierar och använder det direkt. Generera i stället en egen mall baserat på anvisningarna ovan.


Expandera för att visa exempelmall
{
    "$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": {}
                        }
                    ]
                }
            }
        }
    ]
}

Aktivera via PowerShell

För att aktivera programövervakning via PowerShell måste endast de underliggande programinställningarna ändras. Följande exempel aktiverar programövervakning för en webbplats som heter my-monitored-web-app i resursgruppen my-resource-group. Den konfigurerar data som ska skickas till anslutningssträngen InstrumentationKey=012345678-abcd-ef01-2345-6789abcd .

Anteckning

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Information om hur du kommer igång finns i Installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i Migrera Azure PowerShell från AzureRM till Az.

Anteckning

För Windows anger du ApplicationInsightsAgent_EXTENSION_VERSION till ~2.

För Linux anger du ApplicationInsightsAgent_EXTENSION_VERSION till ~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

Felsökning

Se den dedikerade felsökningsartikeln.

Nästa steg