Anwendungsüberwachung für Azure App Service und ASP.NET

Das Aktivieren der Überwachung Ihrer ASP.NET-basierten Webanwendungen, die in Azure App Service ausgeführt werden, ist jetzt einfacher als je zuvor. Bislang mussten Sie Ihre App manuell instrumentieren. Die neueste Version von Erweiterung/Agent ist jetzt standardmäßig in das App Service-Image integriert. Dieser Artikel führt Sie durch die Aktivierung der Azure Monitor Application Insights-Überwachung und bietet eine erste Anleitung zum Automatisieren des Prozesses für umfangreiche Bereitstellungen.

Hinweis

Das manuelle Hinzufügen einer Application Insights-Websiteerweiterung über Entwicklungstools>Erweiterungen ist veraltet. Diese Methode der Erweiterungsinstallation war von manuellen Updates für jede neue Version abhängig. Die neueste stabile Version der Erweiterung ist jetzt als Teil des App Service-Images vorinstalliert. Die Dateien befinden sich in d:\Programme (x86)\SiteExtensions\ApplicationInsightsAgent und werden mit jeder stabilen Version automatisch aktualisiert. Wenn Sie den weiter unten beschriebenen Anweisungen zum Aktivieren der Überwachung mithilfe der automatischen Instrumentierung folgen, wird die veraltete Erweiterung automatisch entfernt.

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 im Abschnitt zur Problembehandlung.

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. Wechseln Sie zu Verbindungszeichenfolgen, damit Sie neue Funktionen nutzen können.

Aktivieren der Überwachung mit automatischer Instrumentierung

Eine vollständige Liste der unterstützten Szenarien für die automatische Instrumentierung finden Sie unter Unterstützte Umgebungen, Sprachen und Ressourcenanbieter.

Hinweis

Die Kombination von APPINSIGHTS_JAVASCRIPT_ENABLED und urlCompression wird nicht unterstützt. Weitere Informationen finden Sie in der Erläuterung im Abschnitt zur Problembehandlung.

  1. In der Azure-Systemsteuerung für Ihre App Service-Instanz können Sie Application Insights auswählen. Wählen Sie anschließend Aktivieren aus.

    Screenshot: Registerkarte „Application Insights“ mit ausgewählter Option „Aktivieren“

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

    Hinweis

    Wenn Sie auf OK klicken, um die neue Ressource zu erstellen, werden Sie zur Auswahl der Option Überwachungseinstellungen anwenden aufgefordert. Wenn Sie Weiter auswählen, wird Ihre neue Application Insights-Ressource mit Ihrer App Service-Instanz verknüpft. Dadurch wird auch ein Neustart Ihres App-Diensts ausgelöst.

    Screenshot der 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. Die Überwachung von ASP.NET-Apps ist standardmäßig mit zwei verschiedenen Sammlungsebenen aktiviert.

    Screenshot: Seite mit Application Insights-Websiteerweiterungen mit ausgewählter Option „Neue Ressource erstellen“

    In der folgenden Tabelle sind die Daten zusammengefasst, die für jede Route gesammelt werden.

    Daten ASP.NET: Basissammlung ASP.NET: Empfohlene Sammlung
    Fügt CPU-, Speicher- und E/A-Nutzungstrends hinzu. Nein Ja
    Sammelt Nutzungstrends und ermöglicht die Korrelation von Verfügbarkeitsergebnissen und Transaktionen. Ja Ja
    Erfasst Ausnahmen, die vom Hostprozess nicht behandelt werden. Ja Ja
    Verbessert die Genauigkeit der APM-Metriken unter Last, wenn die Stichprobe verwendet wird. Ja Ja
    Korreliert Microservices über Anforderungs-/Abhängigkeitsgrenzen hinweg. Nein (nur APM-Einzelinstanzfunktionen) Ja
  4. Zum Konfigurieren der Stichprobenentnahme, die Sie zuvor über die Datei applicationinsights.config steuern konnten, können Sie jetzt über die Anwendungseinstellungen mit dem entsprechenden Präfix MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor interagieren.

    • Wenn Sie beispielsweise den anfänglichen Prozentsatz für die Stichprobenerstellung ändern möchten, können Sie die Anwendungseinstellung MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage und einen Wert von 100 erstellen.

    • Legen Sie zum Deaktivieren der Stichprobenentnahme MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MinSamplingPercentage auf den Wert 100 fest.

    • Folgende Einstellungen werden unterstützt:

      • MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage
      • MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MinSamplingPercentage
      • MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_EvaluationInterval
      • MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MaxTelemetryItemsPerSecond
    • Eine Liste der unterstützten Einstellungen und Definitionen des Telemetrieprozessors für die adaptive Stichprobenerstellung finden Sie im Code und in der Dokumentation zur Stichprobenentnahme.

