Offizielle Häufig gestellte Fragen zu Azure Monitor Application Insights. Hier finden Sie Antworten auf Fragen zur Verwendung von Application Insights mit Azure Monitor.
Überblick
Wie instrumentiere ich eine Anwendung?
Ausführliche Informationen zur Instrumentierung von Anwendungen zur Aktivierung von Application Insights finden Sie in den Grundlagen der Datensammlung.
Wie verwende ich Application Insights?
Nach dem Aktivieren von Application Insights durch das Instrumentieren einer Anwendung empfehlen wir zunächst das Überprüfen der Live-Metriken und der Anwendungskarte.
Welche Telemetriedaten erfasst Application Insights?
Von Server-Web-Apps:
- HTTP-Anforderungen.
- Abhängigkeiten wie SQL, HTTP, Azure Cosmos DB, Azure Table Storage, Azure Blob Storage und Azure Queue Storage-Aufrufe.
- Ausnahmen und Stapelspuren.
- Laufzeitmetriken aus der unterstützten Instrumentierung.
- Benutzerdefinierte Ereignisse und Metriken, die Sie mit der benutzerdefinierten OpenTelemetry-Telemetrie, dem JavaScript SDK oder Click Analytics senden.
- Ablaufverfolgungsprotokolle, wenn Sie den entsprechenden Sammler konfigurieren.
Von Kundenwebseiten:
Nicht abgefangene Ausnahmen in Ihrer App, einschließlich Informationen zu
- Stapelüberwachung
- Ausnahmedetails und Meldung, die den Fehler begleitet
- Zeilen- und Spaltennummer des Fehlers
- URL, bei der der Fehler ausgelöst wurde
- Anforderungen an die Netzwerkabhängigkeit, die von der XML HTTP-Anforderung (XHR) und Fetch Ihrer App ausgegeben werden (die Abrufsammlung ist standardmäßig deaktiviert), einschließlich Informationen zu:
- URL der Abhängigkeitsquelle
- Befehl und Methode, der bzw. die zum Anfordern der Abhängigkeit verwendet wird
- Dauer der Anforderung
- Ergebniscode und Erfolgsstatus der Anforderung
- ID (sofern vorhanden) des Benutzers, der die Anforderung sendet
- Korrelationskontext (falls vorhanden), in dem die Anforderung ausgegeben wird
Benutzerinformationen (z.B. Speicherort, Netzwerk, IP)
Geräteinformationen (z. B. Browser, Betriebssystem, Version, Sprache, Modell)
Sitzungsinformationen
Hinweis
Bei einigen Anwendungen, z. B. Einzelseitenanwendungen (SINGLE-Page Applications, SPAs), wird die Dauer nicht immer aufgezeichnet und in diesen Fällen standardmäßig auf 0 festgelegt.
Weitere Informationen entnehmen Sie Datensammlung, Aufbewahrung und Speicherung in Application Insights.
Aus anderen Quellen, sofern Sie sie konfigurieren:
Wohin gelangen die mit herkömmlichen Protokollierungsframeworks gesammelten Telemetriedaten?
Bei Verwendung von Protokollierungsframeworks wie Serilog werden Protokollnachrichten von Application Insights als Ablaufverfolgungs-Telemetrie erfasst und in der traces Tabelle (oder AppTraces in Log Analytics) gespeichert. Dies ist beabsichtigt, da Tabellen wie requests, dependenciesund exceptions sind für ihre jeweiligen Telemetrietypen reserviert.
Ausführliche Informationen finden Sie im Telemetriedatenmodell von Application Insights.
Wie viele Application Insights-Ressourcen sollte ich bereitstellen?
Informationen zur Anzahl der Application Insights-Ressourcen, die erforderlich sind, um Ihre Anwendung oder Komponenten in allen Umgebungen abzudecken, finden Sie im Bereitstellungsplanungshandbuch für Application Insights.
Wie kann ich Application Insights-Ressourcen mithilfe von PowerShell verwalten?
Sie können PowerShell-Skripts schreiben mithilfe von Azure Ressourcenmonitor:
- Erstellen und Aktualisieren von Application Insights-Ressourcen
- Festlegen des Tarifs
- Rufen Sie die Verbindungszeichenfolge ab.
- Hinzufügen einer Metrikwarnung
- Hinzufügen eines Verfügbarkeitstests
Sie können weder einen Metrik-Explorer-Bericht noch den fortlaufenden Export einrichten.
Wie kann ich Application Insights-Telemetriedaten abfragen?
Verwenden Sie die REST-API , um Log Analytics-Abfragen auszuführen.
Kann ich Telemetriedaten an das Application Insights-Portal senden?
Wir empfehlen die Azure Monitor OpenTelemetry Distro.
Das Ingestion-Schema und das Endpunkt-Protokoll sind öffentlich verfügbar.
Wie lange dauert das Sammeln von Telemetriedaten?
Die meisten Application Insights-Daten weisen eine Wartezeit von weniger als 5 Minuten auf. Einige Daten können länger dauern, was für größere Protokolldateien typisch ist. Weitere Informationen finden Sie unter Application Insights service-level agreement.
Wie funktioniert das Preismodell von Application Insights?
Gebühren für Application Insights werden über den Log Analytics-Arbeitsbereich in Rechnung gestellt, in den die Protokolldaten aufgenommen wurden. Der standardmäßige, nutzungsbasierte Tarif für Log Analytics umfasst 5 GB pro Monat kostenloser Datenzuteilung pro Abrechnungskonto. Weitere Informationen finden Sie unter Preisoptionen für Azure Monitor-Protokolle.
Gibt es Gebühren für die Datenübertragung zwischen einer Azure Web App und Application Insights?
- Wenn Ihre Azure Web-App in einem Rechenzentrum gehostet wird, in dem ein Application Insights-Sammlungsendpunkt vorhanden ist, fallen keine Gebühren an.
- Wenn in Ihrem Host-Rechenzentrum kein Erfassungsendpunkt vorhanden ist, verursacht die Telemetrie Ihrer App Azure-Gebühren für ausgehende Verbindungen.
Diese Antwort hängt von der Verteilung unserer Endpunkte ab, nicht davon, wo Ihre Application Insights-Ressource gehostet wird.
Entstehen Netzwerkkosten, wenn meine Application Insights-Ressource eine Azure Ressource (d. h. Telemetrie-Produzent) in einer anderen Region überwacht?
Ja, es können zusätzliche Netzwerkkosten anfallen, die je nach Region variieren, aus der die Telemetriedaten stammen und wohin sie gehen. Weitere Informationen finden Sie unter Azure Bandbreitenpreise.
Wenn unerwartete Gebühren oder hohe Kosten in Application Insights angezeigt werden, kann dieser Leitfaden hilfreich sein. Es deckt häufige Ursachen wie hohes Telemetrievolumen, Datenaufnahmespitzen und falsch konfiguriertes Sampling ab. Es ist besonders hilfreich, wenn Sie Probleme im Zusammenhang mit Kostenspitzen, Telemetrievolumen, nicht funktionierendem Sampling, Datenobergrenzen, hohem Dateninput oder unerwarteter Abrechnung beheben. Informationen zum Einstieg finden Sie unter Fehlerbehebung bei hohem Datenaufkommen in Application Insights.
Welche TLS-Versionen werden unterstützt?
Application Insights verwendet Transport Layer Security (TLS) 1.2 und 1.3.
Allgemeine Fragen zum älteren TLS-Problem finden Sie unter Solving tls problems and Azure Resource Manager TLS Support.
Wo erhalte ich weitere Informationen zu Application Insights?
Weitere Informationen finden Sie in der Einführung in Application Insights.
Datensammlung, Aufbewahrung, Speicherung und Datenschutz
Wie behandelt Application Insights Datensammlung, Aufbewahrung, storage und Datenschutz?
Kontext
Application Insights sammelt Telemetrie aus Ihrer App und speichert sie in einem Log Analytics-Arbeitsbereich. Es funktioniert für Apps, die überall gehostet werden, nicht nur in Azure.
Was gesammelt wird und woher
Telemetrie stammt aus: (1) das SDK, das Sie Ihrer App hinzufügen, einschließlich aller benutzerdefinierten Telemetrie, die Sie senden, (2) optionale Server-Agents und (3) Microsoft-Run-Verfügbarkeitstests. Typische Daten umfassen Anforderungen, Abhängigkeiten, Ausnahmen und Abstürze, Leistungsindikatoren, Client- und Serverkontext, Ablaufverfolgungen und alle von Ihnen gesendeten benutzerdefinierten Ereignisse oder Metriken. Um zu überprüfen, was gesendet wird, führen Sie Ihre App im Debugmodus aus, und überprüfen Sie die IDE-Ausgabe- oder Diagnosefenster. Öffnen Sie für Webseiten Ihren Browser developer tools, und überprüfen Sie die Registerkarte "Netzwerk". Sie können Telemetrie filtern oder anreichern, bevor sie gesendet wird, indem Sie einen Telemetrieprozessor implementieren.
Aufbewahrung und Speicherung
Die Aufbewahrung von Rohdaten kann auf 30, 60, 90, 120, 180, 270, 365, 550 oder 730 Tage festgelegt werden. Die Aufbewahrung über 90 Tage hinaus kann zusätzliche Gebühren verursachen. Aggregierte Metriken werden für 90 Tage mit einer Granularität von 1 Minuten aufbewahrt. Debugmomentaufnahmen werden 15 Tage lang aufbewahrt. Daten werden in der Region gespeichert, die Sie beim Erstellen der Ressource auswählen. Telemetrie ist nach der Erfassung unveränderlich. Telemetrie kann nicht bearbeitet werden. Löschvorgang ist verfügbar, um Daten bei Bedarf zu löschen.
Access, Sicherheit und Verschlüsselung
Daten sind für Sie und Teamkollegen mit access sichtbar und können exportiert werden. Microsoft verwendet Ihre Daten nur, um den Dienst mit eingeschränktem Personal access bereitzustellen und kann aggregierte Statistiken verwenden, um den Dienst zu verbessern. Telemetrie wird über HTTPS gesendet und Daten werden im Ruhezustand verschlüsselt und während sie zwischen Rechenzentren verschoben werden.
Datenschutz und verantwortungsvolle Nutzung
Standard-SDK-Module konzentrieren sich auf Leistung, Verwendung und Diagnose und enthalten in der Regel keine vertraulichen personenbezogenen Daten. Keine vertraulichen Daten in URLs einfügen. Überprüfen Sie die benutzerdefinierte Telemetrie, sodass sie keine personenbezogenen Daten enthält. Client-IP wird für geolocation verwendet, und das gespeicherte IP-Feld ist standardmäßig null. Wenn Sie maskieren müssen, fügen Sie einen Telemetrieinitialisierer hinzu. Wenn Ihre App eine Abmeldung benötigt, deaktivieren Sie die Sammlung im Code. Überprüfen Sie auch scheinbar unauffällige Felder, z. B. Gerätename auf persönlichen Geräten. Sie können eine Sammlung in der Konfiguration oder über Code steuern oder deaktivieren. Weitere Informationen finden Sie unter Geolocation- und IP-Adressbehandlung.
TLS
Verwenden Sie modernes TLS für Daten bei der Übertragung. Codieren Sie keine älteren Protokollversionen. Ermöglichen Sie der Plattform, neuere Versionen auszuhandeln, sobald sie verfügbar sind. Weitere Informationen finden Sie unter Secure your Azure Monitor deployment.
Lokale Puffer und Ausfälle
Wenn die Verbindung mit Azure verloren geht oder gedrosselt wird, können unterstützte OpenTelemetry-Exporter und aktuelle SDKs telemetrie lokal puffern und wiederholen. Den aktuellen Stand des OpenTelemetry-Verhaltens finden Sie unter Offlinespeicherung und automatische Wiederholungsversuche. Informationen zu Browserpuffereinstellungen finden Sie in der JavaScript SDK-Konfiguration.
Welche Nutzungsdaten sammelt Microsoft?
In vielen Fällen sammelt Application Insights automatisch Daten zur Produktnutzung für Microsoft. Diese Daten werden in einem Microsoft-Datenspeicher gespeichert und wirken sich nicht auf das Überwachungsvolumen und die Kosten der Kunden aus. Application Insights sammelt wichtige und nicht wesentliche Metriken zu folgenden Themen:
Die drei Hauptzwecke dieser Datensammlung sind:
- Dienststatus und Zuverlässigkeit - Überwachung der Konnektivität zum Endpunkt des Einbindens aus externer Sicht, um sicherzustellen, dass der Dienst korrekt funktioniert.
- Supportdiagnose – Bereitstellen von Selbsthilfeeinblicken und Unterstützung des Kundensupports bei der Diagnose und Behebung von Problemen.
- Produktverbesserung – Sammeln von Erkenntnissen für Microsoft, um das Produktdesign zu optimieren und die allgemeine Benutzererfahrung zu verbessern.
Hinweis
Die Sammlung von Verwendungsdaten unterstützt Azure Private Link nicht.
Unterstützte Sprachen
| Metriken | .NET | Java | JavaScript | Node.js | Python |
|---|---|---|---|---|---|
| Wesentliche Metriken | |||||
| Netzwerk | ❌ | ✅ | ❌ | ✅ | ✅ |
| Anfügen | ✔️* | ✅ | ❌ | ✅ | ✅ |
| Merkmal | ❌ | ✅ | ❌ | ✅ | ✅ |
| Nicht wesentliche Metriken | |||||
| Datenträger-E/A-Fehler | ❌ | ✅ | ❌ | ❌ | ❌ |
Unterstützte EU-Regionen
Die Sammlung von Nutzungsdaten unterstützt die EU-Datengrenze für Application Insights-Ressourcen in den folgenden Regionen:
| Geografischer Name | Regionsname |
|---|---|
| Europa | Nordeuropa |
| Europa | West Europe |
| Frankreich | Frankreich, Mitte |
| Frankreich | France South |
| Deutschland | Deutschland West Central |
| Norwegen | Norwegen, Osten |
| Norwegen | Westnorwegen |
| Schweden | Schweden, Mitte |
| Schweiz | Switzerland North |
| Schweiz | Schweiz, Westen |
| Vereinigtes Königreich | Vereinigtes Königreich, Süden |
| Vereinigtes Königreich | Vereinigtes Königreich, Westen |
Gesammelte Nutzungsdaten
Netzwerkmetriken
| Metrikname | Einheit | Unterstützte Dimensionen |
|---|---|---|
| Anzahl von erfolgreichen Anforderungen | Count |
Resource Provider, Attach Type, Instrumentation KeyRuntime Version, Operating System, Language, Version, EndpointHost |
| Anzahl von Anforderungsfehlern | Count |
Resource Provider, Attach Type, Instrumentation Key, Runtime Version, Operating System, Language, Version, Endpoint, Host, Status Code |
| Anforderungsdauer | Count |
Resource Provider, Attach Type, Instrumentation KeyRuntime Version, Operating System, Language, Version, EndpointHost |
| Anzahl der Wiederholungsversuche | Count |
Resource Provider, Attach Type, Instrumentation Key, Runtime Version, Operating System, Language, Version, Endpoint, Host, Status Code |
| Drosselanzahl | Count |
Resource Provider, Attach Type, Instrumentation Key, Runtime Version, Operating System, Language, Version, Endpoint, Host, Status Code |
| Anzahl von Ausnahmen | Count |
Resource Provider, Attach Type, Instrumentation Key, Runtime Version, Operating System, Language, Version, Endpoint, Host, Exception Type |
Anfügen von Metriken
| Metrikname | Einheit | Unterstützte Dimensionen |
|---|---|---|
| Anfügen | Count |
Resource Provider, , Resource Provider IdentifierAttach Type, Instrumentation Key, Runtime Version, Operating System, , LanguageVersion |
Funktions-Metriken
| Metrikname | Einheit | Unterstützte Dimensionen |
|---|---|---|
| Merkmal | Count |
Resource Provider, Attach Type, Instrumentation KeyRuntime Version, Feature, Type, Operating System, LanguageVersion |
Nicht wesentliche Metriken
Nachverfolgung von Festplatten-E/A-Fehlern, wenn Sie die Festplattenpersistenz für eine zuverlässige Telemetrie verwenden.
| Metrikname | Einheit | Unterstützte Dimensionen |
|---|---|---|
| Anzahl der Lesefehler | Count |
Resource Provider, , Attach TypeInstrumentation Key, Runtime Version, Operating System, , LanguageVersion |
| Anzahl der Schreibfehler | Count |
Resource Provider, , Attach TypeInstrumentation Key, Runtime Version, Operating System, , LanguageVersion |
Firewallkonfiguration
Metriken werden an die folgenden Stellen gesendet, zu denen ausgehende Verbindungen in Firewalls geöffnet werden müssen:
| Standort | URL |
|---|---|
| Europa | westeurope-5.in.applicationinsights.azure.com |
| Außerhalb Europas | westus-0.in.applicationinsights.azure.com |
Deaktivieren der Sammlung von Nutzungsdaten
.NET
Die Sammlung von Verwendungsdaten ist standardmäßig aktiviert. Es kann deaktiviert werden, indem Sie die Umgebungsvariable APPLICATIONINSIGHTS_STATSBEAT_DISABLED auf true festlegen.
Java
Hinweis
Nur nicht wesentliche Metriken können in Java deaktiviert werden.
Um nicht wesentliche Metriken zu deaktivieren, fügen Sie der Konfigurationsdatei die folgende Konfiguration hinzu:
{
"preview": {
"statsbeat": {
"disabled": "true"
}
}
}
Sie können dieses Feature auch deaktivieren, indem Sie die Umgebungsvariable APPLICATIONINSIGHTS_STATSBEAT_DISABLED auf true festlegen. Diese Einstellung hat dann Vorrang vor disabled, die in der JSON-Konfiguration angegeben wird.
Node.js
Die Sammlung von Verwendungsdaten ist standardmäßig aktiviert. Es kann deaktiviert werden, indem Sie die Umgebungsvariable APPLICATION_INSIGHTS_NO_STATSBEAT auf true festlegen.
Python
Die Sammlung von Verwendungsdaten ist standardmäßig aktiviert. Es kann deaktiviert werden, indem Sie die Umgebungsvariable APPLICATIONINSIGHTS_STATSBEAT_DISABLED_ALL auf true festlegen.
Archivierte Informationen
Archivierte Informationen finden Sie unter Datensammlung, Aufbewahrung und Speicherung in Application Insights.
TLS-Unterstützung
Ermitteln, ob sich die TLS-Abschaltung auf Sie auswirkt
Application Insights und Azure Monitor steuern nicht die TLS-Version, die für HTTPS-Verbindungen verwendet wird. Die TLS-Version hängt vom Betriebssystem und der Laufzeitumgebung ab, in der Ihre Anwendung ausgeführt wird.
So bestätigen Sie die verwendete TLS-Version:
- Lesen Sie die Dokumentation für Ihr Betriebssystem und Ihre Laufzeit oder Ihr Framework.
- Wenden Sie sich an das entsprechende Supportteam, wenn Sie weitere Hilfe benötigen. Öffnen Sie keine Supportanfrage mit Application Insights.
Beispielsprache und Laufzeitunterstützung für TLS 1.2+
Die folgenden Versionen enthalten integrierte Unterstützung für TLS 1.2 oder höher:
- .NET / .NET Core: .NET Framework 4.6.2 oder höher sowie alle Versionen von .NET Core
- Java: Java 8 Update 161 (8u161) oder höher
- Python: Python-Distributionen, die mit OpenSSL 1.0.1 oder höher erstellt wurden
- Node.js: Node.js Version 10 oder höher
Beispiel für die Betriebssystemunterstützung für TLS 1.2+
Die folgenden Betriebssysteme enthalten integrierte Unterstützung für TLS 1.2 oder höher:
- Windows: Windows 8, Windows Server 2012 und höher
- Linux: Die meisten modernen Linux-Distributionen, die OpenSSL 1.0.1 oder höher verwenden
Wie stelle ich sicher, dass meine Ressourcen nicht betroffen sind?
Um Dienstunterbrechungen zu vermeiden, muss jeder Remote-Endpunkt (einschließlich abhängiger Anforderungen), mit dem Ihre Ressource interagiert, mindestens eine Kombination aus derselben Protokollversion, Cipher Suite und elliptische Kurve unterstützen, die zuvor erwähnt wurde. Wenn der Remoteendpunkt die erforderliche TLS-Konfiguration nicht unterstützt, muss er aktualisiert werden, damit er eine Kombination der noch unterstützten TLS-Konfiguration nach der Deaktivierung unterstützt.
Nach dem 1. Mai 2025, was ist das Verhalten für betroffene Ressourcen?
Betroffene Application Insights-Ressourcen beenden die Datenaufnahme und können nicht auf die erforderlichen Anwendungskomponenten zugreifen. Daher funktionieren einige Features nicht mehr.
Welche Komponenten sind von der Veraltung betroffen?
Die in diesem Dokument beschriebene TLS-Veraltung (Transport Layer Security) sollte sich nur auf das Verhalten nach dem 1. Mai 2025 auswirken. Weitere Informationen zu CRUD-Vorgängen finden Sie unter Azure Resource Manager TLS-Unterstützung. Diese Ressource enthält weitere Details zu TLS-Support und zu Abkündigungs-Zeitachsen.
Wo erhalte ich TLS-Unterstützung (Transport Layer Security)?
Allgemeine Fragen zum Legacy-TLS-Problem finden Sie unter Lösen von TLS-Problemen.
Wo erhalte ich weitere Informationen zur TLS-Unterstützung in Application Insights?
Weitere Informationen finden Sie unter TLS-Unterstützung.
ASP.NET Core Anwendungen
Wie kann ich Telemetriedaten nachverfolgen, die nicht automatisch erfasst werden?
Verwenden Sie für die aktuelle Instrumentierung OpenTelemetry-APIs und sprachspezifische Protokollierungs- oder Metrik-APIs. Beispiele finden Sie unter "Sammeln von benutzerdefinierter Telemetrie".
Verwenden Sie für benutzerdefinierte Browserereignisse das Application Insights JavaScript SDK oder Click Analytics. Verwenden Sie für serverseitige benutzerdefinierte Ereignisse OpenTelemetry-Ereignisse.
Wie erfasse ich den Anforderungs- und Antworttext in meinen Telemetriedaten?
ASP.NET Core verfügt über built-In-Unterstützung zum Protokollieren von HTTP-Anforderungs- und Antwortinformationen, einschließlich des Textkörpers. Dies kann persönlich identifizierbare Informationen (PII) verfügbar machen und die Leistungs- und Eingabekosten erheblich steigern, sodass die Risiken sorgfältig bewertet werden sollten, bevor Sie dieses Verfahren verwenden.
Wie passe ich die Sammlung von ILogger-Protokollen an?
Konfigurieren Sie für aktuelle .NET-Anwendungen die Log-Erfassung über OpenTelemetry und Ihre Standardkonfiguration der .NET-Protokollierung. Verwenden Sie Logging:LogLevel in appsettings.json, um Anwendungsprotokollebenen auszuwählen und den OpenTelemetry-Protokollexport im Rahmen Azure Monitor OpenTelemetry-Setup zu konfigurieren. Siehe Aktivieren von OpenTelemetry mit Application Insights und Ändern der Telemetrie.
Ich habe meine ASP.NET Core Anwendung für Web-Apps bereitgestellt. Sollte ich die Application Insights-Erweiterung weiterhin von Web-Apps aktivieren?
Wählen Sie einen Instrumentierungspfad für die Anwendung aus. Verwenden Sie für codebasiertes aktuelles Setup Azure Monitor OpenTelemetry. Verwenden Sie für die Code-freie Überwachung von App-Diensten die Anwendungsüberwachung ohne Codeänderungen. Vermeiden Sie überlappende Instrumentierung für dieselbe App, es sei denn, Sie überprüfen eine Migration.
Kann ich die Application Insights-Überwachung aktivieren, ohne den Anwendungscode zu ändern?
Verwenden Sie für die Überwachung neuer Anwendungen die Azure Monitor OpenTelemetry Distro oder aktuelle Auto-Instrumentierungspfade. Siehe Aktivieren von OpenTelemetry mit Application Insights und Application Monitoring ohne Codeänderungen.
Wo erhalte ich weitere Informationen zur Verwendung von Application Insights für ASP.NET Core Anwendungen?
Aktuelle ASP.NET Core Instrumentation finden Sie unter Enable OpenTelemetry with Application Insights.
ASP.NET Leistungsindikatoren
Worin besteht der Unterschied zwischen der Ausnahmerate und der Ausnahmenmetrik?
-
Exception rate: Die Ausnahmerate ist ein Systemleistungsindikator. Die CLR zählt alle behandelten und nicht behandelten Ausnahmen, die ausgelöst werden, und dividiert das Ergebnis innerhalb eines Samplingintervalls durch die Länge dieses Intervalls. Das Application Insights SDK sammelt dieses Ergebnis und sendet es an das Portal. -
Exceptions: Die Metrik "Ausnahmen" zählt die Ausnahme-Telemetrie, die vom Portal im Samplingintervall des Diagramms empfangen wurde. Sie enthält behandelte Ausnahmen, die Ihre Instrumentierung liefert. Es kann nicht jede unbehandelte Ausnahme enthalten.
Wo erhalte ich weitere Informationen zu ASP.NET Leistungsindikatoren?
Aktuelle Hinweise zu Metriken finden Sie unter Metriken in Application Insights.
ASP.NET-Ereigniszähler
Werden EventCounters in Livemetriken angezeigt?
Livemetriken zeigen „EventCounters“ nicht an. Verwenden Sie den Metrik-Explorer oder Analytics, um die Telemetrie anzuzeigen.
Nachdem ich Application Insights aus dem Azure Web App-Portal aktiviert habe, warum kann ich keine Ereigniszähler sehen?
Die App-Dienstüberwachung ohne Codeänderungen unterstützt dieses Feature derzeit nicht für ASP.NET Core.
Wo erhalte ich weitere Informationen zu ASP.NET-Ereigniszählern?
Aktuelle Hinweise zu Metriken finden Sie unter Metriken in Application Insights.
Abhängigkeitsüberwachung
Wie meldet der automatische Abhängigkeitskollektor fehlgeschlagene Aufrufe an Abhängigkeiten?
Bei fehlgeschlagenen Abhängigkeitsaufrufen ist das Feld success auf false festgelegt. Die Abhängigkeitstelemetrie erstellt nicht automatisch ein separates Ausnahme-Element für jeden fehlgeschlagenen Abhängigkeitsaufruf. Das vollständige Datenmodell für abhängigkeits telemetrie wird im Telemetriemodell von Application Insights beschrieben.
Wie berechne ich die Erfassungslatenz meiner Abhängigkeits-Telemetrie?
Verwenden Sie diesen Code:
dependencies
| extend E2EIngestionLatency = ingestion_time() - timestamp
| extend TimeIngested = ingestion_time()
Wie ermittle ich die Uhrzeit, zu der der Abhängigkeitsaufruf initiiert wurde?
In der Abfrageansicht von Log Analytics steht timestamp für den Zeitpunkt, an dem der Telemetrievorgang für Abhängigkeiten eingeleitet wurde, was unmittelbar nach dem Empfang der Antwort auf den Abhängigkeitsaufruf geschieht. Um die Uhrzeit des Beginns des Abhängigkeitsaufrufs zu berechnen, subtrahieren Sie den aufgezeichneten timestamp-Wert des Abhängigkeitsaufrufs von duration.
Umfasst die Abhängigkeitsnachverfolgung in Application Insights Protokollierungsantworttexte?
Die Abhängigkeitsnachverfolgung in Application Insights umfasst keine Protokollierungsantworttexte, da sie für die meisten Anwendungen zu viele Telemetriedaten generieren würde.
Wo erhalte ich weitere Informationen zur Abhängigkeitsüberwachung in Application Insights?
Für aktuelle Informationen zu Abhängigkeiten und benutzerdefinierten Spananleitungen, siehe Benutzerdefinierte Spannen hinzufügen.
Verfügbarkeitstests
Kann ich Verfügbarkeitstests auf einem Intranetserver ausführen?
Verfügbarkeitstests werden auf Anwesenheitspunkten ausgeführt, die auf der ganzen Welt verteilt sind. Es gibt zwei Lösungen:
- Firewall-Tür: Erlaube Anfragen an deinen Server von der langen und wechselhaften Liste von Web-Test-Agenten.
- Benutzerdefinierter Code: Schreiben Sie eigenen Code, um aus dem Intranet regelmäßig Anforderungen an den Server zu senden. Sie können Visual Studio Webtests zu diesem Zweck ausführen. Senden Sie ein internes Zustandssignal und eine Warnung über das resultierende Protokoll oder die Metrik.
Was ist die Benutzer-Agent-Zeichenfolge für Verfügbarkeitstests?
Die Zeichenfolge des Benutzer-Agenten lautet: Mozilla/5.0 (kompatibel; MSIE 9.0; Windows NT 6.1; Trident/5.0; AppInsights).
Wo erhalte ich weitere Informationen zu Verfügbarkeitstests mit Application Insights?
Weitere Informationen finden Sie unter Verfügbarkeitstests.
TLS-Unterstützung für Verfügbarkeitstests
Wie wirkt sich die Deaktivierung auf mein Webtestverhalten aus?
Verfügbarkeitstests dienen als verteilter Client an jedem der unterstützten Webteststandorte. Jedes Mal, wenn ein Webtest ausgeführt wird, versucht der Verfügbarkeitstestdienst, sich an den Remoteendpunkt zu wenden, der in der Webtestkonfiguration definiert ist. Es wird eine TLS-Client-Hello-Nachricht gesendet, die alle derzeit unterstützten TLS-Konfigurationen enthält. Wenn der Remoteendpunkt eine gemeinsame TLS-Konfiguration mit dem Verfügbarkeitstestclient gemeinsam verwendet, ist der TLS-Handshake erfolgreich. Andernfalls schlägt der Webtest mit einem TLS-Handshake-Fehler fehl.
Wie überprüfe ich, welche TLS-Konfiguration ein entfernter Endpunkt unterstützt?
Es stehen mehrere Tools zur Verfügung, um zu testen, welche TLS-Konfiguration ein Endpunkt unterstützt. Eine Möglichkeit wäre, dem auf dieser Seite detaillierten Beispiel zu folgen. Wenn Ihr Remoteendpunkt nicht über das öffentliche Internet verfügbar ist, müssen Sie sicherstellen, dass Sie die von dem Remoteendpunkt unterstützte TLS-Konfiguration von einem Computer aus überprüfen, der Zugriff hat, um Ihren Endpunkt aufzurufen.
Hinweis
Für Schritte zum Aktivieren der erforderlichen TLS-Konfiguration auf Ihrem Webserver empfiehlt es sich, sich an das Team zu wenden, das die Hostplattform besitzt, auf der Ihr Webserver ausgeführt wird, wenn der Prozess nicht bekannt ist.
Was ist nach dem 1. Mai 2025 das Webtestverhalten für betroffene Tests?
Es gibt keinen Ausnahmetyp, bei dem sich alle von dieser Abkündigung betroffenen TLS-Handshakefehler selbst darstellen. Die häufigste Ausnahme, mit der Ihr Webtest fehlschlägt, wäre jedoch The request was aborted: Couldn't create SSL/TLS secure channel. Sie sollten auch alle TLS-bezogenen Fehler im TLS-Transport-Troubleshooting Step für das Webtestergebnis sehen können, das potenziell beeinträchtigt wird.
Kann ich anzeigen, welche TLS-Konfiguration derzeit von meinem Webtest verwendet wird?
Die TLS-Konfiguration, die während einer Webtestausführung ausgehandelt wurde, kann nicht angezeigt werden. Solange der Remoteendpunkt übliche TLS-Konfigurationen mit Verfügbarkeitstests unterstützt, sollten nach der Stilllegung keine Auswirkungen erkennbar sein.
Welche Komponenten wirken sich auf die Abkündigung im Verfügbarkeitstestdienst aus?
Die in diesem Dokument beschriebene TLS-Abschaffung sollte sich nur auf das Ausführungsverhalten von Verfügbarkeitstests und Webtests nach dem 1. Mai 2025 auswirken. Weitere Informationen zur Interaktion mit dem Verfügbarkeitstestdienst für CRUD-Vorgänge finden Sie unter Azure Resource Manager TLS-Unterstützung. Diese Ressource enthält weitere Details zu TLS-Support und zu Abkündigungs-Zeitachsen.
Wo erhalte ich TLS-Unterstützung?
Allgemeine Fragen zum Legacy-TLS-Problem finden Sie unter Lösen von TLS-Problemen.
Wo erhalte ich weitere Informationen zur TLS-Unterstützung für Verfügbarkeitstests?
Weitere Informationen finden Sie unter Unterstützte TLS-Konfigurationen.
Überwachung in Azure App Service für .NET-, Node.js-, Python- und Java-Anwendungen
Was ändert Application Insights in meinem project?
Die Änderungen hängen vom Instrumentierungspfad ab. Die Überwachung des App-Diensts ohne Code verwendet in der Regel App-Einstellungen und Plattformkonfigurationen. Die codebasierte Überwachung verwendet das OpenTelemetry-Paket und die Startkonfiguration für die ausgewählte Sprache. Aktuelle Anleitungen finden Sie unter Enable application monitoring in Azure App Service and Enable OpenTelemetry with Application Insights.
Was ist der Unterschied zwischen Standardmetriken aus 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 Web-Apps oder dem Webserver auftritt und die Anforderung die Benutzeranwendung nicht erreicht hat, verfügt Application Insights nicht über Telemetrie.
Die von Application Insights berechnete Dauer für serverresponsetime stimmt nicht unbedingt mit der serverantwortzeit überein, die von Web-Apps beobachtet wird. Application Insights zählt die Dauer, wenn die Anforderung die Benutzeranwendung erreicht. Wenn die Anforderung hängen bleibt oder auf dem Webserver in die Warteschlange gestellt wird, wird die Wartezeit in die Web-Apps Metriken eingeschlossen, aber nicht in Application Insights-Metriken.
Wo erhalte ich weitere Informationen zur Überwachung in Azure App Service für .NET, Node.js, Python und Java-Anwendungen?
Weitere Informationen finden Sie unter Enable application monitoring in Azure App Service.
Automatische Instrumentierung
Sollte der Begriff „Autoinstrumentation“ mit einem Bindestrich geschrieben werden?
Wir folgen dem Microsoft-Styleguide für Produktdokumentation, der auf der Microsoft Learn-Plattform veröffentlicht wurde.
In der Regel verwenden wir nach dem Präfix "auto" keinen Bindestrich.
Wo erhalte ich weitere Informationen zur automatischen Instrumentierung?
Weitere Informationen finden Sie unter Was ist die automatisierte Instrumentierung für Azure Monitor Application Insights?.
Verbindungszeichenfolgen
Benötigen neue Azure Regionen die Verwendung von Verbindungszeichenfolgen?
Neue Azure-Regionen erfordern die Verwendung von Verbindungszeichenfolgen anstelle von Instrumentierungsschlüsseln. Connection string identifiziert die Ressource, die Sie Ihren Telemetriedaten zuordnen möchten. Hier können Sie die Endpunkte ändern, die Ihre Ressource als Ziel für die Telemetrie verwendet. Kopieren Sie die Verbindungszeichenfolge, und fügen Sie sie dem Code Ihrer Anwendung oder einer Umgebungsvariable hinzu.
Sollte ich Verbindungszeichenfolgen oder Instrumentierungsschlüssel verwenden?
Es wird empfohlen, Verbindungszeichenfolgen anstelle von Instrumentierungsschlüsseln zu verwenden.
Wann muss ich die Umgebungsvariable festlegen?
Stellen Sie das APPLICATIONINSIGHTS_CONNECTION_STRING manuell in allen Szenarien ein, in denen das System es nicht automatisch bereitstellt. Diese Szenarien umfassen, sind jedoch nicht beschränkt auf: lokale Entwicklung und .NET isolierte Funktionen mithilfe ASP.NET Core Integration. In diesen Fällen stellt die Umgebungsvariable sicher, dass die OpenTelemetry-Pipeline Telemetrie an Application Insights senden kann. Weitere Informationen zum Konfigurieren von Verbindungszeichenfolgen mit einer Umgebungsvariablen finden Sie unter Konfigurieren von OpenTelemetry in Application Insights.
Sollte ich eine separate Application Insights-Ressource für Browsertelemetrie verwenden, wenn ich authentifizierte serverseitige Aufnahme oder OTLP verwende?
Nicht streng. Eine einzelne Application Insights-Ressource kann Browsertelemetrie aus dem Application Insights JavaScript SDK und serverseitige Telemetrie empfangen, die mithilfe der authentifizierten Erfassung gesendet wird, wenn die lokale Authentifizierung für die Browseraufnahme aktiviert bleibt. Serverseitige Telemetrie kann Microsoft Entra authentifizierte Erfassung verwenden und OTLP-Erfassung mithilfe des OpenTelemetry Collector erfordert Microsoft Entra Authentifizierung. Sie müssen OpenTelemetry oder OTLP nicht nur vermeiden, weil Ihre Anwendung auch Browser-Telemetrie sammelt.
Die Hauptausnahme ist, wenn Sie die lokale Authentifizierung für eine Application Insights-Ressource deaktivieren, um Microsoft Entra Authentifizierung für alle Erfassungen erforderlich zu machen. In dieser Konfiguration kann sich das JavaScript-SDK nicht direkt über den Browser authentifizieren, und die Browser-Telemetrie kann möglicherweise nicht mehr fließen. Verwenden Sie für Die Browsertelemetrie in diesem Szenario eine separate Browsertelemetrieressource mit aktivierter lokaler Authentifizierung, oder leiten Sie die Browsertelemetrie über ein authentifiziertes Proxymuster weiter. Weitere Informationen finden Sie unter Authentifizierte Browser-Telemetrie mithilfe von Verbindungszeichenfolgen.
Auch wenn eine einzelne Ressource technisch funktioniert, sollten Sie eine separate Application Insights-Ressource für browser-/clientseitige Telemetrie als bewährte Methode zur Risikoisolation verwenden. Die Browserinstrumentation wird in einer nicht vertrauenswürdigen Clientumgebung ausgeführt, sodass die Verbindungszeichenfolge für Benutzer sichtbar ist und nicht als geheimer Schlüssel behandelt werden kann. Eine offengelegte Verbindungszeichenfolge kann möglicherweise verwendet werden, um gefälschte, irrelevante oder umfangreiche Telemetriedaten an die zugeordnete Ressource zu senden, was Dashboards, Warnungen und Fehlerbehandlungsanfragen beeinträchtigen und die Erfassungskosten erhöhen kann.
Eine separate Browser-Telemetrieressource kann Ihnen helfen:
- Die browserseitige Verbindungszeichenfolge drehen oder ersetzen, ohne die serverseitige Telemetrie zu unterbrechen.
- Spoofing-, Spam- oder unbrauchbare Telemetriedaten auf die browserspezifische Ressource beschränken.
- Schützen Sie die Qualität der serverseitigen Telemetrie, die für Diagnose, Warnung und Betriebsanalyse verwendet wird.
- Wenden Sie bei Bedarf unterschiedliche Zugriffssteuerungs-, Besitz- oder Governanceeinstellungen an.
Wägen Sie zwischen diesen Vorteilen und dem zusätzlichen Verwaltungsaufwand mehrerer Ressourcen ab, einschließlich zusätzlicher Verbindungszeichenfolgen, RBAC-Zuordnungen, Konfiguration und ressourcenübergreifenden Untersuchungen. Die End-to-End-Korrelation kann weiterhin über mehrere Application Insights-Ressourcen hinweg funktionieren, wenn der Benutzer Zugriff auf die relevanten Ressourcen hat. Weitere Informationen finden Sie unter Anwendungszuordnung und Transaktionsdiagnose.
Private Link- und Aufnahmeauthentifizierung sind separate Steuerelemente. Private Link steuert den Netzwerkzugriff auf Azure Monitor Ressourcen; Microsoft Entra Authentifizierung steuert, ob die Telemetrieaufnahme durch eine Identität autorisiert ist. Verwenden Sie Private Link nicht als Ersatz für die Aufnahmeauthentifizierung, und behandeln Sie die Ressourcentrennung nicht als Anforderung für die authentifizierte serverseitige Erfassung.
Wie implementiere ich eine globale Webanwendung, um regionale Datenschutzanforderungen zu erfüllen?
Verwenden Sie regionale Application Insights-Endpunkte anstelle des globalen Endpunkts, um regionale Datencomplianceanforderungen zu erfüllen. Der globale Endpunkt garantiert nicht, dass Daten innerhalb einer bestimmten Region verbleiben. Regionale Endpunkte sorgen dafür, dass Telemetrie von Benutzern in regulierten Bereichen nur an Rechenzentren in diesen Regionen gesendet wird.
So konfigurieren Sie Ihre globale Webanwendung für regionale Compliance:
- Erstellen Sie eine Application Insights-Ressource pro Region mit strengen Complianceanforderungen, z. B. der Europäischen Union oder der USA.
- Erstellen Sie eine weitere Application Insights-Ressource für Benutzer in allen anderen Regionen.
- Konfigurieren Sie Ihre Anwendung so, dass telemetrie an die entsprechende Application Insights-Ressource basierend auf der Region der einzelnen Benutzer gesendet wird. Bestimmen Sie die Region mithilfe von Signalen wie IP-Adresse, Kontometadaten oder Standorteinstellungen.
- Verbinden Sie alle Application Insights-Ressourcen mit einem Log Analytics-Arbeitsbereich, wenn Sie eine einheitliche Abfrageerfahrung in allen Regionen benötigen.
Beispiel:
- Das Senden von Daten von Benutzern in Region A an die Ressource „Region A Application Insights“ erfolgt unter Verwendung der Verbindungszeichenfolge von Region A.
- Senden von Daten von Benutzern aus der Region B an die Application Insights-Ressource in der Region B unter Verwendung der Verbindungszeichenfolge der Region B.
- Senden Sie alle anderen Benutzerdaten mithilfe einer anderen Verbindungszeichenfolge an eine allgemeine Application Insights-Ressource.
Von Bedeutung
Die Verwendung des globalen Endpunkts stellt keine regionale Compliance sicher. Verwenden Sie für die Erfüllung der Anforderungen an die Datenhaltung immer regionsspezifische Endpunkte, und leiten Sie Telemetrie basierend auf der Region des Benutzers weiter.
Das folgende Diagramm zeigt ein Beispielsetup für eine globale Webanwendung:
Wo erhalte ich weitere Informationen zu Verbindungszeichenfolgen in Application Insights?
Weitere Informationen finden Sie unter Verbindungszeichenfolgen.
Erstellen und Konfigurieren von Application Insights-Ressourcen
Wie kann ich eine Application Insights-Ressource in eine neue Region verschieben?
Das Übertragen vorhandener Application Insights-Ressourcen zwischen Regionen wird nicht unterstützt, und Sie können historische Daten nicht zu einer neuen Region migrieren. Die Problemumgehung umfasst Folgendes:
- Erstellen einer neuen Application Insights-Ressource in der gewünschten Region.
- Neuerstellen aller eindeutigen Anpassungen der ursprünglichen Ressource in der neuen Ressource
- Aktualisieren Ihrer Anwendung mit der Verbindungszeichenfolge der Ressource in der neuen Region
- Testen mit der neuen Application Insights-Ressource, um die erwartungsgemäße Funktionsweise sicherzustellen
- Festlegen, ob die ursprüngliche Application Insights-Ressource beibehalten oder gelöscht werden soll. Beim Löschen einer klassischen Ressource gehen alle historischen Daten verloren. Wenn die Ressource arbeitsbereichbasiert ist, verbleiben die Daten in Log Analytics, sodass auf historische Daten bis zum Ablauf des Aufbewahrungszeitraums zugegriffen werden kann.
Eindeutige Anpassungen, die für die Ressource in der neuen Region normalerweise manuell neu erstellt oder aktualisiert werden müssen, umfassen beispielsweise Folgendes:
- Neuerstellen von benutzerdefinierten Dashboards und Arbeitsmappen.
- Neuerstellen oder Aktualisieren des Umfangs von benutzerdefinierten Protokoll-/Metrikwarnungen.
- Neuerstellen von Verfügbarkeitswarnungen.
- Erstellen Sie erneut alle benutzerdefinierten, rollenbasierten Azure-Zugriffskontrolleinstellungen, die für Ihre Benutzer erforderlich sind, um auf die neue Ressource zuzugreifen.
- Einstellungen für Stichprobenentnahme von Daten, Datenaufbewahrung, tägliche Obergrenze und Aktivierung benutzerdefinierter Metriken replizieren. Diese Einstellungen werden über den Bereich Nutzungs- und geschätzte Kosten gesteuert.
- Jede Integration, die auf API-Schlüsseln basiert, wie z. B. Versionsanmerkungen und einem sicheren Steuerungskanal für Livemetriken. Sie müssen neue API-Schlüssel generieren und die zugeordnete Integration aktualisieren.
- Der fortlaufende Export in klassische Ressourcen muss erneut konfiguriert werden.
- Diagnoseeinstellungen in arbeitsbereichsbasierten Ressourcen müssen erneut konfiguriert werden.
Kann ich anbieter('Microsoft.Insights', 'components').apiVersions[0] in meinen Azure Resource Manager-Bereitstellungen verwenden?
Es wird davon abgeraten, diese Methode zum Auffüllen der API-Version zu verwenden. Die neueste Version kann Vorschaureleases darstellen, die Breaking Changes enthalten können. Auch bei neueren Nichtvorschauversionen sind die API-Versionen nicht immer abwärtskompatibel mit vorhandenen Vorlagen. In einigen Fällen ist die API-Version möglicherweise nicht für alle Abonnements verfügbar.
Wo erhalte ich weitere Informationen zum Erstellen und Konfigurieren von Application Insights-Ressourcen?
Weitere Informationen finden Sie unter Erstellen und Konfigurieren von Application Insights-Ressourcen.
Telemetriedatenmodell
Wie kann ich Datenmodell- oder Schemaprobleme und Vorschläge melden?
Um Datenmodell- oder Schemaprobleme und Vorschläge zu melden, verwenden Sie unser GitHub Repository.
Wie kann ich die Auswirkungen einer Überwachungskampagne messen?
Die PageView-Telemetrie enthält eine URL, und Sie können den UTM-Parameter mithilfe einer RegEx-Funktion in Kusto analysieren.
Es kann gelegentlich vorkommen, dass diese Daten fehlen oder ungenau sind, wenn der Benutzer oder das Unternehmen das Senden des Benutzer-Agents in den Browsereinstellungen deaktiviert. Die UA Parser regexes enthalten möglicherweise nicht alle Geräteinformationen. Oder Application Insights hat möglicherweise nicht die neuesten Updates übernommen.
Warum wäre eine benutzerdefinierte Messung ohne Fehler erfolgreich, aber das Protokoll wird nicht angezeigt?
Dies kann auftreten, wenn Sie Zeichenfolgenwerte verwenden. Nur numerische Werte funktionieren mit benutzerdefinierten Messungen.
Wo erhalte ich weitere Informationen zum Telemetriedatenmodell?
Weitere Informationen finden Sie unter Application Insights-Telemetriedatenmodell.
Protokollierung mit .NET
Welcher Typ von Application Insights-Telemetriedaten wird anhand von ILogger-Protokollen erstellt? Wo kann ich ILogger-Protokolle in Application Insights einsehen?
OpenTelemetry-Protokolldatensätze werden in der traces Tabelle in Application Insights-Protokollen gespeichert. Um sie im Azure-Portal anzuzeigen, öffnen Sie Ihre Application Insights-Ressource, wählen Sie Logs aus, und fragen Sie die Tabelle traces ab.
Beispielabfrage: traces | where message contains "YourSearchTerm".
Wie passe ich die Sammlung von ILogger-Protokollen an?
Konfigurieren Sie für aktuelle .NET-Anwendungen die Log-Erfassung über OpenTelemetry und Ihre Standardkonfiguration der .NET-Protokollierung. Verwenden Sie Logging:LogLevel in appsettings.json, um Anwendungsprotokollebenen auszuwählen und den OpenTelemetry-Protokollexport im Rahmen Azure Monitor OpenTelemetry-Setup zu konfigurieren. Siehe Aktivieren von OpenTelemetry mit Application Insights und Ändern der Telemetrie.
Warum weisen einige ILogger-Protokolle nicht dieselben Eigenschaften wie andere auf?
Wenn Protokolle ausgegeben werden, bevor die Konfiguration der Anwendungstelemetrie abgeschlossen ist, können sie weniger erweiterte Eigenschaften aufweisen als Protokolle, die später im Anwendungslebenszyklus ausgegeben werden.
Wie sollte ich benutzerdefinierte Telemetrie manuell senden?
Senden Sie für die aktuelle Instrumentierung benutzerdefinierte Telemetrie mit OpenTelemetry-APIs oder der Azure Monitor OpenTelemetry Distro. Beispiele finden Sie unter "Sammeln von benutzerdefinierter Telemetrie".
Wo erhalte ich weitere Informationen zur Protokollierung mit .NET?
Aktuelle .NET Instrumentation finden Sie unter Enable OpenTelemetry with Application Insights.
Java-Profilierungstool
Was ist Azure Monitor Application Insights Java Profiling?
Der Java-Profiler verwendet Java Flight Recorder (JFR), um ein Profil Ihrer Anwendung mithilfe einer benutzerdefinierten Konfiguration zu erstellen.
Was ist Java Flight Recorder?
Java Flight Recorder (JFR) ist ein Tool zum Sammeln von Profilerstellungsdaten einer ausgeführten Java-Anwendung. JFR ist in der Java Virtual Machine (JVM) integriert und wird zum Beheben von Leistungsproblemen verwendet. Erfahren Sie mehr über die Java SE JFR Runtime.
Wie hoch sind die Kosten und/oder Lizenzgebühren für die Aktivierung von App Insights-Java-Profilerstellung?
Die Java-Profilerstellung ist ein kostenloses Feature von Application Insights. Die Preise für Azure Monitor Application Insights basieren auf den Kosten für das Datenaufkommen.
Welche Java-Profilerstellungsinformationen werden erfasst?
Zu den vom JFR gesammelten Profilerstellungsdaten gehören: Methoden- und Ausführungsprofilerstellungsdaten, Garbage Collection-Daten und Sperrprofile.
Wie kann ich die App Insights-Java-Profilerstellung verwenden und die Daten visualisieren?
Die JFR-Aufzeichnung kann mit Ihrem bevorzugten Tool angezeigt und analysiert werden, z. B. Java Mission Control (JMC).
Werden mit der App Insights-Java-Profilerstellung Leistungsdiagnosen und Empfehlungen zur Behebung von Problemen bereitgestellt?
„Leistungsdiagnose und Empfehlungen“ ist ein neues Feature, das in Kürze als Application Insights-Java-Diagnose verfügbar sein wird. Sie können sich für eine Vorschau dieses Features registrieren. Die JFR-Aufzeichnung kann mit Java Mission Control (JMC) angezeigt werden.
Was ist der Unterschied zwischen der bedarfsgesteuerten und der automatischen Java-Profilerstellung in App Insights?
Die bedarfsgesteuerte Profilerstellung erfolgt durch den Benutzer in Echtzeit, während die automatische Profilerstellung mit vorkonfigurierten Triggern erfolgt.
Verwenden Sie Jetzt Profil erstellen für die Option zur bedarfsgesteuerten Profilerstellung. Jetzt Profil erstellen erstellt sofort ein Profil aller Agents, die mit der Application Insights-Instanz verbunden sind.
Die automatisierte Profilerstellung wird durch das Erreichen eines Ressourcenschwellenwerts ausgelöst.
Welche Trigger für die Java-Profilerstellung kann ich konfigurieren?
Der Application Insights-Java-Agent unterstützt derzeit die Überwachung von CPU- und Arbeitsspeicherverbrauch. Der CPU-Schwellenwert wird als Prozentsatz aller verfügbaren Kerne auf dem Computer konfiguriert. Der Arbeitsspeicher ist die aktuelle Belegung der Tenured-Speicherregion (OldGen) im Verhältnis zur maximal möglichen Größe der Region.
Welche Voraussetzungen müssen erfüllt sein, um die Java-Profilerstellung zu aktivieren?
Überprüfen Sie die Voraussetzungen.
Kann ich die Java-Profilerstellung für eine Microservices-Anwendung verwenden?
Ja, Sie können für eine JVM, die Microservices mithilfe von JFR ausführt, ein Profil erstellen.
Wo erhalte ich weitere Informationen zu Java Profiler?
Weitere Informationen finden Sie unter Azure Monitor Application Insights Profiler für Java.
Sampling-Außerkraftsetzungen – Application Insights für Java
Muss ich die manuelle Instrumentierung verwenden, um Sampling-Außerkraftsetzungen zu aktivieren?
Nein, Sampling-Außerkraftsetzungen sind jetzt allgemein verfügbar (GA) und können sowohl mit automatischer Instrumentierung als auch mit manueller Instrumentierung verwendet werden.
Wie kann ich Sampling-Außerkraftsetzungen konfigurieren, wenn ich Azure App Service mit automatischer Instrumentierung verwende?
Wenn Sie autoinstrumentation verwenden, aktualisieren Sie die Datei applicationinsights.json im Azure portal.
Ist es erforderlich, die Application Insights-Agent-Datei manuell für Sampling-Außerkraftsetzungen hochzuladen?
Für die automatische Instrumentierung ist kein manueller Agentupload erforderlich. Bei manueller Instrumentierung müssen Sie jedoch weiterhin die Application Insights-Agent-JAR-Datei und Konfigurationsdateien in Ihr Bereitstellungspaket einschließen.
Was ist der Unterschied zwischen "lokaler Entwicklung" und "Anwendungsserver" im Kontext der manuellen Instrumentierung?
Die lokale Entwicklung bezieht sich auf die Umgebung, in der die App erstellt oder getestet wird, z. B. den Computer eines Entwicklers oder eine Azure Cloud Shell Instanz. Anwendungsserver bezieht sich auf den Webserver, auf dem die Anwendung ausgeführt wird, z. B. Tomcat 11 in einem Azure App Service environment. Bei Verwendung manueller Instrumentierung müssen Sie sicherstellen, dass die Agent-JAR-Datei auf dem Anwendungsserver korrekt platziert ist.
Wie kann ich Sampling-Außerkraftsetzungen konfigurieren, wenn ich einen Azure App Service mit einer Java-Runtime (z. B. Tomcat 11) verwende?
Für die automatische Instrumentierung können Sie Sampling-Außerkraftsetzungen über das Azure-Portal konfigurieren. Wenn Sie die manuelle Instrumentierung verwenden, sollten Sie den Application Insights-Agent JAR in das entsprechende Verzeichnis einfügen und die applicationinsights.json Datei mit den gewünschten Samplingeinstellungen einschließen.
Wo erhalte ich weitere Informationen zu Sampling-Außerkraftsetzungen?
Weitere Informationen finden Sie unter Sampling-Außerkraftsetzungen – Azure Monitor Application Insights für Java.
Telemetrieprozessoren
Warum verarbeitet der Protokollprozessor keine Logs außerhalb der OpenTelemetry-Instrumentierung?
OpenTelemetry-Prozessoren können mit Telemetrie arbeiten, die über die OpenTelemetry-Pipeline fließt. Protokolle oder Dateien, die außerhalb dieser Pipeline geschrieben sind, werden nicht von OpenTelemetry-Prozessoren verarbeitet, es sei denn, Sie sammeln sie explizit.
Wo erhalte ich weitere Informationen zu Telemetrieprozessoren?
Weitere Informationen finden Sie unter Telemetry-Prozessoren (Vorschau) – Azure Monitor Anwendungs-Insights für Java.
JavaScript SDK
Was sind Benutzer- und Sitzungszähler?
- Das JavaScript-SDK legt im Webclient ein Benutzercookie zum Identifizieren wiederkehrender Benutzer und ein Sitzungscookie zum Gruppieren von Aktivitäten fest.
- Wenn kein clientseitiges Skript vorhanden ist, können Sie Cookies auf dem Server festlegen.
- Wenn ein realer Benutzer Ihre Website in verschiedenen Browsern, beim InPrivate- oder Inkognito-Browsing oder auf unterschiedlichen Computern verwendet, wird er mehrmals gezählt.
- Um einen angemeldeten Benutzer über Computer und Browser hinweg zu identifizieren, verwenden Sie den authentifizierten JavaScript SDK-Benutzerkontext , oder legen Sie das OpenTelemetry-Attribut
enduser.idfest.
Wo liegt die JavaScript SDK-Leistung/der Mehraufwand?
Das Application Insights JavaScript SDK hat einen minimalen Mehraufwand für Ihre Website. Mit einer Größe von nur 36 KB (gzip) und einer Initialisierungszeit von nur etwa 15 ms fügt das SDK Ihrer Website nur eine vernachlässigbare Menge an Ladezeit hinzu. Die minimalen Komponenten der Bibliothek werden schnell geladen, wenn Sie das SDK verwenden, und das vollständige Skript wird im Hintergrund heruntergeladen.
Darüber hinaus wird während des Herunterladens des Skripts aus dem CDN die gesamte Nachverfolgung Ihrer Seite in die Warteschlange gestellt, sodass Sie während des gesamten Lebenszyklus Ihrer Seite keine Telemetriedaten verlieren. Dieser Setupvorgang stellt für Ihre Seite ein nahtloses Analysesystem bereit, das für Ihre Benutzer unsichtbar ist.
Welche Browser werden vom JavaScript SDK unterstützt?
|
|
|
|
|
|---|---|---|---|---|
| Chrome (neueste Version) ✔ | Firefox (neueste Version) ✔ | v3.x: IE 9 und höher sowie Microsoft Edge ✔ v2.x: Kompatibel mit IE 8+ & Microsoft Edge ✔ |
Opera (neueste Version) ✔ | Safari (neueste Version) ✔ |
Wo finde ich Codebeispiele für das JavaScript SDK?
Für ausführbare Beispiele siehe Application Insights JavaScript SDK samples.
Wie ist die ES3-/Internet-Explorer 8-Kompatibilität mit dem JavaScript SDK?
Wir müssen sicherstellen, dass dieses SDK weiterhin funktioniert und nicht die Ausführung von JavaScript unterbricht, wenn es von einem älteren Browser geladen wird. Es wäre zwar optimal, ältere Browser nicht zu unterstützen, aber zahlreiche Großkunden können nicht steuern, welchen Browser ihre Benutzer verwenden.
Diese Aussage bedeutet nicht, dass wir nur den kleinsten gemeinsamen Leistungsumfang unterstützen werden. Wir müssen ES3-Codekompatibilität aufrechterhalten. Neue Funktionen müssen so hinzugefügt werden, dass die Analyse von ES3-JavaScript nicht unterbrochen wird und dass sie als optionale Funktion hinzugefügt werden.
Ausführliche Informationen zur Unterstützung von Internet Explorer 8 finden Sie unter GitHub.
Ist das JavaScript SDK Open Source?
Ja, das JavaScript SDK für Application Insights ist Open Source. Informationen zum Anzeigen des Quellcodes oder zur Mitwirkung am project finden Sie im official GitHub Repository.
Wo erhalte ich weitere Informationen zum JavaScript SDK?
Weitere Informationen finden Sie unter Enable Azure Monitor Application Insights Real User Monitoring.
JavaScript-SDK-Konfiguration
Wie kann ich die Serverkonfiguration eines Drittanbieters für das JavaScript SDK aktualisieren?
Auf Serverseite müssen Verbindungen mit diesen Headern akzeptiert werden können. Je nach Access-Control-Allow-Headers-Konfiguration auf serverseitiger Seite ist es häufig erforderlich, die serverseitige Liste zu erweitern, indem sie manuell Request-Id, Request-Context und traceparent (verteilter W3C-Header) hinzufügt.
Access-Control-Allow-Headers: Request-Id, traceparent, Request-Context, <your header>.
Wie kann ich die verteilte Ablaufverfolgung für das JavaScript SDK deaktivieren?
In der Konfiguration kann das verteilte Tracing deaktiviert werden.
Werden HTTP 502- und 503-Antworten immer von Application Insights erfasst?
Nein. Die Fehler „502 Ungültiges Gateway“ und „503 Dienst nicht verfügbar“ werden nicht immer von Application Insights erfasst. Wenn nur clientseitiges JavaScript für die Überwachung verwendet wird, ist dieses Verhalten zu erwarten, da die Fehlerantwort vor der Seite zurückgegeben wird, die den HTML-Header mit dem gerenderten JavaScript-Codeausschnitt für die Überwachung enthält.
Wenn die 502- oder 503-Antwort von einem Server mit aktivierter serverseitiger Überwachung gesendet wird, werden die Fehler vom Application Insights SDK erfasst.
Selbst bei aktivierter serverseitiger Überwachung auf dem Webserver einer Anwendung wird manchmal ein 502- oder 503-Fehler nicht von Application Insights erfasst. Viele moderne Webserver ermöglichen Clients keine direkte Kommunikation. Stattdessen wenden sie Lösungen wie Reverseproxys an, um Informationen zwischen dem Client und den Front-End-Webservern zu übergeben.
In diesem Szenario kann eine 502- oder 503-Antwort aufgrund eines Problems auf Reverseproxyebene an einen Client zurückgegeben werden, weshalb sie nicht in der Standardkonfiguration von Application Insights erfasst wird. Um Probleme auf dieser Ebene zu erkennen, müssen Sie möglicherweise Protokolle vom Reverseproxy an Log Analytics weiterleiten und eine benutzerdefinierte Regel erstellen, um nach 502- oder 503-Antworten zu suchen. Weitere Informationen zu häufig auftretenden Ursachen von 502- und 503-Fehlern finden Sie unter Troubleshoot HTTP-Fehler von "502 bad gateway" und "503 service unavailable" in Azure App Service.
Wo erhalte ich weitere Informationen zur Konfiguration des JavaScript SDK?
Weitere Informationen finden Sie unter Konfiguration des Application Insights JavaScript SDK.
JavaScript-Frameworkerweiterungen
Wie werden von Application Insights Geräteinformationen wie Browser, Betriebssystem, Sprache und Modell generiert?
Der Browser übergibt die Benutzer-Agent-Zeichenfolge im HTTP-Header der Anforderung. Der Application Insights-Erfassungsdienst verwendet UA Parser, um die Felder zu generieren, die in den Datentabellen und Erfahrungen angezeigt werden. Dies hat zur Folge, dass diese Felder von Application Insights-Benutzern nicht geändert werden können.
Es kann gelegentlich vorkommen, dass diese Daten fehlen oder ungenau sind, wenn der Benutzer oder das Unternehmen das Senden des Benutzer-Agents in den Browsereinstellungen deaktiviert. Die UA Parser regexes enthalten möglicherweise nicht alle Geräteinformationen. Oder Application Insights hat möglicherweise nicht die neuesten Updates übernommen.
Wo erhalte ich weitere Informationen zu JavaScript-Frameworkerweiterungen?
Weitere Informationen finden Sie unter Aktivieren einer Frameworkerweiterung für das Application Insights JavaScript-SDK.
Verwaltete Arbeitsbereiche
Muss ich Skripts oder Automatisierung aktualisieren, die auf klassische Ressourcen verweisen?
Nein. Vorhandene ARM-Vorlagen und API-Aufrufe funktionieren weiterhin. Wenn Sie versuchen, eine klassische Ressource zu erstellen, wird stattdessen eine arbeitsbereichbasierte Ressource mit einem verwalteten Arbeitsbereich erstellt.
Bin ich benachrichtigt, bevor meine Ressource migriert wird?
Nein. Die Benachrichtigung für einzelne Ressourcenmigrationen ist nicht verfügbar. Um zu steuern, wann und wie Ihre Ressourcen migriert werden, verwenden Sie manual migration.
Wie lange dauert der Migrationsprozess?
Einzelne Migrationen werden in der Regel in weniger als zwei Minuten abgeschlossen. Der vollständige Rollout findet über mehrere Wochen in allen Regionen statt.
Wie kann ich feststellen, ob eine Ressource migriert wird?
Nach der Migration wird die Ressource mit einem Log Analytics-Arbeitsbereich auf der Seite "Übersicht" verknüpft. Der klassische Ruhestandshinweis wird entfernt, und die Ruhestandsarbeitsmappe listet die Ressource nicht mehr auf.
Ändert sich meine Abrechnung nach der Migration?
Die Kosten bleiben in der Regel ähnlich. Arbeitsbereichsbasierte Application Insights ermöglicht kostensparende Features und wir empfehlen, Preispläne zu überprüfen.
Wenn Sie ein älteres Abrechnungsmodell verwenden, lesen Sie die Preisdokumentation für weitere Details.
Verliere ich Warnungen oder Verfügbarkeitstests während der Migration?
Nein. Alle Warnungen, Dashboards und Verfügbarkeitstests bleiben erhalten und funktionieren nach der Migration weiterhin.
Wo erhalte ich weitere Informationen zu verwalteten Arbeitsbereichen?
Weitere Informationen finden Sie unter Verwaltete Arbeitsbereiche in Application Insights.
Node.js
Wie kann ich die Telemetriekorrelation deaktivieren?
Zur aktuellen Instrumentierung siehe Verteiltes Tracing und Telemetriekorrelation. Informationen zur JavaScript-Browsertelemetrie finden Sie unter JavaScript SDK-Konfiguration.
Wie kann ich die gewünschte Protokollebene konfigurieren?
Um die gewünschte Protokollebene zu konfigurieren, die von APPLICATIONINSIGHTS_INSTRUMENTATION_LOGGING_LEVEL Application Insights verwendet wird, verwenden Sie die Umgebungsvariable.
Die unterstützten Werte sind NONE, ERROR, WARN, INFO, DEBUG, VERBOSE und ALL.
Weitere Informationen finden Sie unter ApplicationInsights-node.js.
Wo erhalte ich weitere Informationen zur Überwachung von Node.js-Diensten und -Apps mit Application Insights?
Aktuelle Node.js Instrumentation finden Sie unter Enable OpenTelemetry with Application Insights.
Azure Monitor OpenTelemetry – eine Überwachungs- und Telemetrielösung von Microsoft
Wo finde ich eine Liste mit den Application Insights SDK-Versionen und ihren Namen?
Eine Liste der SDK-Versionen und -Namen wird auf GitHub gehostet. Weitere Informationen finden Sie unter SDK Version.
Wo erhalte ich weitere Informationen zu OpenTelemetry?
Weitere Informationen finden Sie unter Sammeln von Telemetriedaten mit OpenTelemetry in Application Insights.
Migrieren von .NET Application Insights SDKs zu Azure Monitor OpenTelemetry
Wo erhalte ich Migrationsleitfaden?
Siehe Migration von Application Insights SDKs zu Azure Monitor OpenTelemetry. Behalten Sie migrationsspezifische Anleitungen auf dieser Seite bei, damit aktuelle Setupartikel weiterhin einen empfohlenen OpenTelemetry-Pfad präsentieren können.
Wie verfolge ich Telemetrie manuell mit OpenTelemetry?
Verwenden Sie OpenTelemetry-APIs und sprachspezifische Protokollierungs- oder Metrik-APIs. Beispiele finden Sie unter "Sammeln von benutzerdefinierter Telemetrie".
OpenTelemetry-Stichprobenentnahme
Ist das benutzerdefinierte Stichprobenentnahmemodul von Application Insights tailbasiert?
Das benutzerdefinierte Stichprobenentnahmemodul von Application Insights trifft Entscheidungen zur Stichprobenentnahme nach der Erstellung des Bereichs, nicht vorher. Es folgt daher nicht dem herkömmlichen headbasierten Ansatz. Stattdessen werden Entscheidungen zur Stichprobenentnahme am Ende der Bereichserstellung angewendet – nach Abschluss des Bereichs, aber vor dem Export.
Obwohl dieses Verhalten in gewisser Weise einer tailbasierten Stichprobenentnahme ähnelt, wartet das Stichprobenentnahmemodul nicht darauf, mehrere Bereiche aus derselben Ablaufverfolgung zu sammeln, bevor eine Entscheidung getroffen wird. Stattdessen wird ein Hash der Nachverfolgungs-ID verwendet, um die Vollständigkeit der Nachverfolgung sicherzustellen.
Dieser Ansatz gleicht die Vollständigkeit der Ablaufverfolgung und die Effizienz ab und vermeidet die höheren Kosten, die mit der vollständigen Abtastung verbunden sind.
Um Entscheidungen über die Probenentnahme basierend auf dem Ergebnis einer vollständigen Ablaufverfolgung zu treffen (z. B. um festzustellen, ob ein Bereich innerhalb der Ablaufverfolgung fehlgeschlagen ist), ist eine vollständige tailbasierte Stichprobenentnahme in einem nachgelagerten Agent oder Collector erforderlich. Diese Funktion wird derzeit nicht unterstützt, Sie können sie aber über den Feedback Hub als neues Feature anfordern.
Wie verhält sich das benutzerdefinierte Stichprobenentnahmemodul von Application Insights im Vergleich mit der head- oder tailbasierten Stichprobenentnahme von OpenTelemetry?
| Stichprobenverfahren | Entscheidungspunkt | Stärken | Schwächen |
|---|---|---|---|
| Headbasiert | Vor Beginn eines Bereichs | Geringe Latenz, minimaler Aufwand | Beispiel für gewünschte Ablaufverfolgungen, einschließlich Fehlern |
| Tailbasiert | Nach dem Puffern von Bereichen basierend auf Zeit- oder Volumenschwellenwerten | Ermöglicht hoch selektive Kriterien für die Stichprobenentnahme für Ablaufverfolgungen | Höhere Kosten und zusätzliche Verarbeitungsverzögerung |
| Azure Monitor benutzerdefinierter Sampler | Ende der Bereichserstellung | Abgleich der Ablaufverfolgungsvollständigkeit mit Effizienz | Erforderlich für die Kompatibilität von Livemetriken |
Kann ich Abhängigkeiten, Anforderungen oder andere Telemetrietypen mit unterschiedlichen Raten erfassen?
Nein, das Stichprobenentnahmemodul wendet eine feste Rate für alle Telemetrietypen in einer Ablaufverfolgung an. Anforderungen, Abhängigkeiten und andere Spannweiten folgen dem gleichen Sampling-Prozentsatz. Um unterschiedliche Bewertungen pro Telemetrie-Typ anzuwenden, solltest du OpenTelemetry-Span-Prozessoren oder (Einbindungszeit-Transformationen)[app-insights-overview.md#telemetry-routing] verwenden.
Wie gibt der benutzerdefinierte Sampler von Application Insights Samplingentscheidungen weiter?
Der benutzerdefinierte Sampler "Application Insights" verteilt Samplingentscheidungen standardmäßig mithilfe des W3C Trace Context-Standards. Mit diesem Standard können Samplingentscheidungen zwischen Diensten fließen. Doch da das Stichprobenentnahmemodul Entscheidungen zur Stichprobenentnahme am Ende der Bereichserstellung trifft (nach dem Aufruf der nachgelagerten Dienste), sind die Stichprobeninformationen in der Verteilung unvollständig. Diese Einschränkung entspricht der W3C-Ablaufverfolgungskontextspezifikation, aber nachgeschaltete Dienste können diese verteilte Samplingentscheidung nicht zuverlässig verwenden.
Berücksichtigt der benutzerdefinierte Sampler von Application Insights die Samplingentscheidungen von vorgelagerten Diensten?
Nein, der benutzerdefinierte Sampler application Insights trifft immer eine unabhängige Samplingentscheidung, auch wenn der upstream-Dienst denselben Samplingalgorithmus verwendet. Samplingentscheidungen von Upstream-Diensten, einschließlich derjenigen, die W3C Trace Context Headers verwenden, beeinflussen die Entscheidung des nachgeschalteten Diensts nicht. Die Stichprobenentnahme basiert jedoch auf einem Hash der Ablaufverfolgungs-ID, um die Vollständigkeit der Ablaufverfolgung sicherzustellen. Um die Konsistenz zu verbessern und die Wahrscheinlichkeit fehlerhafter Ablaufverfolgungen zu verringern, konfigurieren Sie alle Komponenten im System so, dass sie dasselbe Stichprobenentnahmemodul und dieselbe Rate für die Stichprobenentnahme verwenden.
Warum werden einige Ablaufverfolgungen auch bei Verwendung des benutzerdefinierten Application Insights-Samplers unvollständig angezeigt?
Es gibt mehrere Gründe, warum Spuren unvollständig sein können:
- Verschiedene Knoten in einem verteilten System verwenden unterschiedliche Samplingansätze, die keine Entscheidungen koordinieren. Beispielsweise wendet ein Knoten headbasierte openTelemetry-Stichprobenentnahme an, und ein anderer Knoten wendet Stichprobenentnahme über den benutzerdefinierten Azure Monitor Sampler an.
- Verschiedene Knoten werden auf unterschiedliche Samplingraten festgelegt, auch wenn beide denselben Sampling-Ansatz verwenden.
- Sie legen Filterung, Stichprobenentnahme oder Ratenobergrenzen in der dienstseitigen Pipeline fest. Diese Konfiguration gibt zufällig Stichproben für Bereiche aus, ohne die Vollständigkeit der Ablaufverfolgung zu berücksichtigen.
Wenn eine Komponente eine headbasierte Stichprobenentnahme anwendet, ohne die Entscheidung zur Stichprobenentnahme (über W3C-Header für den Ablaufverfolgungskontext) zu verteilen, erstellen nachgelagerte Dienste unabhängig Stichproben zur Ablaufverfolgung, was zu verworfenen Bereichen führen kann. Daher sind einige Teile der Ablaufverfolgung nicht immer verfügbar, wenn sie in Application Insights angezeigt werden.
Wie funktioniert der benutzerdefinierte Sampler von Application Insights zusammen mit der Erfassungs-Stichprobenerstellung?
Bei der Erfassungs-Stichprobenerstellung wird nur das entfernt, was den Dienst erreicht, sodass die Entscheidungen des benutzerdefinierten Samplers von Application Insights nicht beeinflusst oder überschrieben werden. Wenn beide aktiviert sind, ist die Effektivrendite multiplikativ. Beispielsweise führt eine SDK-Rate von 20 Prozent in Kombination mit einer Erfassungsrate von 50 Prozent zu etwa 10 Prozent der gespeicherten Daten. Microsoft empfiehlt, das Sampling an der Quelle mit dem Azure Monitor OpenTelemetry-Sampler durchzuführen, um Traces intakt und vorhersagbar zu halten, und das Eingabesampling nur als Fallback zu verwenden.
Wo erhalte ich weitere Informationen zur Stichprobenentnahme mit OpenTelemetry?
Weitere Informationen finden Sie unter Sampling in Azure Überwachen von Anwendungserkenntnissen mit OpenTelemetry.
Support und Feedback zu OpenTelemetry
Was ist OpenTelemetry?
Es handelt sich um einen Open-Source-Standard für Observability. Weitere Informationen finden Sie unter OpenTelemetry.
Warum investiert Microsoft Azure Monitor in OpenTelemetry?
Microsoft investiert aus folgenden Gründen in OpenTelemetry:
- Es ist anbieterneutral und bietet konsistente APIs und SDKs für alle Sprachen.
- Im Laufe der Zeit glauben wir, dass OpenTelemetry Azure Monitor-Kunden ermöglicht, Anwendungen in Sprachen zu beobachten, die über unsere supported languages hinausgehen.
- Es erweitert die Datentypen, die Sie über eine Vielzahl von Instrumentierungsbibliotheken erfassen können.
- OpenTelemetry Software Development Kits (SDKs) sind für leistungsfähige, herstellerneutrale Telemetrie im Großen und Ganzen konzipiert.
- OpenTelemetry richtet sich nach der Strategie von Microsoft, Open Source zu unterstützen.
Wie ist der Status von OpenTelemetry?
Siehe OpenTelemetry Status.
Was ist die Azure Monitor OpenTelemetry Distro?
Sie können sich dies als ein dünner Wrapper vorstellen, der alle OpenTelemetry-Komponenten für eine erstklassige Erfahrung mit Azure gebündelt. Dieser Wrapper wird auch als Distribution in OpenTelemetry bezeichnet.
Warum sollte ich die Azure Monitor OpenTelemetry Distro verwenden?
Die Verwendung der OpenTelemetry-Distribution von Azure Monitor hat gegenüber der nativen OpenTelemetry aus der Community mehrere Vorteile:
- Reduziert den Aktivierungsaufwand
- Unterstützt von Microsoft
- Bietet Azure spezifische Features wie:
- Sampling kompatibel mit klassischen Application Insights SDKs
- Microsoft Entra-Authentifizierung
- Offline Storage und automatische Wiederholungsversuche
- Application Insights-Standardmetriken
- Erkennen von Ressourcenmetadaten, um Cloudrollenname und Cloudrolleninstanz in verschiedenen Azure-Umgebungen automatisch zu füllen
- Livemetriken
Im Sinne von OpenTelemetry haben wir die Distribution so konzipiert, dass sie offen und erweiterbar ist. Zum Beispiel können Sie Folgendes hinzufügen:
- Ein OpenTelemetry Protocol (OTLP)-Exporter und gleichzeitiges Senden an ein zweites Ziel
- Andere Instrumentierungsbibliotheken, die nicht in der Distribution enthalten sind
Da die Distro eine OpenTelemetry-Verteilung bereitstellt, unterstützt die Distro alles, was von OpenTelemetry unterstützt wird. Sie können beispielsweise weitere Telemetrieprozessoren, Exporteure oder Instrumentierungsbibliotheken hinzufügen, wenn OpenTelemetry sie unterstützt.
Für Sprachen ohne einen unterstützten eigenständigen OpenTelemetry-Exporter ist der Azure Monitor OpenTelemetry Distro die einzige derzeit unterstützte Methode zur Verwendung von OpenTelemetry mit Azure Monitor. Für Sprachen mit einem unterstützten eigenständigen OpenTelemetry-Exporter haben Sie je nach Telemetrieszenario entweder die Option Azure Monitor OpenTelemetry Distro oder den entsprechenden eigenständigen OpenTelemetry-Exporter zu verwenden. Weitere Informationen finden Sie unter Wann sollte ich den Azure Monitor OpenTelemetry-Exporter verwenden?.
Sollte ich OpenTelemetry für neue Application Insights-Projekte verwenden?
Ja. Wir empfehlen die Verwendung der Azure Monitor OpenTelemetry Distro für neue Projekte.
Wenn Sie eine vorhandene .NET- oder Node.js-Anwendung aus älteren Application Insights-SDKs migrieren, lesen Sie Migrieren Sie von Application Insights-SDKs zu Azure Monitor OpenTelemetry.
Wann sollte ich den Azure Monitor OpenTelemetry-Exporter verwenden?
Für ASP.NET Core, Java, Node.jsund Python empfehlen wir die Verwendung der Azure Monitor OpenTelemetry Distro. Es ist eine Codezeile, um zu beginnen.
Für alle anderen .NET Szenarien, einschließlich klassischer ASP.NET, Konsolen-Apps, Windows Forms (WinForms) usw., empfehlen wir die Verwendung des .NET Azure Monitor OpenTelemetry-Exporters: Azure.Monitor.OpenTelemetry.Exporter.
Für komplexere Python-Telemetrieszenarien, die eine erweiterte Konfiguration erfordern, empfehlen wir die Verwendung des Python Azure Monitor OpenTelemetry Exporter.
Was ist der aktuelle Versionsstatus der Features in der Azure Monitor OpenTelemetry Distro?
Die Azure Monitor OpenTelemetry Distro unterstützt den aktuellen empfohlenen Application Insights-Instrumentierungspfad.
Die neuesten Informationen zu code analysis Erfahrungen finden Sie unter .NET Profiler und Snapshot Debugger.
Kann OpenTelemetry für Webbrowser verwendet werden?
Ja, aber wir empfehlen es nicht, und Azure unterstützt sie nicht. OpenTelemetry JavaScript ist in hohem Maße für Node.js optimiert. Stattdessen wird empfohlen, das Application Insights JavaScript SDK zu verwenden.
Wann können wir damit rechnen, dass das OpenTelemetry SDK für die Verwendung in Webbrowsern verfügbar sein wird?
Für das OpenTelemetry-Web-SDK gibt es keine festgelegte Verfügbarkeitszeitachse. Wir sind wahrscheinlich noch einige Jahre von einem Browser-SDK entfernt, das eine brauchbare Alternative zum Application Insights JavaScript-SDK wäre.
Kann ich OpenTelemetry heute in einem Webbrowser testen?
Die OpenTelemetry-Web-Sandbox ist ein Fork, der OpenTelemetry im Browser funktionsfähig macht. Es ist aber noch nicht möglich, Telemetriedaten an Application Insights zu senden. Das SDK definiert keine allgemeinen Clientereignisse.
Wird die Ausführung von Application Insights zusammen mit Agents von Mitbewerbern wie AppDynamics, DataDog und NewRelic unterstützt?
Wir haben nicht vor, diese Praxis zu testen oder zu unterstützen, obwohl unsere Distributionen es Ihnen ermöglichen, gleichzeitig neben Azure Monitor einen OTLP-Endpunkt zu exportieren.
Kann ich in Produktionsumgebungen die Previewfunktionen verwenden?
Wir raten davon ab. Siehe Supplementale Nutzungsbedingungen für Microsoft Azure Previews.
Kann ich den OpenTelemetry-Collector verwenden?
Einige Kunden verwenden den OpenTelemetry-Collector als Agent-Alternative, obwohl Microsoft einen Agent-basierenden Ansatz für die Anwendungsüberwachung noch nicht offiziell unterstützt. In der Zwischenzeit hat die Open-Source-Community einen OpenTelemetry Collector Azure Monitor Exporter beigetragen, den einige Kunden zum Senden von Daten an Azure Monitor Application Insights verwenden. Dies wird von Microsoft nicht unterstützt.
Warum sehe ich in Grafana "Status 500. Can't visualize trace events using the trace visualizer"?
Sie könnten versuchen, unformatierte Textprotokolle anstelle von OpenTelemetry-Ablaufverfolgungen zu visualisieren.
In Application Insights speichert die Tabelle „Traces“ Rohtextprotokolle zu Diagnosezwecken. Sie helfen bei der Identifizierung und Korrelation von Traces im Zusammenhang mit Benutzeranforderungen, anderen Ereignissen und Ausnahmeberichten. Die Tabelle „Traces“ trägt jedoch nicht direkt zur End-to-End-Transaktionsansicht (Wasserfalldiagramm) in Visualisierungstools wie Grafana bei.
Mit der zunehmenden Einführung von Cloud-nativen Verfahren entwickelt sich auch die Telemetrieerfassung und -terminologie weiter. OpenTelemetry wurde zu einem Standard für die Erfassung und Instrumentierung von Telemetriedaten. In diesem Zusammenhang bekam der Begriff „Traces“ eine neue Bedeutung. Anstelle von Rohdaten beziehen sich „Traces“ in OpenTelemetry auf eine umfassendere, strukturierte Form der Telemetrie, die sogenannte Spans umfasst, welche einzelne Arbeitseinheiten darstellen. Diese Spans sind entscheidend für die Erstellung von detaillierten Transaktionsansichten, die eine bessere Überwachung und Diagnose von Cloud-nativen Anwendungen ermöglichen.
Wie soll ich Blazor Apps instrumentieren?
Um eine Blazor-App zu instrumentieren, identifizieren Sie zuerst das Hostingmodell. Blazor Server unterstützt vollständige OpenTelemetry-basierte Instrumentierung. Blazor WebAssembly wird im Browser ausgeführt und unterstützt eingeschränkte Instrumentierung über JavaScript.
Übersichtsdashboard
Kann ich mehr als 30 Tage an Daten anzeigen?
Derzeit gibt es ein Limit von 30 Tagen, in denen Daten in einem Dashboard angezeigt werden.
Im Dashboard wird der Fehler „Ressource nicht gefunden“ angezeigt.
Wenn Sie Ihre Application Insights-Instanz verschieben oder umbenennen, kann ein „Ressource nicht gefunden“-Fehler auftreten.
Um dieses Verhalten zu umgehen, löschen Sie das Standarddashboard, und wählen Sie das Anwendungsdashboard erneut aus, um ein neues zu erstellen.
Wo erhalte ich weitere Informationen zum Übersichtsdashboard?
Weitere Informationen finden Sie unter Application Insights-Übersichtsdashboard.
Telemetriekanäle
Garantiert Application Insights die Telemetrieübermittlung?
OpenTelemetry-Exporteure und SDKs verwenden in der Regel best-effort delivery. Telemetrie kann immer noch verloren gehen, wenn eine Anwendung abstürzt, der Prozess beendet wird, bevor ausstehende Telemetrie exportiert wird, Speicher nicht verfügbar ist oder Netzwerk- und Dienstausfälle über wiederholungsgrenzwerte hinausgehen. Den aktuellen Stand des OpenTelemetry-Verhaltens finden Sie unter Offlinespeicherung und automatische Wiederholungsversuche.
Erstellt das SDK temporäre lokale Speicher? Werden die Daten bei storage verschlüsselt?
Einige aktuelle Exporteure und SDKs können temporären lokalen Speicher während Netzwerkproblemen oder Drosselung erstellen. Lokaler temporärer Speicher wird nicht durch Application Insights verschlüsselt, daher sichern Sie jedes verzeichnis, das Sie konfigurieren. Den aktuellen Stand des OpenTelemetry-Verhaltens finden Sie unter Offlinespeicherung und automatische Wiederholungsversuche.
Wo erhalte ich weitere Informationen zum Verhalten der Telemetrieübermittlung?
Aktuelles OpenTelemetry-Wiederholungs- und Speicherverhalten finden Sie unter OpenTelemetry-Konfiguration.
Suche
Wie viele Daten werden beibehalten?
Entsprechende Informationen finden Sie unter Zusammenfassung der Grenzwerte.
Wie kann ich die POST-Daten in meinen Serveranforderungen anzeigen?
Post-Daten werden nicht automatisch protokolliert. Verwenden Sie die Anwendungsprotokollierung sorgfältig, wenn Sie Details zum Request Body erfassen müssen, und vermeiden Sie die Erfassung vertraulicher Daten.
Warum gibt meine Azure Funktionssuche keine Ergebnisse zurück?
Azure Functions protokolliert keine URL-Abfragezeichenfolgen.
Wo erhalte ich weitere Informationen zur Suche?
Weitere Informationen finden Sie unter "Suchen und Diagnose".
Transaktionsdiagnose
Warum wird eine einzelne Komponente im Diagramm angezeigt, und die anderen Komponenten werden nur als externe Abhängigkeiten ohne Details angezeigt?
Mögliche Ursachen:
- Sind die anderen Komponenten mit Application Insights instrumentiert?
- Verwenden sie das neueste stabile Application Insights-SDK?
- Wenn diese Komponenten separate Application Insights-Ressourcen sind, überprüfen Sie, ob Sie über access verfügen. Wenn Sie Zugang haben und die Komponenten mit den neuesten Application Insights-SDKs instrumentiert sind, teilen Sie uns dies über den Feedbackkanal in der oberen rechten Ecke mit.
Ich sehe doppelte Zeilen für die Abhängigkeiten. Ist dieses Verhalten zu erwarten?
Zurzeit zeigen wir den ausgehenden Abhängigkeitsaufruf separat von der eingehenden Anforderung an. Normalerweise sehen die beiden Aufrufe identisch aus, lediglich der Wert für die Dauer unterscheidet sich aufgrund des Netzwerk-Roundtrips. Das führende Symbol und die unterschiedliche Gestaltung der Balken für die Dauer erleichtern die Unterscheidung zwischen ihnen. Finden Sie diese Darstellung der Daten verwirrend? Senden Sie uns Ihr Feedback!
Treten Uhrabweichungen über verschiedene Komponenteninstanzen hinweg auf?
Die Zeitachsen im Transaktionsdiagramm gleichen Uhrabweichungen aus. Sie können die genauen Zeitstempel im Detailbereich oder mithilfe von Log Analytics anzeigen.
Warum fehlen auf der neuen Benutzeroberfläche die meisten der zugehörigen Elementabfragen?
Dieses Verhalten ist beabsichtigt. Alle verwandten Elemente sind komponentenübergreifend bereits auf der linken Seite im oberen und unteren Abschnitt verfügbar. Die neue Benutzeroberfläche weist zwei zugehörige Elemente auf, die von der linken Seite nicht abgedeckt werden: die gesamte Telemetrie fünf Minuten vor und nach dem Ereignis und die Benutzerzeitachse.
Gibt es eine Möglichkeit, weniger Ereignisse pro Transaktion anzuzeigen, wenn ich das Application Insights JavaScript SDK verwende?
In der Transaktionsdiagnoseerfahrung werden alle Telemetriedaten in einem einzelnen Vorgang angezeigt, der eine Vorgangs-ID freigibt. Standardmäßig erstellt das Application Insights SDK für JavaScript einen neuen Vorgang für jede eindeutige Seitenansicht. In einer Single-Page-Anwendung (SPA) wird nur ein Seitenansichtsereignis generiert, eine einzelne Vorgangs-ID wird für alle generierten Telemetriedaten verwendet. Dies kann dazu führen, dass viele Ereignisse mit demselben Vorgang korreliert werden.
In diesen Szenarien können Sie die automatische Routenverfolgung verwenden, um automatisch neue Vorgänge für die Navigation in Ihrer SPA (Single-Page-App) zu erstellen. Sie müssen enableAutoRouteTracking aktivieren, damit bei jeder Aktualisierung der URL-Route (logische Seitenansicht) eine Seitenansicht generiert wird. Wenn Sie die Vorgangs-ID manuell aktualisieren möchten, rufen Sie appInsights.properties.context.telemetryTrace.traceID = Microsoft.ApplicationInsights.Telemetry.Util.generateW3CId() auf. Das manuelle Auslösen eines PageView-Ereignisses setzt ebenfalls die Vorgangs-ID zurück.
Warum ergibt die Addition der Transaktionsdetaildauern nicht die Dauer der Top-Anforderung?
Zeiten, die nicht im Gantt-Diagramm erläutert werden, sind Zeiten, die nicht durch eine nachverfolgte Abhängigkeit abgedeckt sind. Dieses Problem kann auftreten, weil externe Anrufe weder automatisch noch manuell instrumentiert wurden. Es kann auch auftreten, weil die benötigte Zeit nicht aufgrund eines externen Aufrufs, sondern während der Verarbeitung aufgebracht wurde.
Wenn alle Aufrufe instrumentiert wurden, ist „in Bearbeitung“ die wahrscheinliche Grundursache für die aufgewendete Zeit. Ein nützliches Tool zur Diagnose des Prozesses ist der .NET Profiler.
Was geschieht, wenn die Meldung "Fehler beim Abrufen von Daten" beim Navigieren in Application Insights im Azure portal angezeigt wird?
Dieser Fehler zeigt an, dass der Browser eine erforderliche API nicht aufrufen konnte, oder dass die API eine Fehlerantwort zurückgegeben hat. Um das Verhalten zu behandeln, öffnen Sie ein InPrivate-Fenster im Browser, und deaktivieren Sie alle Browsererweiterungen, die ausgeführt werden. Identifizieren Sie dann, ob Sie das Portalverhalten immer noch reproduzieren können. Wenn der Portalfehler weiterhin auftritt, versuchen Sie, dies mit anderen Browsern oder anderen Computern zu testen, untersuchen Sie DNS- oder andere netzwerkbezogene Probleme des Clientcomputers, auf dem die API-Aufrufe fehlschlagen. Wenn der Portalfehler weiterhin auftritt und eine weitere Untersuchung erforderlich ist, sammeln Sie eine Browsernetzwerkverfolgung, während das unerwartete Portalverhalten wiedergegeben wird und öffnen Sie einen Supportfall über das Azure-Portal.
Wo erhalte ich weitere Informationen zur Transaktionsdiagnose?
Weitere Informationen finden Sie unter Untersuchen von Fehlern, Leistung und Transaktionen mit Application Insights.
Nutzungsanalyse
Stellt das anfängliche Ereignis das erste Auftreten des Ereignisses in einer Sitzung dar, oder jedes Mal, wenn es in einer Sitzung vorkommt?
Das Ausgangsereignis in der Visualisierung stellt nur die erste Instanz eines Seitenaufrufs oder benutzerdefinierten Ereignisses dar, den bzw. das ein Benutzer während einer Sitzung gesendet hat. Wenn Benutzer das Ausgangsereignis mehrmals in einer Sitzung senden können, zeigt die Spalte Step 1 (Schritt 1) nur das Verhalten von Benutzern nach der ersten Instanz eines Ausgangsereignisses (nicht alle Instanzen).
Einige Knoten in meiner Visualisierung sind zu allgemein gehalten. Wie erhalte ich ausführlichere Knoten?
Verwenden Sie im Menü Bearbeiten die Optionen unter Teilen nach:
Wählen Sie das Ereignis, das Sie unterteilen möchten, im Menü Ereignis aus.
Wählen Sie im Menü Dimension eine Dimension aus. Wenn Sie beispielsweise über ein Ereignis Button Clicked (Auf Schaltfläche geklickt) verfügen, können Sie es mit der benutzerdefinierten Eigenschaft Button Name (Schaltflächenname) versuchen.
Ich habe eine Kohorte von Benutzern aus einem bestimmten Land/einer bestimmten Region definiert. Wenn ich diese Kohorte im Tool „Benutzer“ mit dem Ergebnis durch Festlegen eines Filters für dieses Land/diese Region vergleiche, warum sehe ich unterschiedliche Ergebnisse?
Kohorten und Filter unterscheiden sich. Angenommen, Sie haben eine Kohorte von Benutzern aus Großbritannien (definiert wie im vorherigen Beispiel), und Sie vergleichen deren Ergebnisse mit dem Festlegen des Filters auf Country or region = United Kingdom:
Für die Kohortenversion werden alle Ereignisse von Benutzern angezeigt, die im aktuellen Zeitbereich mindestens ein Ereignis aus Großbritannien gesendet haben. Wenn Sie nach Land oder Region aufteilen, werden wahrscheinlich viele Länder und Regionen angezeigt.
Für die Filterversion werden nur Ereignisse aus Großbritannien angezeigt. Wenn Sie nach Land oder Region aufteilen, sehen Sie nur Großbritannien.
Wie kann ich die Daten in verschiedenen Auflösungen anzeigen (täglich, monatlich oder wöchentlich)?
Sie können den Filter Datumsintervall auswählen, um die Auflösung zu ändern. Der Filter ist auf allen Dimensionsregisterkarten verfügbar.
Wie kann ich auf Erkenntnisse aus meiner Anwendung zugreifen, die in den HEART-Arbeitsmappen nicht verfügbar sind?
Sie können die Daten, die als Quelle der HEART-Arbeitsmappe dienen, tiefer analysieren, wenn die visuellen Elemente nicht alle Ihre Fragen beantworten. Um diese Aufgabe zu erledigen, wählen Sie im Abschnitt Monitoring in Application Insights Logs aus, und fragen Sie die customEvents Tabelle ab. Einige der Klickanalyse-Attribute sind im customDimensions-Feld enthalten.
Hier sehen Sie eine Beispielabfrage:
customEvents
| where isnotnull(customDimensions.actionType)
| extend parentid=tostring(customDimensions.parenId),
pagename=tostring(customDimensions.pageName),
actiontype=tostring(customDimensions.actionType)
| project actiontype,parentid,pagename,
user_AuthenticatedId,user_Id,session_Id,itemType,timestamp
Weitere Informationen zu Protokollen in Azure Monitor finden Sie unter Azure Monitor-Protokollübersicht.
Kann ich visuelle Elemente in der Arbeitsmappe bearbeiten?
Ja. Informationen zum Bearbeiten von Arbeitsmappenvorlagen finden Sie unter Azure Workbooks templates.
Wo erhalte ich weitere Informationen zur Verwendungsanalyse?
Weitere Informationen finden Sie unter Verwendungsanalyse mit Application Insights.
Workerdienstanwendungen
Welches Paket sollte ich verwenden?
Verwenden Sie für aktuelle Arbeitsdienstanwendungen den Azure Monitor OpenTelemetry Exporter oder Distro. Siehe Aktivieren von OpenTelemetry mit Application Insights.
Wie kann ich Telemetriedaten nachverfolgen, die nicht automatisch erfasst werden?
Verwenden Sie für die aktuelle Instrumentierung OpenTelemetry-APIs und sprachspezifische Protokollierungs- oder Metrik-APIs. Beispiele finden Sie unter "Sammeln von benutzerdefinierter Telemetrie".
Verwenden Sie für benutzerdefinierte Browserereignisse das Application Insights JavaScript SDK oder Click Analytics. Verwenden Sie für serverseitige benutzerdefinierte Ereignisse OpenTelemetry-Ereignisse.
Kann ich die Application Insights-Überwachung aktivieren, ohne den Anwendungscode zu ändern?
Verwenden Sie für die Überwachung neuer Anwendungen die Azure Monitor OpenTelemetry Distro oder aktuelle Auto-Instrumentierungspfade. Siehe Aktivieren von OpenTelemetry mit Application Insights und Application Monitoring ohne Codeänderungen.
Werden alle Features unterstützt, wenn ich meine Anwendung unter Linux ausführe?
Die Featureunterstützung hängt von der Sprache, der Hostingumgebung und dem Instrumentierungspfad ab. Beginnen Sie für den aktuellen Support mit Enable OpenTelemetry mit Application Insights und dem entsprechenden sprachspezifischen Konfigurationsartikel.
Wo erhalte ich weitere Informationen zu Workerdienstanwendungen?
Informationen zur aktuellen Arbeitsdienstinstrumentation finden Sie unter Enable OpenTelemetry with Application Insights.