Application Insights-Telemetriedatenmodell

Application Insights sendet Telemetriedaten von Ihrer Webanwendung an das Azure-Portal, damit Sie die Leistung und Nutzung der Anwendung analysieren können. Das Telemetriemodell ist standardisiert, um eine plattform- und sprachunabhängige Überwachung zu ermöglichen.

Die von Application Insights gesammelten Daten ergeben das folgende typische Anwendungsausführungsmuster:

Diagram that shows an Application Insights telemetry data model.

Folgende Telemetrietypen werden zum Überwachen der Ausführung Ihrer App verwendet. Das Application Insights SDK des Webanwendungsframeworks sammelt diese drei Typen automatisch:

  • Anforderung: Wird zum Protokollieren einer Anforderung generiert, die von Ihrer App empfangen wurde. Das Web-SDK von Application Insights generiert z. B. automatisch einen Eintrag für „Telemetrie anfordern“ für jede HTTP-Anforderung, die Ihre Web-App empfängt.

    Ein Vorgang umfasst die Ausführungsthreads, von denen eine Anforderung verarbeitet wird. Sie können auch Code schreiben, um andere Vorgangstypen zu überwachen, z. B. ein „wake up“ (aktivieren) in einem Webauftrag oder einer Funktion, die regelmäßig Daten verarbeitet. Jeder Vorgang verfügt über eine ID. Mit dieser ID können alle Telemetriedaten gruppiert werden, die bei der Verarbeitung der Anforderung durch Ihre App generiert werden. Jeder Vorgang wird entweder erfolgreich oder nicht erfolgreich ausgeführt und hat eine bestimmte Dauer.

  • Ausnahme: Stellt in der Regel eine Ausnahme dar, die dazu führt, dass ein Vorgang nicht erfolgreich ist.

  • Abhängigkeit: Stellt einen Aufruf Ihrer App für einen externen Dienst oder Speicher wie REST-API oder SQL dar. Abhängigkeitsaufrufe von SQL werden in ASP.NET durch System.Data definiert. Aufrufe von HTTP-Endpunkten werden durch System.Net definiert.

Application Insights bietet drei Datentypen für benutzerdefinierte Telemetriedaten:

  • Ablaufverfolgung: Dieser Typ wird entweder direkt oder über einen Adapter verwendet, um die Diagnoseprotokollierung über ein Instrumentierungsframework zu implementieren, mit dem Sie vertraut sind (beispielsweise Log4Net oder System.Diagnostics).
  • Ereignis: Dieser Typ wird in der Regel verwendet, um Benutzerinteraktionen mit Ihrem Dienst zu erfassen und Verwendungsmuster zu analysieren.
  • Metrik: Dieser Typ wird zum Melden periodischer skalarer Messungen verwendet.

Jedes Telemetrieelement kann die Kontextinformationen (z. B. Anwendungsversion oder Benutzersitzungs-ID) definieren. Beim Kontext handelt es sich um eine Gruppe stark typisierter Felder, die bestimmte Szenarien zulässt. Wenn die Anwendungsversion ordnungsgemäß initialisiert wird, kann Application Insights neue Muster im Anwendungsverhalten in Korrelation mit der erneuten Bereitstellung erkennen.

Die Sitzungs-ID kann verwendet werden, um einen Ausfall oder die Auswirkungen eines Problems auf Benutzer zu berechnen. Die Berechnung der diskreten Anzahl von Sitzungs-ID-Werten für eine bestimmte fehlerhafte Abhängigkeit, Fehlerablaufverfolgung oder kritische Ausnahme trägt zum besseren Verständnis der Auswirkungen bei.

Das Telemetriedatenmodell von Application Insights definiert eine Möglichkeit zum Korrelieren von Telemetriedaten mit dem zugehörigen Vorgang. Eine Anforderung kann beispielsweise SQL-Datenbankaufrufe durchführen und Diagnoseinformationen erfassen. Sie können den Korrelationskontext für diese Telemetrieelemente festlegen, über den diese wieder mit der Anforderungstelemetrie verknüpft werden.

Schemaverbesserungen

Mit dem Datenmodell von Application Insights können Sie Ihre Anwendungstelemetriedaten auf einfache, aber leistungsfähige Weise modellieren. Unser Ziel ist und bleibt ein einfaches und schlankes Modell, das grundlegende Szenarien unterstützt und eine Erweiterung des Schemas für komplexere Anwendungsfälle ermöglicht.

Falls Sie Probleme mit dem Datenmodell oder Schema melden möchten oder Anregungen haben, verwenden Sie das GitHub-Repository.

Anforderung

Ein Anforderungstelemetrieelement in Application Insights stellt die logische Sequenz der Ausführung dar, die durch eine externe Anforderung an Ihre Anwendung ausgelöst wurde. Jede Anforderungsausführung wird durch eine eindeutige id und url identifiziert, die alle Ausführungsparameter enthalten.

