Metriken in Application Insights
Application Insights unterstützt drei verschiedene Arten von Metriken: Standard (voraggregiert), protokollbasierte und benutzerdefinierte Metriken. Jeder Metriktyp stellt einen eindeutigen Wert für die Überwachung der Anwendungsintegrität, für die Diagnose und für die Analyse bereit. Entwickler können bei der Instrumentierung von Anwendungen entscheiden, welche Art von Metrik für ein bestimmtes Szenario am besten geeignet ist. Die Entscheidungen basieren auf der Anwendungsgröße, dem erwarteten Telemetriedatenvolumen und den geschäftlichen Anforderungen an die Genauigkeit der Metriken und Warnmeldungen. In diesem Artikel wird der Unterschied zwischen allen unterstützten Metriktypen erläutert.
Standardmetriken
Standardmetriken in Application Insights sind vordefinierte Metriken, die automatisch vom Dienst erfasst und überwacht werden. Diese Metriken decken eine Vielzahl von Leistungs- und Nutzungsindikatoren ab, z. B. CPU-Auslastung, Arbeitsspeicherverbrauch, Anforderungsraten und Reaktionszeiten. Standardmetriken bieten einen umfassenden Überblick über die Integrität und Leistung Ihrer Anwendung, ohne dass eine zusätzliche Konfiguration erforderlich ist. Standardmetriken werden während der Sammlung voraggregiert und als Zeitreihe in einem spezialisierten Repository mit nur Schlüsseldimensionen gespeichert, wodurch sie zur Abfragezeit eine bessere Leistung erzielen. Dies macht Standardmetriken die beste Wahl für nahezu Echtzeitwarnungen in Dimensionen von Metriken und reaktionsfähigeren Dashboards.
Protokollbasierte Metriken
Protokollbasierte Metriken in Application Insights sind ein Abfragezeitkonzept, das als Zeitreihe über den Protokolldaten Ihrer Anwendung dargestellt wird. Die zugrunde liegenden Protokolle werden nicht zur Sammlungs- oder Speicherzeit voraggregiert und behalten alle Eigenschaften jedes Protokolleintrags bei. Diese Aufbewahrung ermöglicht die Verwendung von Protokolleigenschaften als Dimensionen auf protokollbasierten Metriken zur Abfragezeit für die Metrikdiagrammfilterung und metrikbasierte Aufteilung, sodass logbasierte Metriken einen höheren Analyse- und Diagnosewert haben. Telemetrievolumenreduzierungstechniken wie Sampling und Telemetriefilterung, die häufig bei der Überwachung von Anwendungen verwendet werden und große Telemetriemengen generieren, wirken sich jedoch auf die Anzahl der erfassten Protokolleinträge aus und verringern daher die Genauigkeit protokollbasierter Metriken.
Benutzerdefinierte Metriken (Vorschau)
Mit benutzerdefinierten Metriken in Application Insights können Sie spezifische Messungen definieren und nachverfolgen, die für Ihre Anwendung einzigartig sind. Diese Metriken können durch Instrumentieren Ihres Codes erstellt werden, um benutzerdefinierte Telemetriedaten an Application Insights zu senden. Benutzerdefinierte Metriken bieten die Flexibilität, alle Aspekte Ihrer Anwendung zu überwachen, die nicht von Standardmetriken abgedeckt werden, sodass Sie tiefere Einblicke in das Verhalten und die Leistung Ihrer Anwendung erhalten können.
Weitere Informationen finden Sie in Benutzerdefinierte Metriken in Azure Monitor (Vorschau).
Hinweis
Application Insights bietet auch ein Feature namens Live Metrics-Stream, das eine nahezu echtzeitbasierte Überwachung Ihrer Webanwendungen ermöglicht und keine Telemetriedaten speichert.
Metrikvergleich
Funktion | Standardmetriken | Protokollbasierte Metriken | Benutzerdefinierte Metriken |
---|---|---|---|
Datenquelle | Voraggregierte Zeitreihendaten, die während der Laufzeit gesammelt wurden. | Abgeleitet von Protokolldaten mithilfe von Kusto-Abfragen. | Benutzerdefinierte Metriken, die über das Application Insights SDK oder die API gesammelt werden. |
Granularität | Feste Intervalle (1 Minute). | Hängt von der Granularität der Protokolldaten selbst ab. | Flexible Granularität basierend auf benutzerdefinierten Metriken. |
Genauigkeit | Hoch, nicht von Protokoll-Sampling betroffen. | Kann durch Sampling und Filterung beeinflusst werden. | Hohe Genauigkeit, insbesondere bei der Verwendung von voraggregierten Methoden wie GetMetric. |
Kosten | Im Preis von Application Insights enthalten. | Basierend auf Protokolldatenerfassung und Abfragekosten. | Siehe Preismodell und Aufbewahrung. |
Konfiguration | Automatisch mit minimaler Konfiguration verfügbar. | Erfordert die Konfiguration von Protokollabfragen, um die gewünschten Metriken aus Protokolldaten zu extrahieren. | Erfordert eine benutzerdefinierte Implementierung und Konfiguration im Code. |
Abfrageleistung | Schnell, aufgrund der Voraggregation. | Langsamer, da es das Abfragen von Protokolldaten umfasst. | Hängt von der Komplexität des Datenvolumens und der Abfrage ab. |
Storage | Als Zeitreihendaten im Azure Monitor-Metrikspeicher gespeichert. | Gespeichert als Protokolle im Log Analytics-Arbeitsbereich. | In Log Analytics und im Azure Monitor-Metrikspeicher gespeichert. |
Warnungen | Unterstützt Echtzeitwarnungen. | Ermöglicht komplexe Warnungsszenarien basierend auf detaillierten Protokolldaten. | Flexible Warnung basierend auf benutzerdefinierten Metriken. |
Dienstgrenzwert | Vorbehaltlich der Grenzwerte für Application Insights. | Vorbehaltlich der Grenzwerte für Log Analytics-Arbeitsbereich. | Begrenzt durch das Kontingent für kostenlose Metriken und die Kosten für zusätzliche Dimensionen. |
Anwendungsfälle | Echtzeitüberwachung, Leistungsdashboards und schnelle Einblicke. | Detaillierte Diagnose, Problembehandlung und eingehende Analyse. | Maßgeschneiderte Leistungsindikatoren und geschäftsspezifische Metriken. |
Beispiele | CPU-Auslastung, Arbeitsspeicherauslastung, Anforderungsdauer. | Anforderungsanzahl, Ausnahmeablaufverfolgungen, Abhängigkeitsaufrufe. | Benutzerdefinierte anwendungsspezifische Metriken wie Benutzerbindung, Featureverwendungen. |
Metrikvoraggregation
OpenTelemetry-SDKs und neuere Application Insights-SDKs (Classic API) aggregieren vorab Metriken während der Sammlung, um das Volumen der vom SDK an den Telemetriekanalendpunkt gesendeten Daten zu reduzieren. Dies gilt für Standardmetriken, die standardmäßig gesendet werden, sodass die Genauigkeit nicht durch die Stichprobenentnahme oder eine Filterung beeinträchtigt wird. Es gilt auch für benutzerdefinierte Metriken, die mit der OpenTelemetry-API oder GetMetric und TrackValue gesendet werden, was zu weniger Datenerfassung und niedrigeren Kosten führt. Wenn Ihre Version des Application Insights SDK GetMetric und TrackValue unterstützt, ist dies die bevorzugte Methode zum Senden von benutzerdefinierten Metriken.
Bei SDKs, die keine Voraggregation implementieren (d. h. ältere Versionen von Application Insights SDKs oder SDKs zur Browserinstrumentierung), füllt das Application Insights-Back-End weiterhin die neuen Metriken auf, indem es die Ereignisse aggregiert, die vom Telemetriekanalendpunkt von Application Insights empfangen werden. Für benutzerdefinierte Metriken können Sie die TrackMetric-Methode verwenden. Sie profitieren zwar nicht von dem reduzierten Datenvolumen, das über die Leitung übertragen wird, können die vorab aggregierten Metriken aber dennoch mit SDKs nutzen, die Metriken während der Erfassung nicht vorab aggregieren. Auf diese Weise erzielen Sie eine bessere Leistung und Unterstützung für dimensionsbezogene Warnungen in Quasi-Echtzeit.
Der Telemetriekanalendpunkt voraggregiert Ereignisse vor der Erfassungs-Stichprobenerstellung. Aus diesem Grund beeinträchtigt die Erfassungs-Stichprobenerstellung niemals die Genauigkeit von vorab aggregierten Metriken – unabhängig davon, welche SDK-Version Sie mit Ihrer Anwendung verwenden.
In den folgenden Tabellen ist aufgeführt, in welcher Voraggregation voraggregiert wird.
Metrikvoraggregation mit Azure Monitor OpenTelemetry Distro
Aktuelles Produktions-SDK | Standardmetrikenvoraggregation | Voraggregation benutzerdefinierter Metriken |
---|---|---|
ASP.NET Core | SDK | SDK über die OpenTelemetry-API |
.NET (über Exporter) | SDK | SDK über die OpenTelemetry-API |
Java (3.x) | SDK | SDK über die OpenTelemetry-API |
Java Native | SDK | SDK über die OpenTelemetry-API |
Node.js | SDK | SDK über die OpenTelemetry-API |
Python | SDK | SDK über die OpenTelemetry-API |
Metrikvoraggregation mit Application Insights SDK (Classic API)
Aktuelles Produktions-SDK | Standardmetrikenvoraggregation | Voraggregation benutzerdefinierter Metriken |
---|---|---|
.NET Core und .NET Framework | SDK (V2.13.1+) | SDK (V2.7.2+) über GetMetric Telemetriekanalendpunkt über TrackMetric |
Java (2.x) | Telemetriekanalendpunkt | Telemetriekanalendpunkt über TrackMetric |
JavaScript (Browser) | Telemetriekanalendpunkt | Telemetriekanalendpunkt über TrackMetric |
Node.js | Telemetriekanalendpunkt | Telemetriekanalendpunkt über TrackMetric |
Python | Telemetriekanalendpunkt | SDK über OpenCensus.stats (eingestellt) Telemetriekanalendpunkt über TrackMetric |
Achtung
Das Application Insights Java 2.x SDK wird nicht mehr empfohlen. Verwenden Sie stattdessen das OpenTelemetry-basierte Java-Angebot.
Das OpenCensus Python SDK wurde eingestellt. Wir empfehlen das auf OpenTelemetry basierende Python-Angebot und bieten Migrationsanleitungen.
Metrikvoraggregation mit automatischer Instrumentierung
Bei der automatischen Instrumentierung wird das SDK automatisch zu Ihrem Anwendungscode hinzugefügt und kann nicht angepasst werden. Für benutzerdefinierte Metriken ist eine manuelle Instrumentierung erforderlich.
Aktuelles Produktions-SDK | Standardmetrikenvoraggregation | Voraggregation benutzerdefinierter Metriken |
---|---|---|
ASP.NET Core | SDK 1 | Nicht unterstützt |
ASP.NET | SDK 2 | Nicht unterstützt |
Java | SDK | Unterstützt 3 |
Node.js | SDK | Nicht unterstützt |
Python | SDK | Nicht unterstützt |
Fußnoten
- 1 ASP.NET Core-Autoinstrumentierung on App Service gibt Standardmetriken ohne Dimensionen aus. Manuelle Instrumentierung ist für alle Dimensionen erforderlich.
- 2 ASP.NET automatische Instrumentierung auf virtuellen Computern/VM-Skalierungssätzen und lokalen Standardmetriken ohne Dimensionen ausgibt. Dies gilt auch für Azure App Service, allerdings muss die Sammlungsebene auf „Empfohlen“ festgelegt werden. Manuelle Instrumentierung ist für alle Dimensionen erforderlich.
- 3 Der mit der Autoinstrumentation verwendete Java-Agent erfasst Metriken, die von beliebten Bibliotheken ausgegeben werden, und sendet sie als benutzerdefinierte Metriken an Application Insights.
Benutzerdefinierte Metrikdimensionen und Vorabaggregation
Alle Metriken, die Sie mit den API-Aufrufen OpenTelemetry, trackMetric oder GetMetric und TrackValue senden, werden automatisch in Metrikspeichern und Protokollen gespeichert. Diese Metriken finden Sie in der Tabelle „customMetrics“ in Application Insights und im Metrik-Explorer unter dem benutzerdefinierten metrischen Namespace mit dem Namen azure.applicationinsights. Obwohl die protokollbasierte Version Ihrer benutzerdefinierten Metrik immer alle Dimensionen beibehält, wird die vorab aggregierte Version der Metrik standardmäßig ohne Dimensionen gespeichert. Die Beibehaltung von Dimensionen für benutzerdefinierte Metriken ist eine Previewfunktion, die auf der Registerkarte Nutzung und geschätzte Kosten durch Auswahl von Mit Dimensionen unter Benutzerdefinierte Metriken an den Azure Metrikspeicher senden aktiviert werden kann.
Kontingente
Vorab aggregierte Metriken werden als Zeitreihen in Azure Monitor gespeichert. Es gelten die Azure Monitor-Kontingente für benutzerdefinierte Metriken.
Hinweis
Ein Überschreiten des Kontingents kann unbeabsichtigte Folgen haben. Azure Monitor könnte in Ihrem Abonnement oder Ihrer Region unzuverlässig werden. Um zu lernen, wie Sie ein Überschreiten des Kontingents vermeiden können, siehe Design-Einschränkungen und Überlegungen.
Warum ist die Sammlung benutzerdefinierter Metrikdimensionen standardmäßig deaktiviert?
Die Erfassung von benutzerdefinierten Metrikdimensionen ist standardmäßig deaktiviert, da in Zukunft die Speicherung von benutzerdefinierten Metriken mit Dimensionen getrennt von Application Insights abgerechnet wird. Die Speicherung der benutzerdefinierten Metriken ohne Dimensionen bleibt (bis zu einem bestimmten Kontingent) kostenfrei. Weitere Informationen zu den bevorstehenden Änderungen des Preismodells finden Sie auf unserer offiziellen Seite mit der Preisübersicht.
Erstellen von Diagrammen und Entdecken von Metriken
Verwenden Sie den Metrik-Explorer von Azure Monitor, um Diagramme aus voraggregierten und protokollbasierten und benutzerdefinierten Metriken darzustellen, und um Dashboards mit Diagrammen zu erstellen. Nachdem Sie die gewünschte Application Insights-Ressource ausgewählt haben, können Sie mit der Namespaceauswahl zwischen Metriken wechseln.
Preismodelle für Application Insights-Metriken
Die Erfassung von Metriken in Application Insights – unabhängig davon, ob diese protokollbasiert oder vorab aggregiert erfolgt – erzeugt Kosten. Diese Kosten hängen vom Umfang der erfassten Daten ab. Weitere Informationen finden Sie unter Azure Monitor-Protokolle: Preise. Ihre benutzerdefinierten Metriken, einschließlich aller Dimensionen, werden immer im Application Insights-Protokollspeicher gespeichert. Darüber hinaus wird standardmäßig eine vorab aggregierte Version Ihrer Standardmetriken (ohne Dimensionen) an den Metrikspeicher weitergeleitet.
Die Auswahl der Option Dimensionswarnungen für benutzerdefinierte Metriken aktivieren zum Speichern aller Dimensionen vorab aggregierter Metriken im Metrikspeicher kann zusätzliche Kosten basierend auf den Preisen für benutzerdefinierte Metriken verursachen.
Verfügbare Metriken
In den folgenden Abschnitten werden Metriken mit unterstützten Aggregationen und Dimensionen aufgelistet. Zu den Details der protokollbasierten Metriken gehören die zugrunde liegenden Kusto-Abfrageanweisungen.
Verfügbarkeitsmetriken
Metriken der Kategorie „Verfügbarkeit“ ermöglichen es Ihnen, die Integrität Ihrer Webanwendung so anzuzeigen, wie sie an Punkten auf der ganzen Welt zu beobachten ist. Konfigurieren Sie die Verfügbarkeitstests, damit Sie Metriken aus dieser Kategorie verwenden können.
Verfügbarkeit (availabilityResults/availabilityPercentage)
Die Metrik Verfügbarkeit zeigt den Prozentsatz der Webtestläufe, bei denen keine Probleme erkannt wurden. Der kleinstmögliche Wert ist 0 und gibt an, dass bei allen Webtestläufen Fehler aufgetreten sind. Der Wert 100 bedeutet, dass alle Webtestläufe die Überprüfungskriterien erfüllt haben.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Prozentsatz | Avg | Run location , Test name |
Verfügbarkeitstestdauer (availabilityResults/duration)
Die Metrik Verfügbarkeitstestdauer gibt an, wie lange die Ausführung des Webtests gedauert hat. Bei den mehrstufigen Webtests spiegelt die Metrik die gesamte Ausführungszeit aller Stufen wider.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Millisekunden | Avg, Max, Min | Run location , Test name , Test result |
Verfügbarkeitstests (availabilityResults/count)
Die Metrik Verfügbarkeitstests spiegelt die Anzahl der von Azure Monitor ausgeführten Webtests wider.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Anzahl | Anzahl | Run location , Test name , Test result |
Browsermetriken
Browsermetriken werden vom Application Insights JavaScript SDK aus echten Endbenutzerbrowsern gesammelt. Sie bieten nützliche Einblicke in die Erfahrungen der Benutzer mit Ihrer Webanwendung. Für Browsermetriken werden in der Regel keine Stichproben verwendet, was bedeutet, dass sie eine höhere Genauigkeit der Nutzungszahlen bieten als serverseitige Metriken, die durch die Verwendung von Stichproben verzerrt sein können.
Hinweis
Um Browsermetriken zu erfassen, muss Ihre Anwendung mit dem Application Insights JavaScript SDK ausgestattet sein.
Browser-Seitenladezeit (browserTimings/totalDuration)
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Millisekunden | Avg, Max, Min | Keine |
Clientverarbeitungszeit (browserTiming/processingDuration)
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Millisekunden | Avg, Max, Min | Keine |
Netzwerkverbindungszeit zum Laden der Seite (browserTimings/networkDuration)
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Millisekunden | Avg, Max, Min | Keine |
Empfängt Antwortzeit (browserTimings/receiveDuration)
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Millisekunden | Avg, Max, Min | Keine |
Anforderungszeit senden (browserTimings/sendDuration)
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Millisekunden | Avg, Max, Min | Keine |
Fehlermetriken
Die Metriken der Kategorie Fehler zeigen Probleme bei der Verarbeitung von Anforderungen, Abhängigkeitsaufrufen und ausgelösten Ausnahmen.
Browserausnahmen (exceptions/browser)
Diese Metrik spiegelt die Anzahl der ausgelösten Ausnahmen von Ihrem Anwendungscode im Browser wider. Nur Ausnahmen, die mit einem trackException()
Application Insights API-Aufruf verfolgt werden, sind in der Metrik enthalten.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Anzahl | Anzahl | Cloud role name |
Fehler bei Abhängigkeitsaufrufen (dependencies/failed)
Die Anzahl fehlerhafter Abhängigkeitsaufrufe.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Anzahl | Anzahl | Cloud role instance , Cloud role name , Dependency performance , Dependency type , Is traffic synthetic , Result code , Target of dependency call |
Ausnahmen (exceptions/count)
Jedes Mal, wenn Sie eine Ausnahme bei Application Insights protokollieren, erfolgt ein Aufruf der trackException()-Methode des SDK. Die Metrik „Ausnahmen“ zeigt die Anzahl der protokollierten Ausnahmen an.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Anzahl | Anzahl | Cloud role instance , Cloud role name , Device type |
Fehlerhafte Anforderungen (requests/failed)
Die Anzahl der verfolgten Serveranforderungen, die als fehlgeschlagen markiert wurden. Standardmäßig markiert das Application Insights SDK automatisch jede Serveranforderung, die den HTTP-Antwortcode 5xx oder 4xx zurückgegeben hat, als fehlerhafte Anforderung. Sie können diese Logik anpassen, indem Sie die Eigenschaft Erfolg des Anforderungstelemetrieelements in einem benutzerdefinierten Telemetrieinitialisierer ändern.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Anzahl | Anzahl | Cloud role instance , Cloud role name , Is synthetic traffic , Request performance , Result code |
Serverausnahmen (exceptions/server)
Diese Metrik zeigt die Anzahl der Serverausnahmen.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Anzahl | Anzahl | Cloud role instance , Cloud role name |
Leistungsindikatoren
Verwenden Sie Metriken in der Kategorie Leistungsindikatoren, um auf die von Application Insights erfassten Systemleistungsindikatoren zuzugreifen.
Verfügbarer Speicher (performanceCounters/availableMemory)
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Megabytes / Gigabyte (datenabhängig) | Avg, Max, Min | Cloud role instance |
Ausnahmerate (performanceCounters/exceptionRate)
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Anzahl | Avg, Max, Min | Cloud role instance |
Ausführungszeit der HTTP-Anforderung (performanceCounters/requestExecutionTime)
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Millisekunden | Avg, Max, Min | Cloud role instance |
HTTP-Anforderungsrate (performanceCounters/requestsPerSecond)
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Anforderungen pro Sekunde | Avg, Max, Min | Cloud role instance |
HTTP-Anforderungen in der Anwendungswarteschlange (performanceCounters/requestsInQueue)
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Anzahl | Avg, Max, Min | Cloud role instance |
Prozess-CPU (performanceCounters/processCpuPercentage)
Die Metrik zeigt, wie viel der gesamten Prozessorleistung von dem Prozess genutzt wird, der Ihre überwachte App hostet.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Prozentsatz | Avg, Max, Min | Cloud role instance |
Hinweis
Der Metrikbereich liegt zwischen 0 und 100 * n, wobei n für die Anzahl der verfügbaren CPU-Kerne steht. Beispielsweise kann der Metrikwert von 200 % die vollständige Auslastung von zwei CPU-Kernen oder die halbe Auslastung von 4 CPU-Kernen usw. darstellen. Bei normalisierte Prozess-CPU handelt es sich um eine alternative Metrik, die von vielen SDKs erfasst wird und denselben Wert darstellt, diesen jedoch durch die Anzahl der verfügbaren CPU-Kerne dividiert. Daher liegt der Bereich der Metrik normalisierte Prozess-CPU zwischen 0 und 100.
E/A-Rate des Prozesses (performanceCounters/processIOBytesPerSecond)
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Bytes pro Sekunde | Durchschnitt, Minimum, Maximum | Cloud role instance |
Private Bytes des Prozesses (performanceCounters/processPrivateBytes)
Menge des nicht gemeinsam genutzten Arbeitsspeichers, die der überwachte Prozess für seine Daten reserviert hat.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Byte | Durchschnitt, Minimum, Maximum | Cloud role instance |
Prozessorzeit (performanceCounters/processorCpuPercentage)
CPU-Auslastung durch alle Prozesse, die auf der überwachten Serverinstanz ausgeführt werden.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Prozentwert | Durchschnitt, Minimum, Maximum | Cloud role instance |
Hinweis
Die Prozessorzeitmetrik ist für die in Azure App Services gehosteten Anwendungen nicht verfügbar. Verwenden Sie die Metrik Prozess-CPU, um die CPU-Auslastung der in App Services gehosteten Webanwendungen nachzuverfolgen.
Servermetriken
Abhängigkeitsaufrufe (dependencies/count)
Diese Metrik bezieht sich auf die Anzahl der Abhängigkeitsaufrufe.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Anzahl | Anzahl | Cloud role instance , Cloud role name , Dependency performance , Dependency type , Is traffic synthetic , Result code , Successful call , Target of a dependency call |
Dauer der Abhängigkeit (dependencies/duration)
Diese Metrik bezieht sich auf die Dauer von Abhängigkeitsaufrufen.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Millisekunden | Avg, Max, Min | Cloud role instance , Cloud role name , Dependency performance , Dependency type , Is traffic synthetic , Result code , Successful call , Target of a dependency call |
Serveranforderungsrate (Anforderungen/Rate)
Diese Metrik spiegelt die Anzahl der eingehenden Serveranforderungen wider, die von Ihrer Webanwendung empfangen wurden.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Anzahl pro Sekunde | Avg | Cloud role instance , Cloud role name , Is traffic synthetic , Request performance Result code , Successful request |
Serveranforderungen (requests/count)
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Anzahl | Anzahl | Cloud role instance , Cloud role name , Is traffic synthetic , Request performance Result code , Successful request |
Serverantwortzeit (requests/duration)
Diese Metrik spiegelt die Zeit wider, die die Server für die Verarbeitung eingehender Anforderungen benötigt haben.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Millisekunden | Avg, Max, Min | Cloud role instance , Cloud role name , Is traffic synthetic , Request performance Result code , Successful request |
Nutzungsmetriken
Ladezeit der Seitenansicht (pageViews/duration)
Diese Metrik bezieht sich auf die Zeit, die für das Laden von PageView-Ereignissen benötigt wurde.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Millisekunden | Avg, Max, Min | Cloud role name , Is traffic synthetic |
Seitenaufrufe (pageViews/count)
Die Anzahl der PageView-Ereignisse, die mit der TrackPageView() Application Insights API protokolliert wurden.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Anzahl | Anzahl | Cloud role name , Is traffic synthetic |
Überwachungen (traces/count)
Die Anzahl der mit dem TrackTrace() Application Insights API-Aufruf protokollierten Überwachungsanweisungen.
Unit of measure | Unterstützte Aggregationen | Unterstützte Dimensionen |
---|---|---|
Anzahl | Anzahl | Cloud role instance , Cloud role name , Is traffic synthetic , Severity level |
Benutzerdefinierte Metriken
Gilt nicht für Standardmetriken.
Zugreifen auf protokollbasierte Metriken direkt mit der REST-API für Application Insights
Die Application Insights-REST-API ermöglicht das programmgesteuerte Abrufen von protokollbasierten Metriken. Außerdem enthält sie einen optionalen Parameter ai.include-query-payload
, der beim Hinzufügen zu einer Abfragezeichenfolge die API auffordert, nicht nur die Daten der Zeitreihen zurückzugeben, sondern auch die Kusto Query Language (KQL)-Anweisung, die zum Abrufen verwendet wird. Dieser Parameter kann besonders für Benutzer nützlich sein, welche die Verbindung zwischen rohen Ereignissen in Log Analytics und der resultierenden protokollbasierten Metrik verstehen möchten.
Um direkt auf Ihre Daten zuzugreifen, übergeben Sie den Parameter ai.include-query-payload
in einer Abfrage mithilfe von KQL an die Application Insights-API.
Hinweis
Um die zugrunde liegende Protokollabfrage abzurufen müssen DEMO_APP
und DEMO_KEY
nicht ersetzt werden. Wenn Sie nur die KQL-Anweisung und nicht die Zeitreihendaten Ihrer eigenen Anwendung abrufen möchten, können Sie sie direkt in die Suchleiste ihres Browsers kopieren und einfügen.
api.applicationinsights.io/v1/apps/DEMO_APP/metrics/users/authenticated?api_key=DEMO_KEY&prefer=ai.include-query-payload
Nachfolgend sehen Sie ein Beispiel für eine KQL-Rückgabe-Anweisung für die Metrik „Authentifizierte Benutzer“. (In diesem Beispiel ist "users/authenticated"
die Metrik-ID.)
output
{
"value": {
"start": "2024-06-21T09:14:25.450Z",
"end": "2024-06-21T21:14:25.450Z",
"users/authenticated": {
"unique": 0
}
},
"@ai.query": "union (traces | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (requests | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (pageViews | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (dependencies | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (customEvents | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (availabilityResults | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (exceptions | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (customMetrics | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (browserTimings | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)) | where notempty(user_AuthenticatedId) | summarize ['users/authenticated_unique'] = dcount(user_AuthenticatedId)"
}