Aktivieren der Anwendungsüberwachung in Azure App Service für .NET-, Node.js-, Python- und Java-Anwendungen
Artikel
Die Autoinstrumentierung, auch als Runtime-Ü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. Bewerten Sie dann auf der Grundlage Ihres spezifischen Szenarios, ob Sie eine erweiterte Überwachung durch 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. Wechseln Sie zu Verbindungszeichenfolgen, damit Sie neue Funktionen nutzen können.
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.
Wählen Sie Application Insights im linken Navigationsmenü Ihres App Service und dann Aktivierenaus.
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 die neue Ressource zu erstellen, werden Sie aufgefordert, die Überwachungseinstellungen anzuwenden. Wenn Sie Weiter auswählen, wird Ihre neue Application Insights-Ressource mit Ihrer App Service-Instanz verknüpft. Ihre App Service-Instanz wird dann neu gestartet.
Nach Angabe der zu verwendenden Ressource können Sie plattformspezifisch auswählen, wie Application Insights Daten für Ihre Anwendung erfassen soll. Die ASP.NET Core-Sammlungsoptionen lauten Empfohlen oder Deaktiviert.
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.
Hinweis
Die Kombination von APPINSIGHTS_JAVASCRIPT_ENABLED und urlCompression wird nicht unterstützt. Weitere Informationen finden Sie unter Problembehandlung.
Automatische Instrumentierung im Azure-Portal
Wählen Sie Application Insights im linken Navigationsmenü Ihres App Service und dann Aktivierenaus.
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 die neue Ressource zu erstellen, werden Sie aufgefordert, die Überwachungseinstellungen anzuwenden. Wenn Sie Weiter auswählen, wird Ihre neue Application Insights-Ressource mit Ihrer App Service-Instanz verknüpft. Ihre App Service-Instanz wird dann neu gestartet.
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 Erfassungsstufen aktiviert – Empfohlen und Basic.
In der folgenden Tabelle sind die Daten zusammengefasst, die für jede Route gesammelt werden.
Daten
Empfohlen
Grundlegend
Fügt CPU-, Speicher- und E/A-Nutzungstrends hinzu.
Ja
Nein
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.
Wählen Sie Application Insights im linken Navigationsmenü Ihres App Service und dann Aktivierenaus.
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 die neue Ressource zu erstellen, werden Sie aufgefordert, die Überwachungseinstellungen anzuwenden. Wenn Sie Weiter auswählen, wird Ihre neue Application Insights-Ressource mit Ihrer App Service-Instanz verknüpft. Ihre App Service-Instanz wird dann neu gestartet.
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 im Abschnitt zur Problembehandlung.
Hinweis
Sie können den automatisch angefügten Agenten mithilfe der Umgebungsvariable APPLICATIONINSIGHTS_CONFIGURATION_CONTENT im Blatt „App Service-Umgebungsvariable“ konfigurieren. Weitere Informationen zu den Konfigurationsoptionen, die über diese Umgebungsvariable übergeben werden können, finden Sie unter Node.js-Konfiguration.
Application Insights für Node.js ist in Azure App Service für Linux sowohl für codebasierte als auch benutzerdefinierte Container und in App Service für Windows für codebasierte Apps integriert. Die Integration befindet sich in der öffentlichen Vorschau.
Automatische Instrumentierung im Azure-Portal
Wählen Sie Application Insights im linken Navigationsmenü Ihres App Service und dann Aktivierenaus.
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 die neue Ressource zu erstellen, werden Sie aufgefordert, die Überwachungseinstellungen anzuwenden. Wenn Sie Weiter auswählen, wird Ihre neue Application Insights-Ressource mit Ihrer App Service-Instanz verknüpft. Ihre App Service-Instanz wird dann neu gestartet.
Nachdem Sie angegeben haben, welche Ressource verwendet werden soll, ist alles bereit.
Wichtig
Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.
Application Insights for Python lässt sich in codebasierte Linux Azure App Service integrieren. Die Integration befindet sich in der öffentlichen Vorschauversion und fügt das Python SDK hinzu, das sich in GA befindet. Sie instrumentiert beliebte Python-Bibliotheken in Ihrem Code, so dass Sie automatisch Abhängigkeiten, Protokolle und Metriken erfassen und korrelieren können. Informationen dazu, welche Aufrufe und Metriken gesammelt werden, finden Sie unter Python-Bibliotheken
Die Protokollierungs-Telemetrie wird auf der Ebene des Stammprotokollierers erfasst. Weitere Informationen zur nativen Protokollierungshierarchie von Python finden Sie in der Python-Protokollierungsdokumentation.
Voraussetzungen
Python Version 3.11 oder früher.
Der App Service muss als Code bereitgestellt werden. Benutzerdefinierte Container werden nicht unterstützt.
Automatische Instrumentierung im Azure-Portal
Wählen Sie Application Insights im linken Navigationsmenü Ihres App Service und dann Aktivierenaus.
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 die neue Ressource zu erstellen, werden Sie aufgefordert, die Überwachungseinstellungen anzuwenden. Wenn Sie Weiter auswählen, wird Ihre neue Application Insights-Ressource mit Ihrer App Service-Instanz verknüpft. Ihre App Service-Instanz wird dann neu gestartet.
Sie geben die Ressource an, und schon ist es einsatzbereit.
Python-Bibliotheken
Nach der Instrumentierung sammeln Sie Aufrufe und Metriken aus diesen Python-Bibliotheken:
Um die OpenTelemetry Django-Instrumentierung zu verwenden, müssen Sie die DJANGO_SETTINGS_MODULE-Umgebungsvariable in den App Service-Einstellungen so festlegen, dass sie von Ihrem App-Ordner auf Ihr Einstellungsmodul verweisen.
Hinzufügen einer Community-Instrumentierungsbibliothek
Sie können automatisch mehr Daten sammeln, wenn Sie Instrumentierungsbibliotheken aus der OpenTelemetry-Community einschließen.
Achtung
Community-Instrumentierungsbibliotheken werden von uns nicht unterstützt und wir übernehmen keine Garantie für ihre Qualität. Wenn Sie einen Vorschlag für unsere Distribution machen möchten, posten Sie ihn in unserer Feedback-Community oder geben Sie dort ein Up-Vote ab. Beachten Sie, dass einige auf experimentellen OpenTelemetry-Spezifikationen basieren und möglicherweise zukünftige grundlegende Änderungen einführen.
Um die Community OpenTelemetry Instrumentation Library hinzuzufügen, installieren Sie sie über die requirements.txt-Datei Ihrer Anwendung. Die OpenTelemetry-Autoinstrumentierung nimmt automatisch alle installierten Bibliotheken auf und instrumentiert sie. Hier finden Sie die Liste der Communitybibliotheken.
Manuelles Upgrade der Überwachungserweiterung/ des Agenten
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.
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.
Legen Sie die Anwendungseinstellungen so fest, dass die vorinstallierte Websiteerweiterung ApplicationInsightsAgent aktiviert wird. Weitere Informationen finden Sie unter Aktivieren über PowerShell.
Entfernen Sie die private Websiteerweiterung mit dem Namen Application Insights-Erweiterung für Azure App Service manuell.
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.
Upgrade von Versionen 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.
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.
Legen Sie die Anwendungseinstellungen so fest, dass die vorinstallierte Websiteerweiterung ApplicationInsightsAgent aktiviert wird. Weitere Informationen finden Sie unter Aktivieren über PowerShell.
Entfernen Sie die private Websiteerweiterung mit dem Namen Application Insights-Erweiterung für Azure App Service manuell.
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.
Die Java-Version von Application Insights wird automatisch im Rahmen von App Service-Updates aktualisiert. Wenn ein Problem auftritt, das in der neuesten Version des Application Insights Java-Agenten behoben wurde, können Sie sie manuell aktualisieren.
Laden Sie die Java-Agent-Jar-Datei in App Service hoch.
a. Rufen Sie zunächst die neueste Version der Azure CLI ab, indem Sie diese Anweisungen befolgen.
b. Rufen Sie als Nächstes die neueste Version des Application Insights Java-Agents ab, indem Sie diese Anweisungen befolgen.
c. Stellen Sie dann die JAR-Datei des Java-Agents mithilfe des folgenden Befehls in App Service bereit: az webapp deploy --src-path applicationinsights-agent-{VERSION_NUMBER}.jar --target-path java/applicationinsights-agent-{VERSION_NUMBER}.jar --type static --resource-group {YOUR_RESOURCE_GROUP} --name {YOUR_APP_SVC_NAME}. Alternativ können Sie diesen Leitfaden verwenden, um den Agent über das Maven-Plug-In bereitzustellen.
Deaktivieren Sie Application Insights über die Registerkarte „Application Insights“ im Azure-Portal.
Navigieren Sie nach dem Hochladen der Agent-JAR-Datei zu den App Service-Konfigurationen. Wenn Sie den Startbefehl für Linux verwenden müssen, nehmen Sie die JVM-Argumente auf:
Der Startbefehl berücksichtigt weder JAVA_OPTS für JavaSE noch CATALINA_OPTS für Tomcat.
Wenn Sie den Startbefehl nicht verwenden, erstellen Sie eine neue Umgebungsvariable JAVA_OPTS für JavaSE und CATALINA_OPTS für Tomcat mit dem Wert -javaagent:{PATH_TO_THE_AGENT_JAR}/applicationinsights-agent-{VERSION_NUMBER}.jar.
Um die Änderungen zu übernehmen, starten Sie die App neu.
Hinweis
Wenn Sie die Umgebungsvariable JAVA_OPTS für JavaSE oder CATALINA_OPTS für Tomcat setzen, müssen Sie Application Insights im Azure-Portal deaktivieren. Wenn Sie es andererseits vorziehen, Application Insights über das Azure-Portal zu aktivieren, stellen Sie sicher, dass Sie die Variable JAVA_OPTS für JavaSE oder CATALINA_OPTS für Tomcat in den Konfigurationseinstellungen des App Service nicht setzen.
Die Node.js-Version von Application Insights wird automatisch im Rahmen von App Service-Updates aktualisiert und kann nicht manuell aktualisiert werden.
Wenn ein Problem auftritt, das in der neuesten Version des Application Insights SDK behoben wurde, können Sie die automatische Instrumentierung entfernen und Ihre Anwendung manuell mit der neuesten SDK-Version instrumentieren.
Die Python-Version von Application Insights wird automatisch im Rahmen von App Service-Updates aktualisiert und kann nicht manuell aktualisiert werden.
Wenn ein Problem auftritt, das in der neuesten Version des Application Insights SDK behoben wurde, können Sie die automatische Instrumentierung entfernen und Ihre Anwendung manuell mit der neuesten SDK-Version instrumentieren.
Konfigurieren der Überwachungserweiterung/ des Agenten
Wir bieten derzeit keine Optionen zum Konfigurieren der Überwachungserweiterung für ASP.NET Core.
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.
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.
Nachdem Sie angegeben haben, welche Ressource verwendet werden soll, können Sie den Java-Agent konfigurieren. Wenn Sie den Java-Agent nicht konfigurieren, gelten die Standardkonfigurationen.
Der vollständige Satz Konfigurationen steht zur Verfügung. Sie müssen lediglich eine gültige JSON-Datei einfügen. Schließen Sie die Verbindungszeichenfolge und alle Konfigurationen aus, die sich in der Vorschau befinden – Sie können die Elemente hinzufügen, die sich derzeit in der Vorschau befinden, sobald sie allgemein verfügbar werden.
Nachdem Sie die Konfigurationen über das Azure-Portal geändert haben, wird die Umgebungsvariable APPLICATIONINSIGHTS_CONFIGURATION_FILE automatisch aufgefüllt und im App Service-Einstellungsbereich angezeigt. Diese Variable enthält den vollständigen JSON-Inhalt, den Sie im Azure-Portal in das Konfigurationstextfeld für Ihre Java-App eingefügt haben.
Der Node.js-Agent kann mit JSON konfiguriert werden. Legen Sie die Umgebungsvariable APPLICATIONINSIGHTS_CONFIGURATION_CONTENT auf die JSON-Zeichenfolge fest, oder legen Sie die Umgebungsvariable APPLICATIONINSIGHTS_CONFIGURATION_FILE auf den Dateipfad fest, der den JSON-Code enthält.
Wenn diese Eigenschaft auf None festgelegt ist, wird die Sammlung und der Export der Protokollierungs-Telemetrie deaktiviert.
OTEL_METRICS_EXPORTER
Wenn diese Eigenschaft auf None festgelegt ist, wird die Sammlung und der Export der Metrik-Telemetrie deaktiviert.
OTEL_TRACES_EXPORTER
Wenn diese Eigenschaft auf None festgelegt ist, wird die Sammlung und der Export der Telemetrie der verteilten Ablaufverfolgung deaktiviert.
OTEL_BLRP_SCHEDULE_DELAY
Gibt das Protokollierungsexportintervall in Millisekunden an. Diese wird standardmäßig auf 5000 festgelegt.
OTEL_BSP_SCHEDULE_DELAY
Gibt das Exportintervall für verteilte Ablaufverfolgungen in Millisekunden an. Diese wird standardmäßig auf 5000 festgelegt.
OTEL_TRACES_SAMPLER_ARG
Gibt das Verhältnis der Telemetrie der verteilten Ablaufverfolgungs an, die analysiert werden soll. Zulässige Werte liegen zwischen 0 und 1. Der Standardwert ist 1,0, d. h. es werden keine Telemetriedaten abgerufen.
OTEL_PYTHON_DISABLED_INSTRUMENTATIONS
Gibt an, welche OpenTelemetry-Instrumentatierungen deaktiviert werden sollen. Wenn deaktiviert, werden Instrumentatierungen nicht als Teil der automatischen Instrumentierung ausgeführt. Akzeptiert eine durch Komma getrennte Liste von Bibliotheksnamen in Kleinbuchstaben. Legen Sie es beispielsweise auf "psycopg2,fastapi" fest, um die Psycopg2- und FastAPI-Instrumentierungen zu deaktivieren. Standardmäßig wird eine leere Liste verwendet, sodass alle unterstützten Instrumentierungen aktiviert werden.
Die clientseitige Überwachung für ASP.NET Core-Apps ist standardmäßig aktiviert mit der Sammlungseinstellung Empfohlen, unabhängig davon, ob die App-Einstellung APPINSIGHTS_JAVASCRIPT_ENABLED vorhanden ist.
Zum Deaktivieren der clientseitigen Überwachung gehen Sie folgendermaßen vor:
Wählen Sie Einstellungen>Konfiguration aus.
Erstellen Sie unter Anwendungseinstellungen eine Neue Anwendungseinstellung mit den folgenden Informationen:
Name: APPINSIGHTS_JAVASCRIPT_ENABLED
Wert: false
Speichern Sie die Einstellungen. Starten Sie die App neu.
Die clientseitige Überwachung für ASP.NET ist optional. Zum Aktivieren der clientseitigen Überwachung gehen Sie folgendermaßen vor:
Wählen Sie Einstellungen>Konfiguration aus.
Erstellen Sie unter Anwendungseinstellungen eine neue Anwendungseinstellung:
Name: Geben Sie APPINSIGHTS_JAVASCRIPT_ENABLED ein.
Wert: Geben Sie true ein.
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.
Um die clientseitige Überwachung zu ermöglichen, kann der Java-Agent das Browser SDK-Ladeprogramm (Vorschau) in die HTML-Seiten Ihrer Anwendung einfügen, einschließlich der Konfiguration der entsprechenden Verbindungszeichenfolge.
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
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
Definitionen von Anwendungseinstellungen
Name der App-Einstellung
Definition
Wert
ApplicationInsightsAgent_EXTENSION_VERSION
Die Haupterweiterung, die die Laufzeitüberwachung steuert.
~2 unter Windows oder ~3 unter Linux
XDT_MicrosoftApplicationlnsights_Java
Flag zum Steuern, ob der Java-Agent eingeschlossen ist.
0 oder 1 (nur unter Windows anwendbar).
Hinweis
Der Momentaufnahmedebugger ist für Java-Anwendungen nicht verfügbar.
Definitionen von Anwendungseinstellungen
Name der App-Einstellung
Definition
Wert
ApplicationInsightsAgent_EXTENSION_VERSION
Die Haupterweiterung, die die Laufzeitüberwachung steuert.
~2 unter Windows oder ~3 unter Linux
XDT_MicrosoftApplicationInsights_NodeJS
Kennzeichen zum Steuern, ob der Node.js-Agent enthalten ist.
0 oder 1 (nur unter Windows anwendbar).
Hinweis
Der Momentaufnahmedebugger ist für Node.js-Anwendungen nicht verfügbar.
Definitionen von Anwendungseinstellungen
Name der App-Einstellung
Definition
Wert
APPLICATIONINSIGHTS_CONNECTION_STRING
Verbindungszeichenfolge für Ihre Application Insights-Ressource.
Beispiel: abcd1234-ab12-cd34-abcd1234abcd
ApplicationInsightsAgent_EXTENSION_VERSION
Die Haupterweiterung, die die Laufzeitüberwachung steuert.
~3
Hinweis
Der Momentaufnahmedebugger ist für Python-Anwendungen nicht verfügbar.
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:
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.
Automatisieren der Erstellung einer Application Insights-Ressource und Verknüpfen Ihrer neu erstellten App Service-Ressource
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.
Erstellen Sie eine neue App Service-Ressource mit den gewünschten Web-App-Informationen. Aktivieren Sie Application Insights auf der Registerkarte Überwachung.
Klicken Sie auf Überprüfen + erstellen. Wählen Sie dann Vorlage für Automatisierung herunterladen aus.
Mit dieser Option wird die aktuellste Resource Manager-Vorlage mit allen erforderlichen Einstellungen generiert.
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.
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.
Wenn Sie Windows verwenden, legen Sie ApplicationInsightsAgent_EXTENSION_VERSION auf ~2 fest. Wenn Sie Linux verwenden, legen Sie ApplicationInsightsAgent_EXTENSION_VERSION auf ~3 fest.
Dieser Abschnitt enthält Antworten auf häufig gestellte Fragen.
Welche Änderungen nimmt Application Insights in meinem Projekt vor?
Die Details hängen von der Art des Projekts ab. Die folgende Liste ist ein Beispiel für eine Webanwendung.
Fügt Ihrem Projekt Dateien hinzu:
ApplicationInsights.config
ai.js
Installiert NuGet-Pakete:
Application Insights-API: Die Kern-API
Application Insights-API für Webanwendungen: Zum Senden von Telemetriedaten vom Server
Application Insights-API für JavaScript-Anwendungen: Zum Senden von Telemetriedaten vom Client
Fügt Assemblys in Pakete ein:
Microsoft.ApplicationInsights
Microsoft.ApplicationInsights.Platform
Fügt Elemente ein in:
Web.config
packages.config
Fügen Sie Codeausschnitte in den Client- und Servercode ein, um diese mit der Application Insights-Ressourcen-ID zu initialisieren. Beispielsweise wird in einer MVC-App Code auf der Hauptseite Views/Shared/Layout.cshtml eingefügt. Bei neuen Projekten fügen Sie Application Insights einem vorhandenen Projekt manuell hinzu.
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.
Problembehandlung
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.
Wenn Sie eine Web-App mit den ASP.NET Core-Runtimes in App Service erstellen, wird eine einzelne statische HTML-Seite als Startwebsite bereitgestellt. Es wird nicht empfohlen, ein Problem mit der Standardvorlage zu behandeln. Stellen Sie vor der Problembehandlung eine Anwendung bereit.
Fehlende Telemetrie
Windows
Überprüfen Sie, ob die App-Einstellung ApplicationInsightsAgent_EXTENSION_VERSION auf den Wert ~2 festgelegt ist.
Navigieren Sie zu https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Vergewissern Sie sich, dass der Status der Application Insights-Erweiterung den Wert Pre-Installed Site Extension, version 2.8.x.xxxx, is running. hat.
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 Laufzeitinformationen verfügbar werden.
Vergewissern Sie sich, dass IKeyExists den Wert True aufweist. Wenn der Wert False lautet, fügen Sie den Anwendungseinstellungen APPINSIGHTS_INSTRUMENTATIONKEY und APPLICATIONINSIGHTS_CONNECTION_STRING mit Ihrer ikey-GUID hinzu.
Falls Ihre Anwendung auf ein Application Insights-Paket verweist, kann es sein, dass die Aktivierung der App Service-Integration nicht wirksam ist und die Daten nicht in Application Insights verfügbar sind. Ein Beispiel wäre, wenn Sie die App zuvor mit dem ASP.NET Core SDK instrumentiert haben bzw. dies versucht haben. Um das Problem zu beheben, aktivieren Sie im Azure-Portal die Option Interoperabel mit Application Insights SDK.
Wichtig
Diese Funktion befindet sich in der Vorschauphase.
Die Daten werden mithilfe eines codelosen Ansatzes gesendet, auch wenn das Application Insights SDK ursprünglich verwendet wurde (oder versucht wurde, es zu verwenden).
Wichtig
Wenn die Anwendung das Application Insights SDK zum Senden von Telemetriedaten verwendet hat, werden die Telemetriedaten deaktiviert. Anders ausgedrückt: Benutzerdefinierte Telemetriedaten (z. B. Track*()-Methoden) und benutzerdefinierte Einstellungen (z. B. Stichprobenentnahme) werden deaktiviert.
Linux
Überprüfen Sie, ob die App-Einstellung ApplicationInsightsAgent_EXTENSION_VERSION auf den Wert ~3 festgelegt ist.
Navigieren Sie zu https://your site name.scm.azurewebsites.net/ApplicationInsights.
Bestätigen Sie auf dieser Website Folgendes:
Die Statusquelle ist vorhanden und sieht folgendermaßen aus: Status source /var/log/applicationinsights/status_abcde1234567_89_0.json.
Der Wert Auto-Instrumentation enabled successfully wird angezeigt. Wenn kein ähnlicher Wert vorhanden ist, bedeutet dies, dass die Anwendung 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 Laufzeitinformationen verfügbar werden.
IKeyExists ist True. Wenn der Wert False lautet, fügen Sie den Anwendungseinstellungen APPINSIGHTS_INSTRUMENTATIONKEY und APPLICATIONINSIGHTS_CONNECTION_STRING mit Ihrer ikey-GUID hinzu.
Die mit Web-Apps bereitgestellte Standardwebsite unterstützt keine automatische clientseitige Überwachung
Wenn Sie eine Web-App mit den ASP.NET Core-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. Dieses Verhalten 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 Core 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.
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. Das Nachverfolgen clientseitiger Transaktionen auf einer PHP- oder WordPress-Website durch Hinzufügen von clientseitigem JavaScript-Code zu Ihren Webseiten kann mithilfe des JavaScript SDK erreicht werden.
Die folgende Tabelle enthält Erläuterungen 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. Ein Verweis auf Microsoft.ApplicationInsights.AspNetCore oder auf Microsoft.ApplicationInsights kann diesen Wert verursachen.
Entfernen Sie die Verweise. Einige dieser Verweise werden standardmäßig aus bestimmten Visual Studio-Vorlagen hinzugefügt. Ältere Visual Studio-Versionen verweisen auf Microsoft.ApplicationInsights.
AppAlreadyInstrumented:true
Dieser Wert kann auch durch das Vorhandensein der Microsoft.ApplicationsInsights-DLL 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 im App Service. (Zum Überprüfen des Verzeichnisses „wwwroot“ Ihrer App Service-Web-App wählen Sie Erweiterte Tools (Kudu) >Debugging-Konsole >CMD >home\site\wwwroot aus.)
IKeyExists:false
Dieser Wert gibt an, dass der Instrumentierungsschlüssel nicht in der App-Einstellung APPINSIGHTS_INSTRUMENTATIONKEY vorhanden ist. Mögliche Ursachen sind das versehentliche Entfernen der Werte, oder es wurde vergessen, die Werte im Automatisierungsskript festzulegen.
Stellen Sie sicher, dass die Einstellung in den App Service-Anwendungseinstellungen vorhanden ist.
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.
Fehlende Telemetrie
Überprüfen Sie, ob die App-Einstellung ApplicationInsightsAgent_EXTENSION_VERSION auf den Wert ~2 festgelegt ist.
Navigieren Sie zu https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
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.
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 Laufzeitinformationen 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.
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. Das Nachverfolgen clientseitiger Transaktionen auf einer PHP- oder WordPress-Website durch Hinzufügen von clientseitigem JavaScript-Code zu Ihren Webseiten kann mithilfe des JavaScript SDK erreicht werden.
Die folgende Tabelle enthält Erläuterungen 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. Ein Verweis auf System.Diagnostics.DiagnosticSource, Microsoft.AspNet.TelemetryCorrelation oder Microsoft.ApplicationInsights kann diesen Wert verursachen.
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.
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:
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.
Fehlende Telemetrie
Überprüfen Sie, ob die App-Einstellung ApplicationInsightsAgent_EXTENSION_VERSION auf einen Wert von ~2 unter Windows und ~3 unter Linux eingestellt ist
Überprüfen Sie die Protokolldatei, um zu sehen, ob der Agent erfolgreich gestartet wurde: Wechseln Sie zu ' https://yoursitename.scm.azurewebsites.net/ unter SSH in das Stammverzeichnis, die Protokolldatei befindet sich unter LogFiles/Applicationlnsights.
Nachdem Sie die Anwendungsüberwachung für Ihre Java-Anwendung aktiviert haben, können Sie überprüfen, ob der Agent funktioniert, indem Sie sich die Livemetriken ansehen. Noch bevor Sie die Anwendung in App Service bereitstellen, werden einige Anforderungen aus der Umgebung angezeigt. Denken Sie daran, dass die vollständigen Telemetriedaten nur dann zur Verfügung stehen, wenn Sie Ihre Anwendung bereitgestellt haben und diese ausgeführt wird.
Legen Sie die Umgebungsvariable APPLICATIONINSIGHTS_SELF_DIAGNOSTICS_LEVEL auf debug fest, wenn keine Fehler angezeigt werden und keine Telemetrie vorhanden ist.
Fehlende Telemetrie
Windows
Überprüfen Sie, ob die App-Einstellung ApplicationInsightsAgent_EXTENSION_VERSION auf den Wert ~2 festgelegt ist.
Navigieren Sie zu https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Stellen Sie sicher, dass für Application Insights Extension StatusPre-Installed Site Extension, version 2.8.x.xxxx, is running.angegeben ist.
Wenn SDKPresent auf „WAHR“ gesetzt ist, zeigt dies an, dass die Erweiterung erkannt hat, dass ein Teil des SDK bereits in der Anwendung vorhanden ist, und der Vorgang wird abgebrochen.
Linux
Überprüfen Sie, ob die App-Einstellung ApplicationInsightsAgent_EXTENSION_VERSION auf den Wert ~3 festgelegt ist.
Navigieren Sie zu /var/log/applicationinsights/ und öffnen Sie status.json.
Vergewissern Sie sich, dass SDKPresent auf false, und AgentInitializedSuccessfully auf true gesetzt sind und IKey einen gültigen iKey hat.
Wenn SDKPresent auf „WAHR“ gesetzt ist, zeigt dies an, dass die Erweiterung erkannt hat, dass ein Teil des SDK bereits in der Anwendung vorhanden ist, und der Vorgang wird abgebrochen.
Die Verwendung der automatischen Instrumentierung zusätzlich zur manuellen Instrumentierung könnte zu doppelter Telemetrie führen und Ihre Kosten erhöhen. Um die App Service OpenTelemetry-Autoinstrumentierung zu verwenden, entfernen Sie zunächst die manuelle Instrumentierung von OpenTelemetry aus Ihrem Code.
Fehlende Telemetrie
Wenn Ihnen Telemetriedaten fehlen, führen Sie die folgenden Schritte aus, um sicherzustellen, dass die automatische Instrumentierung korrekt aktiviert ist.
Vergewissern Sie sich, dass die automatische Instrumentierung in der Application Insights-Umgebung in Ihrer App Service-Ressource aktiviert ist.
Vergewissern Sie sich, dass die ApplicationInsightsAgent_EXTENSION_VERSION-App-Einstellung auf einen Wert ~3 festgelegt ist und dass APPLICATIONINSIGHTS_CONNECTION_STRING auf die entsprechende Application Insights-Ressource zeigt.
Überprüfen Sie die Diagnose und die Statusprotokolle der automatischen Instrumentierung.
a. Navigieren Sie zu /var/log/applicationinsights/ und öffnen Sie status_*.json.
b. Vergewissern Sie sich, dass AgentInitializedSuccessfully auf true gesetzt sind und IKey einen gültigen iKey hat.
Die applicationinsights-extension.log-Datei im selben Ordner kann andere hilfreiche Diagnosen anzeigen.
Django-Apps
Wenn Ihre App Django verwendet und entweder nicht startet oder falsche Einstellungen verwendet, stellen Sie sicher, dass Sie die DJANGO_SETTINGS_MODULE-Umgebungsvariable festlegen. Weitere Informationen finden Sie im Abschnitt Django-Instrumentatierung.
Dieser Abschnitt enthält die Versionshinweise für die Erweiterung für Azure App Service auf der Basis der endgültigen ANT-Produktversion für Laufzeitinstrumentierung mit Application Insights.
Wechseln Sie zu https://<yoursitename>.scm.azurewebsites.net/ApplicationInsights, um herauszufinden, welche Version der Erweiterung Sie zurzeit verwenden.
Separates .NET/.NET Core-, Java- und Node.js-Paket für verschiedene Windows-Websiteerweiterungen für App Service.
2.8.42
Eigenständige Bereitstellungen und .NET 6.0-Unterstützung mit .NET Startup Hook hinzugefügt.
2.8.41
Nicht mehr unterstützte Versionen (2.1) wurden entfernt. Unterstützt werden die Versionen 3.1 und 5.0.
2.8.39
Unterstützung für .NET Core 5.0 hinzugefügt.
2.8.38
Nicht mehr unterstützte Versionen (2.0, 2.2, 3.0) wurden entfernt. Unterstützt werden die Versionen 2.1 und 3.1.
2.8.37
AppSvc Windows-Erweiterung: .NET Core kann nun mit jeder Version von „System.Diagnostics.DiagnosticSource.dll“ verwendet werden.
2.8.36
AppSvc Windows-Erweiterung: Interoperabilität mit AI SDK in .NET Core wurde ermöglicht.
2.8.35
AppSvc Windows-Erweiterung: Unterstützung für .NET Core 3.1 wurde hinzugefügt.
2.8.33
.NET-, .NET Core-, Java- und Node.js-Agent und die Windows-Erweiterung: Unterstützung für Sovereign Clouds. Verbindungszeichenfolgen können zum Senden von Daten an Sovereign Clouds verwendet werden.
2.8.31
Der ASP.NET Core-Agent hat ein Problem mit dem Application Insights SDK behoben. Wenn durch die Runtime die falsche Version von System.Diagnostics.DiagnosticSource.dll geladen wurde, sorgt die codelose Erweiterung nicht mehr für einen Absturz der Anwendung und bricht den Vorgang ab. Um das Problem zu beheben, sollten Kunden „System.Diagnostics.DiagnosticSource.dll“ aus dem Ordner „bin“ löschen oder durch Festlegen von „ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24“ die ältere Version der Erweiterung verwenden. Wird dies nicht durchgeführt, ist die Anwendungsüberwachung nicht aktiviert.
2.8.26
Ein Problem im Zusammenhang mit dem aktualisierten Application Insights-SDK wurde behoben. Der Agent versucht nicht, „AiHostingStartup“ zu laden, wenn die ApplicationInsights.dll bereits im Ordner „bin“ vorhanden ist. Dies löst Probleme im Zusammenhang mit der Reflexion über „Assembly<AiHostingStartup>.GetTypes()“.
Bekannte Probleme: Die Ausnahme System.IO.FileLoadException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' (System.IO.FileLoadException: Die Datei oder Assembly „System.Diagnostics.DiagnosticSource, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51“ konnte nicht geladen werden.) kann ausgelöst werden, wenn eine andere Version von DiagnosticSource.dll geladen wird. Dieses Problem konnte z. B. auftreten, wenn „System.Diagnostics.DiagnosticSource.dll“ im Ordner „publish“ vorhanden ist. Verwenden Sie zur Risikominderung die vorherige Version der Erweiterung, indem Sie die App-Einstellungen in App Service wie folgt festlegen: ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24.
2.8.24
Neu paketierte Version von 2.8.21
2.8.23
Unterstützung für codelose Überwachung für ASP.NET Core 3.0 wurde hinzugefügt.
Das ASP.NET Core-SDK wurde für die Runtimeversionen 2.1, 2.2 und 3.0 auf 2.8.0 aktualisiert. .NET Core 2.0-Apps verwenden weiterhin Version 2.1.1 des SDKs.
2.8.14
Die Version des ASP.NET Core-SDK wurde für .NET Core 2.1- und .NET Core 2.2-Apps von 2.3.0 auf die neueste Version aktualisiert (2.6.1). .NET Core 2.0-Apps verwenden weiterhin Version 2.1.1 des SDKs.
2.8.12
Unterstützung für ASP.NET Core 2.2-Apps
Ein Fehler in der ASP.NET Core-Erweiterung wurde behoben, der ein Einfügen des SDK verursacht hat, auch wenn die Anwendung bereits über das SDK verfügte. Bei 2.1- und 2.2-Apps bewirkt das Vorhandensein von ApplicationInsights.dll im Anwendungsordner nun, dass die Erweiterung den Vorgang abbricht. Bei 2.0-Apps bricht die Erweiterung den Vorgang nur dann ab, wenn ApplicationInsights durch Aufrufen von UseApplicationInsights() aktiviert wird.
Das Problem einer unvollständigen HTML-Antwort für ASP.NET Core-Apps wurde dauerhaft behoben. Diese Problembehebung wurde nun auch auf .NET Core 2.2-Apps erweitert.
Die Unterstützung der Deaktivierung von JavaScript-Einfügung für ASP.NET Core-Apps (APPINSIGHTS_JAVASCRIPT_ENABLED=false appsetting) wurde hinzugefügt. In ASP.NET Core ist JavaScript-Einfügung standardmäßig aktiviert, wenn sie nicht explizit deaktiviert wird. (Diese Standardeinstellung wird vorgenommen, um das aktuelle Verhalten beizubehalten.)
Ein Fehler in der ASP.NET Core-Erweiterung wurde behoben, der ein Einfügen verursacht hat, auch wenn kein Instrumentierungsschlüssel vorhanden war.
Ein Fehler in der SDK-Versionspräfixlogik wurde behoben, der zu einer falschen SDK-Version in den Telemetriedaten geführt hat.
Ein SDK-Versionspräfix für ASP.NET Core-Apps wurde hinzugefügt, um zu ermitteln, wie die Telemetriedaten erfasst wurden.
Ein Fehler auf der Seite „SCM – ApplicationInsights“ wurde behoben, sodass nun die Version der vorinstallierten Erweiterung korrekt angezeigt wird.
2.8.10
Das Problem einer unvollständigen HTML-Antwort für ASP.NET Core-Apps wurde behoben.
Separates .NET/.NET Core-, Java- und Node.js-Paket für verschiedene Windows-Websiteerweiterungen für App Service.
2.8.33
.NET-, .NET Core-, Java- und Node.js-Agent und die Windows-Erweiterung: Unterstützung für Sovereign Clouds. Verbindungszeichenfolgen können zum Senden von Daten an Sovereign Clouds verwendet werden.
2.8.24
Neu paketierte Version von 2.8.21
2.8.43
Separates .NET/.NET Core-, Java- und Node.js-Paket für verschiedene Windows-Websiteerweiterungen für App Service.
.NET-, .NET Core-, Java- und Node.js-Agent und die Windows-Erweiterung: Unterstützung für Sovereign Clouds. Verbindungszeichenfolgen können zum Senden von Daten an Sovereign Clouds verwendet werden.
2.8.24
Neu paketierte Version von 2.8.21
2.8.43
Separates .NET/.NET Core-, Java- und Node.js-Paket für verschiedene Windows-Websiteerweiterungen für App Service.
2.8.42
KI-SDK wurde auf 2.1.8 von 2.1.7 aktualisiert. Unterstützung für benutzerseitig und systemseitig zugewiesene von Microsoft Entra verwaltete Identitäten wurde hinzugefügt.
.NET-, .NET Core-, Java- und Node.js-Agent und die Windows-Erweiterung: Unterstützung für Sovereign Clouds. Verbindungszeichenfolgen können zum Senden von Daten an Sovereign Clouds verwendet werden.