Sie können Anforderungen nach logischen name-Werten gruppieren und die source der jeweiligen Anforderung definieren. Die Codeausführung kann zu success oder fail führen und verfügt über eine bestimmte duration. Sie können erfolgreiche und fehlerhafte Ausführungen weiter gruppieren, indem Sie resultCode verwenden. Die Startzeit für die Anforderungstelemetrie wird auf Umschlagebene definiert.

Die Anforderungstelemetrie unterstützt das Standarderweiterbarkeitsmodell mittels benutzerdefinierten properties und measurements.

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.

Name

Dieses Feld ist der Name der Anfrage und stellt den Codepfad dar, der zur Bearbeitung der Anfrage verwendet wird. Ein niedriger Kardinalitätswert ermöglicht die bessere Gruppierung von Anforderungen. Für HTTP-Anforderungen stellt er die HTTP-Methode und die URL-Pfadvorlage wie GET /values/{id} ohne den tatsächlichen id-Wert dar.

Das Application Insights-Web-SDK sendet einen Anforderungsnamen unverändert bezüglich der Groß-/Kleinschreibung. Bei der Gruppierung auf der Benutzeroberfläche wird die Groß-/Kleinschreibung beachtet, d. h. GET /Home/Index wird getrennt von GET /home/INDEX gezählt, obwohl sie häufig zur Ausführung des gleichen Controllers und der gleichen Aktion führen. Dies liegt daran, dass bei URLs allgemein die Groß-/Kleinschreibung beachtet wird. Vielleicht möchten Sie sehen, ob alle 404-Fehler bei URLs auftreten, die in Großbuchstaben eingegeben werden. Weitere Informationen über die Anforderungsnamensammlung mit dem ASP.NET-Web-SDK finden Sie in diesem Blogbeitrag.

Maximale Länge: 1024 Zeichen

id

„ID“ ist der Bezeichner einer Anforderungsaufrufinstanz. Sie wird für die Korrelation zwischen der Anforderung und anderen Telemetrieelementen verwendet. Die ID muss global eindeutig sein. Weitere Informationen finden Sie unter Telemetriekorrelation in Application Insights.

Maximale Länge: 128 Zeichen

URL

„URL“ ist die Anforderungs-URL mit allen Abfragezeichenfolgeparametern.

Maximale Länge: 2048 Zeichen

`Source`

„Quelle“ ist die Quelle der Anforderung. Beispiele sind der Instrumentierungsschlüssel des Aufrufers oder die IP-Adresse des Aufrufers. Weitere Informationen finden Sie unter Telemetriekorrelation in Application Insights.

Maximale Länge: 1024 Zeichen

Duration

Die Anforderungsdauer ist als DD.HH:MM:SS.MMMMMM formatiert. Sie muss positiv und weniger als 1000 Tage sein. Dieses Feld ist erforderlich, da die Anforderungstelemetrie den Vorgang mit dem Beginn und dem Ende darstellt.

Antwortcode

Der Antwortcode ist das Ergebnis einer Anforderungsausführung. Für HTTP-Anforderungen ist es der HTTP-Statuscode. Dies kann ein HRESULT-Wert oder ein Ausnahmetyp für andere Anforderungstypen sein.

Maximale Länge: 1024 Zeichen

Erfolg

„Erfolg“ gibt an, ob ein Aufruf erfolgreich oder nicht erfolgreich war. Dieses Feld ist erforderlich. Wenn eine Anforderung nicht explizit auf false festgelegt ist, gilt sie als erfolgreich. Wenn eine Ausnahme oder ein zurückgegebener Fehlercode die Operation unterbrochen hat, setzen Sie diesen Wert auf false.

Für Webanwendungen definiert Application Insights eine Anforderung als erfolgreich, wenn der Antwortcode kleiner als 400 oder gleich 401 ist. Es gibt jedoch Fälle, in denen diese Standardzuordnung nicht der Semantik der Anwendung entspricht.

Der Antwortcode 404 kann auf „keine Datensätze“ hindeuten, was Teil eines normalen Flow sein kann. Er kann auch auf einen fehlerhaften Link hindeuten. Für fehlerhaften Links können Sie eine erweiterte Logik implementieren. Durch Analysieren des URL-Referrers können Sie fehlerhafte Links nur dann als Fehler markieren, wenn diese sich auf derselben Website befinden. Oder Sie können sie als Fehler markieren, wenn über die mobile Anwendung des Unternehmens darauf zugegriffen wird. Auf ähnliche Weise deuten 301 und 302 auf einen Fehler hin, wenn der Zugriff über einen Client erfolgt, auf dem die Umleitung nicht unterstützt wird.