Aktivieren der clientseitigen Überwachung

Die clientseitige Überwachung für ASP.NET ist optional. Zum Aktivieren der clientseitigen Überwachung gehen Sie folgendermaßen vor:

  1. Wählen Sie Einstellungen>Konfiguration aus.

  2. Erstellen Sie unter Anwendungseinstellungen eine neue Anwendungseinstellung:

    • Name: Geben Sie APPINSIGHTS_JAVASCRIPT_ENABLED ein.
    • Wert: Geben Sie true ein.
  3. Speichern Sie die Einstellungen, und starten Sie Ihre App neu.

Zum Deaktivieren der clientseitigen Überwachung entfernen Sie entweder das zugeordnete Schlüssel-Wert-Paar aus den Anwendungseinstellungen oder legen den Wert auf false fest.

Automatisieren der Überwachung

Um die Sammlung von Telemetriedaten mit Application Insights zu aktivieren, müssen Sie lediglich Anwendungseinstellungen festlegen.

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
XDT_MicrosoftApplicationInsights_Mode Im Standardmodus werden nur wichtige Funktionen aktiviert, um eine optimale Leistung zu gewährleisten. default oder recommended
InstrumentationEngine_EXTENSION_VERSION Legt fest, ob die Engine zum binären erneuten Generieren InstrumentationEngine aktiviert ist. Diese Einstellung hat Auswirkungen auf die Leistung und beeinflusst die Dauer des Kaltstarts/Startvorgangs. ~1
XDT_MicrosoftApplicationInsights_BaseExtensions Legt fest, ob SQL- und Azure-Tabellentext gemeinsam mit den Abhängigkeitsaufrufen erfasst wird. Leistungswarnung: Dies wirkt sich auf die Kaltstartzeit der Anwendung aus. Diese Einstellung erfordert die InstrumentationEngine. ~1

App Service-Anwendungseinstellungen mit Azure Resource Manager

Sie können die Azure App Service-Anwendungseinstellungen mit Azure Resource Manager-Vorlagen verwalten und konfigurieren. 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"
          }
        }
      ]

Ein Beispiel für eine Resource Manager-Vorlage mit Anwendungseinstellungen für Application Insights finden Sie in dieser Vorlage. Sehen Sie sich insbesondere den in Zeile 238 beginnenden Abschnitt an.

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 eine neue App Service-Ressource mit den gewünschten Web-App-Informationen. Aktivieren Sie Application Insights auf der Registerkarte Überwachung.

  2. Klicken Sie auf Überprüfen + erstellen. Wählen Sie dann Vorlage für Automatisierung herunterladen aus.

    Screenshot des Menüs zum Erstellen von App Service-Web-Apps

    Mit dieser Option wird die aktuellste Resource Manager-Vorlage mit allen erforderlichen Einstellungen generiert.

    Screenshot einer App Service-Web-App-Vorlage

Ersetzen Sie im folgenden Beispiel alle Instanzen von AppMonitoredSite durch Ihren Websitenamen:

Hinweis

Wenn Sie Windows verwenden, legen Sie ApplicationInsightsAgent_EXTENSION_VERSION auf ~2 fest. Wenn Sie Linux verwenden, legen Sie ApplicationInsightsAgent_EXTENSION_VERSION auf ~3 fest.

