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:
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 durchSystem.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
oderSystem.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.
Werte: Verbose
, 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, wobeipageViews.duration
mit dem Browsertiming aufgefüllt wird. Entwickler können die zusätzliche Nachverfolgung vonPageView
-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 + #2browserTimings/sendDuration
= #3browserTimings/receiveDuration
= #4browserTimings/processingDuration
= #5browsertimings/totalDuration
= #1 + #2 + #3 + #4 + #5pageViews/duration
Die
PageView
-Dauer stammt aus der Leistungstiming-Schnittstelle des Browsers,PerformanceNavigationTiming.duration
.Wenn
PerformanceNavigationTiming
verfügbar ist, wird diese Dauer verwendet.Ist dies nicht der Fall, wird die veraltete
PerformanceTiming
-Schnittstelle verwendet, und das Delta zwischenNavigationStart
undLoadEventEnd
wird berechnet.Der Entwickler gibt einen Dauerwert an, wenn benutzerdefinierte
PageView
-Ereignisse mithilfe des trackPageView-API-Aufrufs protokolliert werden.
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:
- Benutzerdefinierte Anforderungstelemetriedaten
- Benutzerdefinierte Telemetriedaten zu Abhängigkeiten
- Benutzerdefinierter Telemetriedaten für die Ablaufverfolgung
- Benutzerdefinierte Ereignistelemetriedaten
- Benutzerdefinierte Metriktelemetrie
Einrichten der Abhängigkeitsnachverfolgung für:
Weitere Informationen:
- Lesen Sie die Informationen zu den von Application Insights unterstützten Plattformen.
- Informationen zur Konfiguration der Sammlung von Standardkontexteigenschaften.
- Untersuchen von .NET-Ablaufverfolgungsprotokollen in Application Insights
- Untersuchen von Java-Ablaufverfolgungsprotokollen in Application Insights
- Weitere Informationen zur integrierten Integration von Azure Functions in Azure Application Insights zur Überwachung von Funktionsausführungen.
- Erfahren Sie, wie Sie mit Application Insights eine ASP.NET Core-Anwendung konfigurieren.
- Erfahren Sie mehr zum Diagnostizieren von Ausnahmen in Ihren Web-Apps mit Application Insights.
- Informationen zum Erweitern und Filtern von Telemetriedaten.
- Verwenden von Stichproben, um die Menge der auf dem Datenmodell basierenden Telemetriedaten zu minimieren