Teilweise akzeptierter Inhalt 206 deutet möglicherweise auf einen Fehler einer Gesamtanforderung hin. Ein Application Insights-Endpunkt könnte beispielsweise einen Batch mit Telemetrieelementen als einzelne Anforderung empfangen. Er gibt 206 zurück, wenn einige Elemente in dem Batch nicht erfolgreich verarbeitet wurden. Eine steigende Rate von 206 deutet auf ein Problem hin, das untersucht werden muss. Eine ähnliche Logik gilt für Multistatus 207, wo der Erfolg der schlechteste von verschiedenen Antwortcodes sein könnte.

Benutzerdefinierte Eigenschaften

Name-Wert-Sammlung mit benutzerdefinierten Eigenschaften: Diese Sammlung wird verwendet, um standardmäßige Telemetrie mit den benutzerdefinierten Dimensionen zu erweitern. Ein Beispiel hierfür sind Bereitstellungsslots, die eine spezifische Eigenschaft auf Telemetrie- oder Telemetrieelementebene (beispielsweise eine Bestellnummer) erzeugt haben.

  • Maximale Schlüssellänge: 150
  • Maximale Wertlänge: 8.192

Benutzerdefinierte Messungen

Sammlung von benutzerdefinierten Messungen: Verwenden Sie diese Sammlung, um benannte Messungen zu melden, die dem Telemetrieelement zugeordnet sind. Typische Anwendungsfälle:

  • Die Größe der Nutzdaten der Abhängigkeitstelemetrie.
  • Anzahl von Warteschlangenelementen, die von der Anforderungstelemetrie verarbeitet wurden.
  • Die Zeit, die ein Kunde benötigt hat, um den Assistentenschritt zum Abschließen der Ereignistelemetrie zu beenden.

Benutzerdefinierte Messungen können in der Anwendungsanalyse abgefragt werden:

customEvents
| where customMeasurements != ""
| summarize avg(todouble(customMeasurements["Completion Time"]) * itemCount)

Hinweis

  • Benutzerdefinierte Messungen werden dem Telemetrieelement zugeordnet, zu dem sie gehören. Sie unterliegen dem Sampling mit dem Telemetrieelement, das diese Messungen enthält. Wenn Sie eine Messung verfolgen möchten, die einen von anderen Telemetriearten unabhängigen Wert hat, verwenden Sie die metrische Telemetrie.
  • Verwenden Sie keine Zeichenfolgenwerte für benutzerdefinierte Messungen. Es werden nur numerische Werte unterstützt.

Maximale Schlüssellänge: 150

Abhängigkeit

Abhängigkeitstelemetrie (in Application Insights) stellt eine Interaktion der überwachten Komponente mit einer Remotekomponente wie SQL oder einem HTTP-Endpunkt dar.

Name

Dieses Feld ist der Name des Befehls, der mit diesem Abhängigkeitsaufruf initiiert wurde. Es hat einen niedrigen Kardinalitätswert. Beispiele sind der Name einer gespeicherten Prozedur und eine URL-Pfadvorlage.

ID

ID ist die Kennung einer Instanz des Abhängigkeitsaufrufs. Es wird zur Korrelation mit dem Telemetrieelement für die Anfrage verwendet, das diesem Abhängigkeitsaufruf entspricht. Weitere Informationen finden Sie unter Telemetriekorrelation in Application Insights.

Daten

Dieses Feld ist der Befehl, der durch diesen Abhängigkeitsaufruf ausgelöst wurde. Beispiele sind eine SQL-Anweisung und HTTP-URL mit allen Abfrageparametern.

type

Dieses Feld ist der Name des Abhängigkeitstyps. Es hat einen niedrigen Kardinalitätswert für die logische Gruppierung von Abhängigkeiten und die Interpretation von anderen Feldern wie commandName und resultCode. Beispiele sind die SQL, Azure-Tabelle und HTTP.

Ziel

Dieses Feld ist die Zielseite eines Abhängigkeitsaufrufs. Beispiele sind Servername und Hostadresse. Weitere Informationen finden Sie unter Telemetriekorrelation in Application Insights.

Duration

Die Dauer der Anforderung hat das Format DD.HH:MM:SS.MMMMMM. Muss weniger als 1000 Tage sein.

Ergebniscode

Dieses Feld ist der Ergebniscode eines Abhängigkeitsaufrufs. Beispiele sind SQL-Fehlercode und HTTP-Statuscode.

Erfolg

Dieses Feld ist der Hinweis auf einen erfolgreichen oder nicht erfolgreichen Aufruf.

Benutzerdefinierte Eigenschaften

Name-Wert-Sammlung mit benutzerdefinierten Eigenschaften: Diese Sammlung wird verwendet, um standardmäßige Telemetrie mit den benutzerdefinierten Dimensionen zu erweitern. Ein Beispiel hierfür sind Bereitstellungsslots, die eine spezifische Eigenschaft auf Telemetrie- oder Telemetrieelementebene (beispielsweise eine Bestellnummer) erzeugt haben.

  • Maximale Schlüssellänge: 150
  • Maximale Wertlänge: 8.192

Benutzerdefinierte Messungen