{
    "resources": [
        {
            "name": "[parameters('name')]",
            "type": "Microsoft.Web/sites",
            "properties": {
                "siteConfig": {
                    "appSettings": [
                        {
                            "name": "APPINSIGHTS_INSTRUMENTATIONKEY",
                            "value": "[reference('microsoft.insights/components/AppMonitoredSite', '2015-05-01').InstrumentationKey]"
                        },
                        {
                            "name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
                            "value": "[reference('microsoft.insights/components/AppMonitoredSite', '2015-05-01').ConnectionString]"
                        },
                        {
                            "name": "ApplicationInsightsAgent_EXTENSION_VERSION",
                            "value": "~2"
                        }
                    ]
                },
                "name": "[parameters('name')]",
                "serverFarmId": "[concat('/subscriptions/', parameters('subscriptionId'),'/resourcegroups/', parameters('serverFarmResourceGroup'), '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
                "hostingEnvironment": "[parameters('hostingEnvironment')]"
            },
            "dependsOn": [
                "[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
                "microsoft.insights/components/AppMonitoredSite"
            ],
            "apiVersion": "2016-03-01",
            "location": "[parameters('location')]"
        },
        {
            "apiVersion": "2016-09-01",
            "name": "[parameters('hostingPlanName')]",
            "type": "Microsoft.Web/serverfarms",
            "location": "[parameters('location')]",
            "properties": {
                "name": "[parameters('hostingPlanName')]",
                "workerSizeId": "[parameters('workerSize')]",
                "numberOfWorkers": "1",
                "hostingEnvironment": "[parameters('hostingEnvironment')]"
            },
            "sku": {
                "Tier": "[parameters('sku')]",
                "Name": "[parameters('skuCode')]"
            }
        },
        {
            "apiVersion": "2015-05-01",
            "name": "AppMonitoredSite",
            "type": "microsoft.insights/components",
            "location": "West US 2",
            "properties": {
                "ApplicationId": "[parameters('name')]",
                "Request_Source": "IbizaWebAppExtensionCreate"
            }
        }
    ],
    "parameters": {
        "name": {
            "type": "string"
        },
        "hostingPlanName": {
            "type": "string"
        },
        "hostingEnvironment": {
            "type": "string"
        },
        "location": {
            "type": "string"
        },
        "sku": {
            "type": "string"
        },
        "skuCode": {
            "type": "string"
        },
        "workerSize": {
            "type": "string"
        },
        "serverFarmResourceGroup": {
            "type": "string"
        },
        "subscriptionId": {
            "type": "string"
        }
    },
    "$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0"
}

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 AppMonitoredSite in der Ressourcengruppe AppMonitoredRG. Damit werden die Daten konfiguriert, die an den Instrumentierungsschlüssel 012345678-abcd-ef01-2345-6789abcd gesendet werden sollen.

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 des Azure Az PowerShell-Moduls. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Hinweis

Wenn Sie Windows verwenden, legen Sie ApplicationInsightsAgent_EXTENSION_VERSION auf ~2 fest. Wenn Sie Linux verwenden, legen Sie ApplicationInsightsAgent_EXTENSION_VERSION auf ~3 fest.

$app = Get-AzWebApp -ResourceGroupName "AppMonitoredRG" -Name "AppMonitoredSite" -ErrorAction Stop
$newAppSettings = @{} # case-insensitive hash map
$app.SiteConfig.AppSettings | %{$newAppSettings[$_.Name] = $_.Value} # preserve non Application Insights application settings.
$newAppSettings["APPINSIGHTS_INSTRUMENTATIONKEY"] = "012345678-abcd-ef01-2345-6789abcd"; # set the Application Insights instrumentation key
$newAppSettings["APPLICATIONINSIGHTS_CONNECTION_STRING"] = "InstrumentationKey=012345678-abcd-ef01-2345-6789abcd"; # set the Application Insights connection string
$newAppSettings["ApplicationInsightsAgent_EXTENSION_VERSION"] = "~2"; # enable the ApplicationInsightsAgent
$app = Set-AzWebApp -AppSettings $newAppSettings -ResourceGroupName $app.ResourceGroup -Name $app.Name -ErrorAction Stop

