Entdecken protokollbasierter Metriken
Mit den protokollbasierten Metriken von Application Insights können Sie die Integrität Ihrer überwachten Apps analysieren, leistungsstarke Dashboards erstellen und Warnungen konfigurieren. Es gibt zwei Arten von Metriken:
- Protokollbasierte Metriken im Hintergrund werden aus gespeicherten Ereignissen in Kusto-Abfragen übersetzt.
- Standardmetriken werden als vorab aggregierte Zeitreihe gespeichert.
Da Standardmetriken während der Erfassung vorab aggregiert werden, weisen sie zum Abfragezeitpunkt eine bessere Leistung auf. Standardmetriken sind die bessere Wahl für Dashboards und Echtzeitwarnungen. Die protokollbasierten Metriken verfügen über mehr Dimensionen, was sie zur überlegenen Option für die Datenanalyse und Ad-hoc-Diagnosen macht. Verwenden Sie die Namespace-Auswahl, um im Metrik-Explorer zwischen protokollbasierten Metriken und Standardmetriken zu wechseln.
Protokollbasierte Metriken
Entwickler können das SDK verwenden, um Ereignisse manuell zu senden (indem sie Code schreiben, der das SDK explizit aufruft), oder sie können sich auf die automatische Sammlung von Ereignissen aus der automatischen Instrumentierung verlassen. In beiden Fällen speichert das Application Insights-Backend alle gesammelten Ereignisse als Protokolle, und die Application Insights-Blätter im Azure-Portal dienen als Analyse- und Diagnosewerkzeug zur Visualisierung ereignisbasierter Daten aus Protokollen.
Die Verwendung von Protokollen zur Erhaltung eines vollständigen Satzes von Ereignissen kann einen großen analytischen und diagnostischen Wert darstellen. So können Sie beispielsweise eine genaue Anzahl von Anforderungen an eine bestimmte URL mit der Anzahl der verschiedenen Benutzer abrufen, die diese Aufrufe getätigt haben. Oder Sie können detaillierte Diagnoseablaufverfolgungsdaten, einschließlich Ausnahmen und Aufrufe von Abhängigkeiten für jede Benutzersitzung abrufen. Diese Art von Informationen kann die Transparenz über Integrität und Nutzung der Anwendung erheblich verbessern, wodurch die Zeit für die Diagnose von Problemen mit einer Anwendung verkürzt wird.
Gleichzeitig kann das Sammeln eines kompletten Satzes an Ereignissen für Anwendungen, die große Mengen an Telemetriedaten erzeugen, schwer umsetzbar (oder sogar unmöglich) sein. Für Situationen, in denen die Menge der Ereignisse zu hoch ist, implementiert Application Insights mehrere Techniken zur Reduzierung des Telemetriedatenvolumens, wie z. B. Stichprobenerstellung und Filterung, die die Anzahl der gesammelten und gespeicherten Ereignisse reduzieren. Leider senkt die Verringerung der Anzahl gespeicherter Ereignisse auch die Genauigkeit der Metriken, die hinter den Kulissen Abfragezeitaggregationen der in Protokollen gespeicherten Ereignisse durchführen müssen.
Voraggregierte Metriken
Die vorab aggregierten Metriken werden nicht als einzelne Ereignisse mit zahlreichen Eigenschaften gespeichert. Stattdessen werden sie als vorab aggregierte Zeitreihen gespeichert, die nur die wichtigsten Dimensionen enthalten. Dadurch sind die neuen Metriken hinsichtlich der Abfragezeit überlegen: Der Datenabruf erfolgt schneller und erfordert weniger Rechenleistung. Dies ermöglicht neue Szenarien wie Warnungen zu Metrikdimensionen nahezu in Echtzeit, reaktionsschnellere Dashboards und mehr.
Wichtig
Protokollbasierte und vorab aggregierte Metriken können in Azure Application Insights parallel verwendet werden. Zur Unterscheidung werden auf der Application Insights-Benutzeroberfläche die vorab aggregierten Metriken jetzt als „Standardmetriken (Vorschau)“ bezeichnet, während die traditionellen Metriken aus den Ereignissen in „protokollbasierte Metriken“ umbenannt wurden.
Die neueren SDKs (SDK Application Insights 2.7 oder höher für .NET) aggregieren die Metriken während der Auflistung vorab. Dies gilt für Standardmetriken, die standardmäßig gesendet werden, sodass die Genauigkeit nicht durch die Stichprobenentnahme oder das Filtern beeinträchtigt wird. Dies gilt auch für benutzerdefinierte Metriken, die mit GetMetric gesendet werden, was zu einer geringeren Datenerfassung und geringeren Kosten führt.
Bei SDKs, die keine Vorabaggregation implementieren, füllt das Application Insights-Back-End weiterhin die neuen Metriken auf, indem es die Ereignisse aggregiert, die vom Application Insights-Endpunkt zur Ereignissammlung empfangen werden. Sie können zwar nicht von dem reduzierten Datenvolumen profitieren, das über die Leitung übertragen wird, können die vorab aggregierten Metriken aber dennoch bei SDKs nutzen, die Metriken während der Erfassung nicht vorab aggregieren. Auf diese Weise erhalten Sie eine bessere Leistung und Unterstützung für Dimensionswarnungen in Quasi-Echtzeit.
Es ist erwähnenswert, dass der Sammlungsendpunkt Ereignisse vor der Erfassungs-Stichprobenerstellung vorab aggregiert, was bedeutet, dass die Erfassungs-Stichprobenerstellung niemals die Genauigkeit von vorab aggregierten Metriken beeinträchtigt, unabhängig davon, welche SDK-Version Sie mit Ihrer Anwendung verwenden.