Sammlung von benutzerdefinierten Messungen: Verwenden Sie diese Sammlung, um benannte Messungen zu melden, die dem Telemetrieelement zugeordnet sind. Typische Anwendungsfälle:

  • Die Größe der Nutzdaten der Abhängigkeitstelemetrie.
  • Anzahl von Warteschlangenelementen, die von der Anforderungstelemetrie verarbeitet wurden.
  • Die Zeit, die ein Kunde benötigt hat, um den Assistentenschritt zum Abschließen der Ereignistelemetrie zu beenden.

Benutzerdefinierte Messungen können in der Anwendungsanalyse abgefragt werden:

customEvents
| where customMeasurements != ""
| summarize avg(todouble(customMeasurements["Completion Time"]) * itemCount)

Hinweis

  • Benutzerdefinierte Messungen werden dem Telemetrieelement zugeordnet, zu dem sie gehören. Sie unterliegen dem Sampling mit dem Telemetrieelement, das diese Messungen enthält. Wenn Sie eine Messung verfolgen möchten, die einen von anderen Telemetriearten unabhängigen Wert hat, verwenden Sie die metrische Telemetrie.
  • Verwenden Sie keine Zeichenfolgenwerte für benutzerdefinierte Messungen. Es werden nur numerische Werte unterstützt.

Maximale Schlüssellänge: 150

Ausnahme

In Application Insights stellt eine Instanz einer Ausnahme eine behandelte oder nicht behandelte Ausnahme dar, die während der Ausführung der überwachten Anwendung aufgetreten ist.

Problem-ID

Die Problem-ID gibt an, wo die Ausnahme im Code ausgelöst wurde. Sie wird für die Gruppierung von Ausnahmen verwendet. Normalerweise ist sie eine Kombination aus einem Ausnahmetyp und einer Funktion aus der Aufrufliste.

Maximale Länge: 1.024 Zeichen

Schweregrad

Dieses Feld ist der Schweregrad der Ablaufverfolgung. Der Wert kann Verbose, Information, Warning, Error oder Critical. lauten.

Ausnahmedetails

(Erweiterung folgt)

Benutzerdefinierte Eigenschaften

Name-Wert-Sammlung mit benutzerdefinierten Eigenschaften: Diese Sammlung wird verwendet, um standardmäßige Telemetrie mit den benutzerdefinierten Dimensionen zu erweitern. Ein Beispiel hierfür sind Bereitstellungsslots, die eine spezifische Eigenschaft auf Telemetrie- oder Telemetrieelementebene (beispielsweise eine Bestellnummer) erzeugt haben.

  • Maximale Schlüssellänge: 150
  • Maximale Wertlänge: 8.192

Benutzerdefinierte Messungen

Sammlung von benutzerdefinierten Messungen: Verwenden Sie diese Sammlung, um benannte Messungen zu melden, die dem Telemetrieelement zugeordnet sind. Typische Anwendungsfälle:

  • Die Größe der Nutzdaten der Abhängigkeitstelemetrie.
  • Anzahl von Warteschlangenelementen, die von der Anforderungstelemetrie verarbeitet wurden.
  • Die Zeit, die ein Kunde benötigt hat, um den Assistentenschritt zum Abschließen der Ereignistelemetrie zu beenden.

Benutzerdefinierte Messungen können in der Anwendungsanalyse abgefragt werden:

customEvents
| where customMeasurements != ""
| summarize avg(todouble(customMeasurements["Completion Time"]) * itemCount)

Hinweis

  • Benutzerdefinierte Messungen werden dem Telemetrieelement zugeordnet, zu dem sie gehören. Sie unterliegen dem Sampling mit dem Telemetrieelement, das diese Messungen enthält. Wenn Sie eine Messung verfolgen möchten, die einen von anderen Telemetriearten unabhängigen Wert hat, verwenden Sie die metrische Telemetrie.
  • Verwenden Sie keine Zeichenfolgenwerte für benutzerdefinierte Messungen. Es werden nur numerische Werte unterstützt.

Maximale Schlüssellänge: 150

Trace

Ablaufverfolgungstelemetrie in Application Insights stellt Überwachungsanweisungen im Format printf dar, die sich für eine Textsuche eignen. Log4Net, NLog und andere textbasierte Protokolldateieinträge werden in Instanzen dieses Typs übersetzt. Die Ablaufverfolgung weist für die Erweiterbarkeit keine Messungen auf.

Meldung

Ablaufverfolgungsmeldung.

Maximale Länge: 32.768 Zeichen

Schweregrad

Schweregrad der Ablaufverfolgung.

WerteVerbose, Information, Warning, Error, und Critical

Benutzerdefinierte Eigenschaften

Name-Wert-Sammlung mit benutzerdefinierten Eigenschaften: Diese Sammlung wird verwendet, um standardmäßige Telemetrie mit den benutzerdefinierten Dimensionen zu erweitern. Ein Beispiel hierfür sind Bereitstellungsslots, die eine spezifische Eigenschaft auf Telemetrie- oder Telemetrieelementebene (beispielsweise eine Bestellnummer) erzeugt haben.

  • Maximale Schlüssellänge: 150
  • Maximale Wertlänge: 8.192