Upgrade von Überwachungserweiterung/-Agent: .NET

Upgrade von Versionen 2.8.9 und höher

Das Upgrade von Version 2.8.9 erfolgt automatisch ohne zusätzliche Aktionen. Die neuen Überwachungsdaten werden im Hintergrund an den Ziel-App-Dienst übermittelt. Sie werden ausgewählt, wenn die Anwendung neu gestartet wird.

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

Screenshot des URL-Pfads zum Überprüfen der von Ihnen ausgeführten Version der Erweiterung

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 Aktivierung über das Portal: Auch dann, wenn Sie die Application Insights-Erweiterung für App Service installiert haben. Auf der Benutzeroberfläche wird 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 die private Websiteerweiterung mit dem Namen Application Insights-Erweiterung für App Service manuell.

Wenn das Upgrade für eine frühere Version als 2.5.1 ausgeführt wird, vergewissern Sie sich, dass die Application Insights-DLLs aus dem Ordner „bin“ der Anwendung entfernt werden. Weitere Informationen finden Sie in den Schritten im Abschnitt zur Problembehandlung.

Problembehandlung

Hinweis

Wenn Sie eine Web-App mit den ASP.NET-Runtimes in App Service erstellen, wird eine einzelne statische HTML-Seite als Startwebsite bereitgestellt. Es wird nicht empfohlen, ein Problem mit einer Standardvorlage zu behandeln. Stellen Sie vor der Problembehandlung eine Anwendung bereit.

Im Folgenden finden Sie eine Schrittanleitung zur Problembehandlung für die auf Erweiterungen oder Agents basierende Überwachung von ASP.NET-basierten Anwendungen, die in App Service ausgeführt werden.

  1. Überprüfen Sie, ob die App-Einstellung ApplicationInsightsAgent_EXTENSION_VERSION auf den Wert ~2 festgelegt ist.

  2. Navigieren Sie zu https://yoursitename.scm.azurewebsites.net/ApplicationInsights.

    Screenshot: Ergebnisseite des vorherigen Links

    • Bestätigen Sie, dass der Application Insights Extension Status-Wert Pre-Installed Site Extension, version 2.8.x.xxxx lautet und dass die Erweiterung ausgeführt wird.

      Wird die Erweiterung nicht ausgeführt, befolgen Sie die Anweisungen zum Aktivieren der Überwachung von Application Insights.

    • Stellen Sie sicher, dass die Statusquelle vorhanden ist und folgendermaßen aussieht: Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.json.

      Wenn ein ähnlicher Wert nicht vorhanden ist, bedeutet dies, dass die Anwendung derzeit nicht ausgeführt oder nicht unterstützt wird. Um sicherzustellen, dass die Anwendung ausgeführt wird, rufen Sie die Anwendungs-URL/Anwendungsendpunkte manuell auf, wodurch die Runtimeinformationen verfügbar werden.

    • Stellen Sie sicher, dass IKeyExiststrue ist. Fügen Sie andernfalls Ihren Anwendungseinstellungen APPINSIGHTS_INSTRUMENTATIONKEY und APPLICATIONINSIGHTS_CONNECTION_STRING mit der GUID Ihres Instrumentierungsschlüssels hinzu.

    • Stellen Sie sicher, dass keine Einträge für AppAlreadyInstrumented, AppContainsDiagnosticSourceAssembly und AppContainsAspNetTelemetryCorrelationAssembly vorhanden sind.

      Wenn einer dieser Einträge vorhanden ist, entfernen Sie die folgenden Pakete aus Ihrer Anwendung: Microsoft.ApplicationInsights, System.Diagnostics.DiagnosticSource und Microsoft.AspNet.TelemetryCorrelation.

Die mit Web-Apps bereitgestellte Standardwebsite unterstützt keine automatische clientseitige Überwachung

Wenn Sie eine Web-App mit den ASP.NET-Runtimes in App Service erstellen, wird eine einzelne statische HTML-Seite als Startwebsite bereitgestellt. Die statische Webseite lädt auch ein ASP.NET-verwaltetes Webpart in IIS. Diese Seite ermöglicht das Testen der serverseitigen Überwachung ohne Code, unterstützt jedoch nicht die automatische clientseitige Überwachung.

