Freigeben über


Aktivieren der Anwendungsüberwachung in Azure App Service für .NET-, Node.js-, Python- und Java-Anwendungen

Die automatische Instrumentierung, auch als Laufzeitüberwachung bezeichnet, ist die einfachste Möglichkeit, Application Insights für Azure App Service zu aktivieren, ohne Dass Codeänderungen oder erweiterte Konfigurationen erforderlich sind. Anhand Ihres spezifischen Szenarios bewerten Sie, ob Sie eine erweiterte Überwachung über manuelle Instrumentierung erfordern.

Hinweis

Am 31. März 2025 wird der Support für die auf Instrumentierungsschlüsseln basierende Erfassung eingestellt. Die Erfassung von Instrumentierungsschlüsseln funktioniert zwar weiterhin, wir stellen jedoch keine Updates und keinen Support mehr für das Feature bereit. Übergang zu Verbindungszeichenfolgen , um neue Funktionen nutzen zu können.

Aktivieren von Application Insights

Wichtig

Wenn sowohl die Überwachung mit automatischer Instrumentierung als auch die manuelle SDK-basierte Instrumentierung erkannt wird, werden nur die Einstellungen der manuellen Instrumentierung berücksichtigt. Durch diese Anordnung wird verhindert, dass doppelte Daten gesendet werden. Weitere Informationen finden Sie unter "Problembehandlung bei der Integration von Application Insights" in Azure App Service.

Hinweis

Automatische Instrumentierung im Azure-Portal

  1. Wählen Sie "Application Insights" im linken Navigationsmenü Ihres App-Diensts und dann "Aktivieren" aus.

     Screenshot der Registerkarte

  2. Erstellen Sie eine neue Ressource, oder wählen Sie eine vorhandene Application Insights-Ressource für diese Anwendung aus.

    Hinweis

    Wenn Sie "OK" auswählen, um eine neue Ressource zu erstellen, werden Sie aufgefordert, Überwachungseinstellungen anzuwenden. Wenn Sie "Weiter" auswählen, wird Ihre neue Application Insights-Ressource mit Ihrem App-Dienst verknüpft. Ihre App Service-Instanz wird dann neu gestartet.

    Screenshot: Dropdownliste „Ressource ändern“

  3. Nach Angabe der zu verwendenden Ressource können Sie plattformspezifisch auswählen, wie Application Insights Daten für Ihre Anwendung erfassen soll. ASP.NET Core-Sammlungsoptionen werden empfohlen oder deaktiviert.

     Screenshot, der die Instrumentierung Ihres Anwendungsabschnitts zeigt.

Manuelles Upgrade der Überwachungserweiterung/ des Agenten

Upgrade von Version 2.8.9 und höher

Das Upgrade von Version 2.8.9 erfolgt automatisch ohne zusätzliche Aktionen. Die neuen Überwachungsbits werden im Hintergrund an den Dienst der Zielanwendung übermittelt und beim Neustart der Anwendung abgeholt.

Informationen zur aktuell verwendeten Version der Erweiterung finden Sie unter https://yoursitename.scm.azurewebsites.net/ApplicationInsights.

Screenshot des URL-Pfads zum Überprüfen der Version der Erweiterung, die Sie ausführen.

Upgrade von Version 1.0.0 – 2.6.5

Ab Version 2.8.9 wird die vorinstallierte Websiteerweiterung verwendet. Bei einer früheren Version können Sie eine Aktualisierung auf zwei Arten vornehmen:

  • Upgrade durch Aktivieren über das Azure-Portal: Auch wenn Sie die Application Insights-Erweiterung für App Service installiert haben, wird auf der Benutzeroberfläche nur die Schaltfläche " Aktivieren " angezeigt. Im Hintergrund wird die alte private Websiteerweiterung entfernt.

  • Upgrade über PowerShell:

    1. Legen Sie die Anwendungseinstellungen so fest, dass die vorinstallierte Websiteerweiterung ApplicationInsightsAgent aktiviert wird. Weitere Informationen finden Sie unter "Aktivieren über PowerShell".
    2. Entfernen Sie manuell die private Websiteerweiterung namens Application Insights-Erweiterung für Azure App Service.

Wenn das Upgrade von einer Version vor 2.5.1 erfolgt, vergewissern Sie sich, dass die ApplicationInsights-DLL-Dateien aus dem Ordner „bin“ der Anwendung entfernt werden. Weitere Informationen finden Sie unter Problembehandlung bei der Integration von Application Insights in Azure App Service.

Konfigurieren der Überwachungserweiterung/ des Agenten

Wir bieten derzeit keine Optionen zum Konfigurieren der Überwachungserweiterung für ASP.NET Core.