Ereignis

Sie können Ereignistelemetrieelemente erstellen (in Application Insights), um ein Ereignis darzustellen, das in Ihrer Anwendung aufgetreten ist. In der Regel handelt es sich um eine Benutzerinteraktion wie ein Klicken auf eine Schaltfläche oder den Auftragsabschluss einer Bestellung. Es kann sich auch um ein Ereignis im Lebenszyklus einer Anwendung handeln, wie z.B. eine Initialisierung oder ein Konfigurationsupdate.

Semantisch gesehen können Ereignisse mit Anfragen korreliert sein oder auch nicht. Wenn sie richtig eingesetzt wird, ist die Ereignistelemetrie wichtiger als Anfragen oder Ablaufverfolgungen. Ereignisse stellen Geschäftstelemetrie dar, für die eine getrennte, weniger aggressive Stichprobennahme erfolgen sollte.

Name

Ereignisname: Um eine ordnungsgemäße Gruppierung und nützliche Metriken zu ermöglichen, schränken Sie Ihre Anwendung so ein, dass sie nur wenige separate Ereignisnamen generiert. Verwenden Sie z. B. nicht für jede generierte Instanz eines Ereignisses einen separaten Namen.

Maximale Länge: 512 Zeichen

Benutzerdefinierte Eigenschaften

Name-Wert-Sammlung mit benutzerdefinierten Eigenschaften: Diese Sammlung wird verwendet, um standardmäßige Telemetrie mit den benutzerdefinierten Dimensionen zu erweitern. Ein Beispiel hierfür sind Bereitstellungsslots, die eine spezifische Eigenschaft auf Telemetrie- oder Telemetrieelementebene (beispielsweise eine Bestellnummer) erzeugt haben.

  • Maximale Schlüssellänge: 150
  • Maximale Wertlänge: 8.192

Benutzerdefinierte Messungen

Sammlung von benutzerdefinierten Messungen: Verwenden Sie diese Sammlung, um benannte Messungen zu melden, die dem Telemetrieelement zugeordnet sind. Typische Anwendungsfälle:

  • Die Größe der Nutzdaten der Abhängigkeitstelemetrie.
  • Anzahl von Warteschlangenelementen, die von der Anforderungstelemetrie verarbeitet wurden.
  • Die Zeit, die ein Kunde benötigt hat, um den Assistentenschritt zum Abschließen der Ereignistelemetrie zu beenden.

Benutzerdefinierte Messungen können in der Anwendungsanalyse abgefragt werden:

customEvents
| where customMeasurements != ""
| summarize avg(todouble(customMeasurements["Completion Time"]) * itemCount)

Hinweis

  • Benutzerdefinierte Messungen werden dem Telemetrieelement zugeordnet, zu dem sie gehören. Sie unterliegen dem Sampling mit dem Telemetrieelement, das diese Messungen enthält. Wenn Sie eine Messung verfolgen möchten, die einen von anderen Telemetriearten unabhängigen Wert hat, verwenden Sie die metrische Telemetrie.
  • Verwenden Sie keine Zeichenfolgenwerte für benutzerdefinierte Messungen. Es werden nur numerische Werte unterstützt.

Maximale Schlüssellänge: 150

Metrik

Application Insights unterstützt zwei Arten der Metriktelemetrie: Einzelmessung und voraggregierte Statistik. Eine Einzelmessung ist nur ein Name und Wert. Eine vorab aggregierte Metrik gibt den Mindest- und Höchstwert der Metrik im Aggregationsintervall und die Standardabweichung davon an.

Bei der voraggregierten Metriktelemetrie wird davon ausgegangen, dass der Aggregationszeitraum eine Minute betrug.

Application Insights unterstützt mehrere bekannte Namen von Metriken. Diese Metriken werden in der performanceCounters-Tabelle gespeichert.

Die folgende Tabelle zeigt die Metriken, die System- und Prozessindikatoren darstellen.