Wenn Sie die server- und clientseitige Überwachung ohne Code für ASP.NET in einer App Service-Web-App testen möchten, sollten Sie die offiziellen Leitfäden zum Erstellen einer ASP.NET Core-Web-App verwenden. Verwenden Sie dann die Anweisungen im aktuellen Artikel, um die Überwachung zu aktivieren.

Die Kombination von APPINSIGHTS_JAVASCRIPT_ENABLED und urlCompression wird nicht unterstützt.

Wenn Sie APPINSIGHTS_JAVASCRIPT_ENABLED=true in Fällen verwenden, in denen der Inhalt codiert ist, erhalten Sie möglicherweise Fehler wie die folgenden:

  • 500: URL-Rewrite-Fehler
  • 500.53: URL-Rewrite-Modul-Fehler mit der Meldung „Ausgangs-Rewrite-Regeln können nicht angewendet werden, wenn der Inhalt der HTTP-Antwort codiert ist (gzip)“

Es tritt ein Fehler auf, weil die Anwendungseinstellung APPINSIGHTS_JAVASCRIPT_ENABLED auf true festgelegt ist und gleichzeitig eine Inhaltscodierung vorliegt. Dieses Szenario wird noch nicht unterstützt. Um dieses Problem zu umgehen, entfernen Sie APPINSIGHTS_JAVASCRIPT_ENABLED aus Ihren Anwendungseinstellungen. Leider werden manuelle SDK-Verweise für Ihre Webseiten benötigt, wenn weiterhin eine client-/browserseitige JavaScript-Instrumentierung erforderlich ist. Führen Sie die Anweisungen für manuelle Instrumentierung mit dem JavaScript SDK aus.

Aktuelle Informationen zu Application Insights-Agent und -Erweiterung finden Sie in den Versionshinweisen.

Was ist der Unterschied zwischen Standardmetriken von Application Insights und Azure App Service-Metriken?

Application Insights sammelt Telemetriedaten für die Anforderungen, die bis zur Anwendung gelangt sind. Wenn der Fehler in WebApps/WebServer auftritt und die Anforderung die Benutzeranwendung nicht erreicht hat, hat Application Insights keine Telemetriedaten dazu.

Die von Application Insights berechnete Dauer für serverresponsetime stimmt nicht unbedingt mit der von Web-Apps beobachteten Serverantwortzeit überein. Dies liegt daran, dass Application Insights nur die Dauer zählt, bis die Anforderung tatsächlich die Benutzeranwendung erreicht. Wenn die Anforderung in WebServer hängen bleibt oder in die Warteschlange gestellt wird, ist diese Wartezeit in den Web-App-Metriken enthalten, in den Application Insights-Metriken jedoch nicht.

Testen der Konnektivität zwischen Ihrem Anwendungshost und dem Erfassungsdienst

Application Insights SDKs und -Agents senden Telemetriedaten, die als REST-Aufrufe unserer Erfassungsendpunkte erfasst werden sollen. Sie können die Konnektivität Ihres Webservers oder Anwendungshostcomputers mit den Endpunkten des Erfassungsdiensts testen, indem Sie unformatierte REST-Clients über PowerShell- oder cURL-Befehle verwenden. Weitere Informationen finden Sie unter Problembehandlung bei fehlender Anwendungstelemetrie in Azure Monitor Application Insights.

PHP und WordPress werden nicht unterstützt.

PHP- und WordPress-Sites werden nicht unterstützt. Zurzeit ist kein offiziell unterstützter SDK/Agent für die serverseitige Überwachung dieser Workloads verfügbar. Sie können clientseitige Transaktionen auf einer PHP- oder WordPress-Website manuell instrumentieren, indem Sie Ihren Webseiten mit dem JavaScript SDK clientseitigen JavaScript-Code hinzufügen.

Die folgende Tabelle enthält eine ausführlichere Beschreibung der Bedeutung dieser Werte, der zugrunde liegenden Ursachen und der empfohlenen Problembehebungen.