Aktivieren der clientseitigen Überwachung

Clientseitige Überwachung ist standardmäßig für ASP.NET Core-Apps mit empfohlener Sammlung aktiviert, unabhängig davon, ob die App-Einstellung APPINSIGHTS_JAVASCRIPT_ENABLED vorhanden ist.

Zum Deaktivieren der clientseitigen Überwachung gehen Sie folgendermaßen vor:

  1. Wählen Sie "> aus.

  2. Erstellen Sie unter "Anwendungseinstellungen" eine Neue Anwendungseinstellung mit den folgenden Informationen:

    • Name: APPINSIGHTS_JAVASCRIPT_ENABLED
    • Wert: false
  3. Speichern Sie die Einstellungen. Starten Sie die App neu.

Automatisieren der Überwachung

Um die Sammlung von Telemetriedaten mit Application Insights zu aktivieren, müssen nur die folgenden Anwendungseinstellungen festgelegt werden:

Screenshot der App Service-Anwendungseinstellungen mit Application Insights-Einstellungen.

Definitionen von Anwendungseinstellungen

Name der App-Einstellung Definition Wert
ApplicationInsightsAgent_EXTENSION_VERSION Die Haupterweiterung, die die Laufzeitüberwachung steuert. ~2 für Windows oder ~3 für Linux
XDT_MicrosoftApplicationInsights_Mode Im Standardmodus werden nur wichtige Funktionen aktiviert, um eine optimale Leistung zu gewährleisten. disabled oder recommended
XDT_MicrosoftApplicationInsights_PreemptSdk Diese Einstellung ist nur für ASP.NET Core-Apps geeignet. Sie aktiviert die Interoperabilität mit dem Application Insights SDK. Sie lädt die Erweiterung parallel zum SDK und verwendet sie zum Senden von Telemetriedaten. (Deaktiviert das Application Insights SDK.) 1

App Service-Anwendungseinstellungen mit Azure Resource Manager

Anwendungseinstellungen für Azure App Service können mit Azure Resource Manager-Vorlagen verwaltet und konfiguriert werden. Sie können diese Methode wählen, wenn Sie neue App Service-Ressourcen mit Resource Manager-Automatisierung bereitstellen oder die Einstellungen vorhandener Ressourcen ändern.

Die grundlegende Struktur der JSON-Anwendungseinstellungen für eine App Service-Ressource sieht folgendermaßen aus:

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

Um eine Resource Manager-Vorlage mit den Standardeinstellungen für Application Insights zu erstellen, beginnen Sie den Prozess so, als ob Sie eine neue Web-App mit aktivierten Application Insights erstellen würden.

  1. Erstellen Sie im Azure-Portal eine neue Web App-Ressource mit ihren gewünschten Informationen. Aktivieren Sie Application Insights auf der Registerkarte "Monitor + sicher ".

  2. Wechseln Sie zu "Überprüfen+ erstellen", und wählen Sie dann "Vorlage für Automatisierung herunterladen" aus. Mit dieser Option wird die aktuellste Resource Manager-Vorlage mit allen erforderlichen Einstellungen generiert.

    Screenshot des App Service Web App-Erstellungsmenüs.

Hinweis

Die folgende Beispielvorlage ist für eine .NET 8 (LTS)-Anwendung unter Windows vorgesehen. Er verwendet die Platzhalter my-monitored-web-app für den Namen der Anwendung und aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e für die Abonnement-ID.

Es wird nicht empfohlen, es direkt zu kopieren und zu verwenden. Generieren Sie stattdessen ihre eigene Vorlage basierend auf den obigen Anweisungen.


Erweitern zum Anzeigen einer Beispielvorlage
{
    "$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": {}
                        }
                    ]
                }
            }
        }
    ]
}

Aktivieren über PowerShell

Zum Aktivieren der Anwendungsüberwachung über PowerShell müssen nur die zugrunde liegenden Anwendungseinstellungen geändert werden. Das folgende Beispiel ermöglicht die Anwendungsüberwachung für eine Website namens my-monitored-web-app in der Ressourcengruppe my-resource-group. Es konfiguriert Daten, die an die InstrumentationKey=012345678-abcd-ef01-2345-6789abcd Verbindungszeichenfolge gesendet werden.

Hinweis

Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zu Az.

Hinweis

Für Windows setzen Sie ApplicationInsightsAgent_EXTENSION_VERSION auf ~2.

Legen Sie für Linux ApplicationInsightsAgent_EXTENSION_VERSION auf ~3 fest.

$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

Problembehandlung

Informationen finden Sie in dem dedizierten Artikel zur Problembehandlung.

Nächste Schritte