.NET-Name Plattformunabhängiger Name BESCHREIBUNG
\Processor(_Total)\% Processor Time In Bearbeitung... Computer-CPU insgesamt.
\Memory\Available Bytes In Bearbeitung... Zeigt die Menge des physischen Speichers in Byte an, der für auf dem Computer ausgeführte Prozesse zur Verfügung steht. Diese wird durch Addieren der Menge des Speicherplatzes in den genullten, freien und Standbyspeicherlisten berechnet. Freier Arbeitsspeicher ist einsatzbereit. Der Nullspeicher besteht aus Speicherseiten, die mit Nullen gefüllt sind, um zu verhindern, dass spätere Prozesse Daten sehen können, die von einem früheren Prozess verwendet wurden. Der Standbyspeicher ist der Speicher, der auf dem Weg zum Laufwerk aus dem Arbeitsspeicher (dem physischen Speicher) eines Prozesses entfernt wurde, aber immer noch abrufbar ist. Weitere Informationen finden Sie unter Speicherobjekt.
\Process(??APP_WIN32_PROC??)\% Processor Time In Bearbeitung... CPU des Prozesses, der die Anwendung hostet.
\Process(??APP_WIN32_PROC??)\Private Bytes In Bearbeitung... Vom Prozess, der die Anwendung hostet, belegter Arbeitsspeicher.
\Process(??APP_WIN32_PROC??)\IO Data Bytes/sec In Bearbeitung... Rate der E/A-Vorgänge, die von dem Prozess, der die Anwendung hostet, durchgeführt werden.
\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests/Sec In Bearbeitung... Rate der von einer Anwendung verarbeiteten Anfragen.
\.NET CLR Exceptions(??APP_CLR_PROC??)\# of Exceps Thrown / sec In Bearbeitung... Rate der von einer Anwendung ausgelösten Ausnahmen.
\ASP.NET Applications(??APP_W3SVC_PROC??)\Request Execution Time In Bearbeitung... Durchschnittliche Ausführungszeit der Anforderung.
\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests In Application Queue In Bearbeitung... Anzahl der Anforderungen, die in einer Warteschlange auf die Verarbeitung warten.

Weitere Informationen zur Metrik-REST-API finden Sie unter Metriken – Abrufen.

Name

Dieses Feld ist der Name der Metrik, die Sie im Application Insights-Portal und in der Benutzeroberfläche sehen möchten.

Wert

Dieses Feld ist der einzelne Wert für die Messung. Es ist die Summe der einzelnen Messungen für die Aggregation.

Anzahl

Dieses Feld ist die Metrikgewicht der aggregierten Metrik. Darf nicht für eine Messung festgelegt werden.

Min

Dieses Feld ist der Mindestwert der aggregierten Metrik. Darf nicht für eine Messung festgelegt werden.

Max

Dieses Feld ist der Höchstwert der aggregierten Metrik. Darf nicht für eine Messung festgelegt werden.

Standardabweichung

Standardabweichung der aggregierten Metrik. Darf nicht für eine Messung festgelegt werden.

Benutzerdefinierte Eigenschaften

Die Metrik mit der benutzerdefinierten Eigenschaft CustomPerfCounter, die auf true eingestellt ist, zeigt an, dass die Statistik den Windows-Leistungszähler darstellt. Diese Metriken werden in der performanceCounters-Tabelle platziert, nicht in customMetrics. Der Name dieser Metrik wird außerdem analysiert, um Kategorie, Anzahl und Instanznamen zu extrahieren.

Name-Wert-Sammlung mit benutzerdefinierten Eigenschaften: Diese Sammlung wird verwendet, um standardmäßige Telemetrie mit den benutzerdefinierten Dimensionen zu erweitern. Ein Beispiel hierfür sind Bereitstellungsslots, die eine spezifische Eigenschaft auf Telemetrie- oder Telemetrieelementebene (beispielsweise eine Bestellnummer) erzeugt haben.

  • Maximale Schlüssellänge: 150
  • Maximale Wertlänge: 8.192

PageView

PageView-Telemetrie (in Application Insights) wird protokolliert, wenn ein Anwendungsbenutzer eine neue Seite einer überwachten Anwendung öffnet. Das Page ist in diesem Zusammenhang eine logische Einheit, die vom Entwickler als Anwendungsregisterkarte oder Bildschirm definiert wird und nicht unbedingt mit dem Laden oder Aktualisieren einer Browser-Webseite korreliert. Diese Unterscheidung kann weiter im Zusammenhang mit Single-Page-Anwendungen (SPAs) verstanden werden, bei denen der Wechsel zwischen Seiten nicht an Browser-Seitenaktionen gebunden ist. Das pageViews.duration ist die Zeit, die die Anwendung benötigt, um dem Benutzer die Seite anzuzeigen.

Hinweis

  • Standardmäßig protokollieren Application Insights SDKs einzelne PageView-Ereignisse für jede Ladeaktion einer Browserwebseite, wobei pageViews.duration mit dem Browsertiming aufgefüllt wird. Entwickler können die zusätzliche Nachverfolgung von PageView-Ereignissen mithilfe des TrackPageView-API-Aufrufs erweitern.
  • Die Standardaufbewahrung von Protokollen beträgt 30 Tage. Wenn Sie PageView-Statistiken über einen längeren Zeitraum anzeigen möchten, müssen Sie die Einstellung anpassen.

Messen von browserTiming in Application Insights