Problemwert Erklärung Fix
AppAlreadyInstrumented:true Dieser Wert zeigt an, dass die Erweiterung erkannt hat, dass ein Teil des SDK bereits in der Anwendung vorhanden ist, und der Vorgang wird abgebrochen. Dies kann auf einen Verweis auf System.Diagnostics.DiagnosticSource, Microsoft.AspNet.TelemetryCorrelation oder Microsoft.ApplicationInsights zurückzuführen sein. Entfernen Sie die Verweise. Einige dieser Verweise werden standardmäßig aus bestimmten Visual Studio-Vorlagen hinzugefügt. Ältere Versionen von Visual Studio können Verweise auf Microsoft.ApplicationInsightshinzufügen.
AppAlreadyInstrumented:true Dieser Wert kann auch durch das Vorhandensein der oben genannten DLLs im App-Ordner aus einer früheren Bereitstellung verursacht werden. Bereinigen Sie den App-Ordner, um sicherzustellen, dass diese DLLs entfernt werden. Überprüfen Sie sowohl das Verzeichnis „bin“ Ihrer lokalen App als auch das Verzeichnis „wwwroot“ in der App Service-Ressource. Zum Überprüfen des Verzeichnisses „wwwroot“ Ihrer App Service-Web-App wählen Sie Erweiterte Tools (Kudu) >Debugging-Konsole >CMD >home\site\wwwroot aus.
AppContainsAspNetTelemetryCorrelationAssembly: true Dieser Wert gibt an, dass die Erweiterung Verweise auf Microsoft.AspNet.TelemetryCorrelation in der Anwendung gefunden hat und ausgesetzt wird. Entfernen Sie den Verweis.
AppContainsDiagnosticSourceAssembly**:true Dieser Wert gibt an, dass die Erweiterung Verweise auf System.Diagnostics.DiagnosticSource in der Anwendung gefunden hat und ausgesetzt wird. Entfernen Sie für ASP.NET den Verweis.
IKeyExists:false Dieser Wert gibt an, dass der Instrumentierungsschlüssel nicht in der App-Einstellung APPINSIGHTS_INSTRUMENTATIONKEY vorhanden ist. Mögliche Ursachen können sein, dass die Werte versehentlich entfernt wurden, oder Sie haben vergessen, die Werte im Automatisierungsskript festzulegen. Stellen Sie sicher, dass die Einstellung in den App Service-Anwendungseinstellungen vorhanden ist.

System.IO.FileNotFoundException nach dem Upgrade auf 2.8.44

Version 2.8.44 der automatischen Instrumentierung aktualisiert das Application Insights SDK auf Version 2.20.0. Das Application Insights SDK enthält durch System.Diagnostics.DiagnosticSource.dll einen indirekten Verweis auf System.Runtime.CompilerServices.Unsafe.dll. Wenn die Anwendung eine Bindungsumleitung für System.Runtime.CompilerServices.Unsafe.dll umfasst und diese Bibliothek nicht im Anwendungsordner vorhanden ist, wird möglicherweise System.IO.FileNotFoundException ausgelöst.

Um dieses Problem zu beheben, entfernen Sie den Bindungsumleitungseintrag für System.Runtime.CompilerServices.Unsafe.dll aus der Datei „web.config“. Wenn die Anwendung die Verwendung von System.Runtime.CompilerServices.Unsafe.dll vorsieht, legen Sie die Bindungsumleitung wie nachfolgend gezeigt fest:

<dependentAssembly>
	<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
	<bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
</dependentAssembly>

Als temporäre Problemumgehung können Sie die App-Einstellung ApplicationInsightsAgent_EXTENSION_VERSION auf den Wert 2.8.37 festlegen. Diese Einstellung veranlasst App Service, die alte Application Insights-Erweiterung zu verwenden. Temporäre Abhilfemaßnahmen sollten nur als Zwischenlösung eingesetzt werden.

Anmerkungen zu dieser Version

Informationen zu den neuesten Updates und Fehlerbehebungen finden Sie in den Versionshinweisen.

Nächste Schritte