Moderne Browser stellen Messungen für Seitenladeaktionen mit der Leistungs-API bereit. Application Insights vereinfacht diese Messungen, indem verwandte Timings in Standardbrowsermetriken konsolidiert werden, wie gemäß diesen Verarbeitungszeitdefinitionen definiert:

  • Client <--> DNS: Der Client wendet sich an DNS, um den Hostnamen der Website aufzulösen un DNS antwortet mit der IP-Adresse.

  • Client <--> Web Server: Der Client erstellt TCP- und dann TLS-Handshakes mit dem Webserver.

  • Client <--> Web Server: Der Client sendet die Nutzlast der Anforderung, wartet darauf, dass der Server die Anforderung ausführt, und empfängt das erste Antwortpaket.

  • Client <--Web Server: Der Client empfängt die restlichen Bytes der Antwort-Nutzdaten vom Webserver.

  • Client: Der Client hat jetzt die vollständige Antwortnutzlast und muss Inhalte im Browser rendern und das DOM laden.

  • browserTimings/networkDuration = #1 + #2

  • browserTimings/sendDuration = #3

  • browserTimings/receiveDuration = #4

  • browserTimings/processingDuration = #5

  • browsertimings/totalDuration = #1 + #2 + #3 + #4 + #5

  • pageViews/duration

Screenshot that shows the Metrics page in Application Insights showing graphic displays of metrics data for a web application.

Kontext

Jedes Telemetrieelement kann über ein stark typisiertes Kontextfeld verfügen. Jedes Feld ermöglicht ein bestimmtes Überwachungsszenario. Verwenden Sie die Sammlung benutzerdefinierter Eigenschaften zum Speichern benutzerdefinierter oder anwendungsspezifischer Kontextinformationen.

Anwendungsversion

Informationen in den Anwendungskontextfeldern beziehen sich immer auf die Anwendung, die die Telemetriedaten sendet. Die Anwendungsversion wird verwendet, um Trendänderungen im Anwendungsverhalten und die Korrelation mit den Bereitstellungen zu analysieren.

Maximale Länge: 1024

Client-IP-Adresse

Dieses Feld ist die IP-Adresse des Clientgeräts. IPv4 und IPv6 werden unterstützt. Wenn Telemetriedaten von einem Dienst gesendet werden, bezieht sich der Standortkontext auf den Benutzer, der den Vorgang im Dienst initiiert hat. Application Insights extrahiert die Geolocation-Informationen aus der Client-IP und kürzt sie dann. Die Client-IP-Adresse selbst kann daher nicht als personenbezogene Benutzerinformation verwendet werden.

Maximale Länge: 46

Gerätetyp

Dieses Feld wurde ursprünglich verwendet, um den Typ des Geräts anzugeben, das der Benutzer der Anwendung nutzt. Nun wird es hauptsächlich verwendet, um zwischen JavaScript-Telemetrie mit dem Gerätetyp Browser und serverseitiger Telemetrie mit dem Gerätetyp PC zu unterscheiden.

Maximale Länge: 64

Vorgangs-ID

Dieses Feld ist der eindeutige Bezeichner des Stammvorgangs. Mit diesem Bezeichner können Telemetriedaten für mehrere Komponenten gruppiert werden. Weitere Informationen finden Sie unter Telemetriekorrelation. Eine Anforderung oder eine Seitenansicht erstellt die Vorgangs-ID. Alle anderen Telemetriedaten legen dieses Feld auf den Wert für die enthaltende Anforderung oder Seitenansicht fest.

Maximale Länge: 128

Übergeordnete Vorgangs-ID

Dieses Feld ist der eindeutige Bezeichner des direkt übergeordneten Elements des Telemetrieelements. Weitere Informationen finden Sie unter Telemetriekorrelation.

Maximale Länge: 128

Vorgangsname

Dieses Feld ist der Name (Gruppe) des Vorgangs. Der Name des Vorgangs wird entweder durch eine Anfrage oder eine Seitenansicht erstellt. Alle anderen Telemetrieelemente legen dieses Feld auf den Wert für die enthaltende Anforderung oder Seitenansicht fest. Der Vorgangsname wird zum Suchen aller Telemetrieelemente für eine Gruppe von Vorgängen verwendet (z. B. GET Home/Index). Diese Kontexteigenschaft wird verwendet, um Fragen wie „Welche typischen Ausnahmen werden auf dieser Seite ausgelöst?“ zu beantworten.

Maximale Länge: 1024

Synthetische Quelle des Vorgangs

Dieses Feld ist der Name der synthetischen Quelle. Einige Telemetriedaten aus der Anwendung stellen möglicherweise synthetischen Datenverkehr dar. Dabei kann es sich um den Webcrawler, der die Website indiziert, Tests der Websiteverfügbarkeit oder Ablaufverfolgungen von Diagnosebibliotheken wie Application Insights SDK handeln.

Maximale Länge: 1024

Sitzungs-ID

Die Sitzungs-ID ist die Instanz der Interaktion des Benutzers mit der App. Informationen in den Sitzungskontextfeldern beziehen sich immer auf den Benutzer. Wenn Telemetriedaten von einem Dienst gesendet werden, bezieht sich der Sitzungskontext auf den Benutzer, der den Vorgang im Dienst initiiert hat.

Maximale Länge: 64

Anonyme Benutzer-ID

Die anonyme Benutzer-ID (User.Id) stellt den Benutzer der Anwendung dar. Wenn Telemetriedaten von einem Dienst gesendet werden, bezieht sich der Benutzerkontext auf den Benutzer, der den Vorgang im Dienst initiiert hat.

Die Stichprobenentnahme ist eine der Methoden zum Minimieren der Menge der gesammelten Telemetriedaten. Ein Stichprobenentnahmealgorithmus versucht, die Stichprobenentnahme innerhalb oder außerhalb aller korrelierten Telemetriedaten durchzuführen. Eine anonyme Benutzer-ID wird für die Stichprobenentnahme der Bewertungsgenerierung verwendet, sodass eine anonyme Benutzer-ID ein ausreichend zufälliger Wert sein sollte.

Hinweis

Die Anzahl der anonymen Benutzer-IDs entspricht nicht der Anzahl der eindeutigen Anwendungsbenutzer. Die Anzahl der anonymen Benutzer-IDs ist in der Regel höher, da jedes Mal, wenn der Benutzer Ihre App auf einem anderen Gerät oder in einem anderen Browser öffnet oder die Browsercookies bereinigt, eine neue eindeutige anonyme Benutzer-ID zugeordnet wird. Diese Berechnung kann dazu führen, dass dieselben physischen Benutzer mehrfach gezählt werden.

Benutzer-IDs können mit Sitzungs-IDs abgeglichen werden, um eindeutige Telemetriedimensionen bereitzustellen und Benutzeraktivitäten über eine Sitzungsdauer einzurichten.

Die Verwendung einer anonymen Benutzer-ID zum Speichern eines Benutzernamens stellt eine unsachgemäße Verwendung des Felds dar. Verwenden Sie eine authentifizierte Benutzer-ID.

Maximale Länge: 128

Authentifizierte Benutzer-ID

Eine authentifizierte Benutzer-ID ist das Gegenteil einer anonymen Benutzer-ID. Dieses Feld stellt den Benutzer mit einem Anzeigenamen dar. Diese ID wird nur mit AuthenticatedUserIdTelemetryInitializer im ASP.NET Framework SDK standardmäßig erfasst.

Verwenden Sie das Application Insights SDK, um die authentifizierte Benutzer-ID mit einem Wert zu initialisieren, der den Benutzer dauerhaft über Browser und Geräte hinweg identifiziert. Auf diese Weise werden alle Telemetrieelemente dieser eindeutigen ID zugeordnet. Diese ID ermöglicht die Abfrage aller für einen bestimmten Benutzer gesammelten Telemetriedaten (entsprechend der Konfiguration der Stichprobenerstellung und der Filterung von Telemetriedaten).

Benutzer-IDs können mit Sitzungs-IDs abgeglichen werden, um eindeutige Telemetriedimensionen bereitzustellen und Benutzeraktivitäten über eine Sitzungsdauer einzurichten.

Maximale Länge: 1024

Konto-ID

Die Konto-ID ist in mehrinstanzenfähigen Anwendungen die Mandantenkonto-ID oder der Mandantenkontoname, unter der/dem der Benutzer agiert. Sie wird für eine genauere Benutzersegmentierung verwendet, wenn Benutzer-ID und authentifizierte Benutzer-ID nicht ausreichend sind. Beispiele können die Abonnement-ID für das Azure-Portal oder der Blogname für eine Blogplattform sein.

Maximale Länge: 1024

Cloudrolle

Dieses Feld ist der Name der Rolle, zu der die Anwendung gehört. Er wird direkt dem Rollennamen in Azure zugeordnet. Er kann auch zur Unterscheidung von Microservices verwendet werden, die Teil einer einzelnen Anwendung sind.

Maximale Länge: 256

Cloudrolleninstanz

Dieses Feld ist der Name der Instanz, in der die Anwendung ausgeführt wird. Dies ist z. B. der Computername für die lokale Umgebung oder der Instanzname für Azure.

Maximale Länge: 256

Intern: SDK-Version

Weitere Informationen finden Sie unter SDK-Version.

Maximale Länge: 64

Intern: Knotenname

Dieses Feld gibt den Namen des zu Abrechnungszwecken verwendeten Knotens an. Verwenden Sie es, um die Standarderkennung von Knoten zu überschreiben.

Maximale Länge: 256

Häufig gestellte Fragen

Dieser Abschnitt enthält Antworten auf häufig gestellte Fragen.

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 regulären Ausdrücke (regex) des Benutzer-Agent-Parsers 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.

Nächste Schritte

Erfahren Sie, wie Sie die Application Insights-API für benutzerdefinierte Ereignisse und Metriken nutzen, einschließlich:

Einrichten der Abhängigkeitsnachverfolgung für:

Weitere Informationen: