Einführung
In dieser Lerneinheit sehen Sie sich Überwachungskonzepte für Java-Anwendungen an.
Gründe für die Überwachung
In allen Umgebungen ist es wichtig, nachzuverfolgen, wie Benutzer Ihr System verwenden, die Verwendung von Ressourcen nachzuverfolgen und allgemein die Integrität und die Leistung Ihres Systems zu überwachen. Diese Informationen dienen als Diagnosehilfe, um Probleme zu erkennen und zu korrigieren sowie potenzielle Probleme frühzeitig zu erkennen und zu verhindern.
Überwachungsarten
Überwachung kann allgemein auf vier verschiedene Arten erfolgen:
Protokolle: Permanente, unveränderliche Datensätze von Ereignissen, die in einem konsistenten Tabellenformat gespeichert sind, sofern nicht in einer vollständigen Datenbank. Ein Ereignis kann auf eine von vielen Bedingungen hindeuten, einschließlich:
- Eine Änderung des Status einer überwachten Komponente (z. B. von „ausgelastet“ zu „verfügbar“)
- Der Abschluss einer Aufgabe oder einer Sequenz von Anweisungen
- Ein Meilenstein beim Senden von Daten über ein Netzwerk oder die Verfügbarkeit von Einheiten in einem Netzwerk
- Ein Fehler, bei dem es sich in diesem Kontext um ein Verhalten handelt, für dessen Verarbeitung bzw. Auflösung das System oder die Anwendung nicht programmiert wurde
Metriken: Werte, die die relative Integrität, Stabilität und Verfügbarkeit von Diensten oder Anwendungen bzw. der Infrastruktur, die sie hostet, darstellen
Stapelüberwachungen: Datensätze der Ausführungspfade für Programme und Dienste, insbesondere in einem stark verteilten System, die die Abfolge von Anweisungen angeben, die möglicherweise direkt oder indirekt ein Ereignis ausgelöst haben.
Warnungen: Warnungen benachrichtigen Sie proaktiv, wenn Probleme in Ihrer Infrastruktur oder Anwendung auftreten. Sie ermöglichen es Ihnen, Probleme zu identifizieren und zu beheben, bevor die Benutzer Ihres Systems sie bemerken.
Überwachungsplattformen von Azure
In Azure steht Ihnen Azure Monitor zur Verfügung, eine Plattform, die mehrere Dienste bietet, mit denen Entwickler und Administratoren Telemetriedaten zur Leistung von Anwendungen und der Infrastruktur, in der sie gehostet werden, erfassen, analysieren und auf dieser Grundlage Maßnahmen ergreifen können.
Log Analytics ist ein Tool im Azure-Portal, mit dem Protokollabfragen aus den von Azure Monitor-Protokollen erfassten Daten bearbeitet und ausgeführt sowie deren Ergebnisse interaktiv analysiert werden können. Mit Log Analytics-Abfragen können Sie Datensätze abrufen, die bestimmte Kriterien erfüllen, Trends identifizieren, Muster analysieren und eine Vielzahl von Erkenntnissen aus Ihren Daten gewinnen.
Application Insights, ein Feature von Azure Monitor, ist ein erweiterbarer Anwendungsleistungsdienst (APM, Application Performance Management) für Entwickler und DevOps-Experten. Das Feature erkennt automatisch Leistungsanomalien und bietet Analysetools, mit denen Sie Probleme diagnostizieren und ermitteln können, wie Benutzer Ihre App tatsächlich nutzen.
Azure Monitor-Warnungen: Überwachungsdaten werden ggf. auch zur Unterstützung bestimmter Szenarien an andere Speicherorte gesendet, und einige Ressourcen schreiben möglicherweise Daten an andere Speicherorte, bevor sie in Protokollen oder Metriken gesammelt werden können.
- Metrikwarnungen bieten einen Warnungstrigger, wenn ein festgelegter Schwellenwert überschritten wird. Beispielsweise kann eine Metrikwarnung Sie benachrichtigen, wenn die CPU-Auslastung 95 % übersteigt.
- Protokollwarnungen basieren auf Einträgen, die in Protokolldateien geschrieben werden. Zum Beispiel kann Sie eine Protokollwarnung benachrichtigen, wenn ein Webserver viele 404- oder 500-Fehler zurückgegeben hat.
Sie können Anwendungen, Dienste und Infrastruktur in Azure mithilfe eines Überwachungssystems Ihrer Wahl überwachen, darunter Elastic Stack, Splunk, New Relic, Dynatrace und App Dynamics. In diesem Modul liegt der Fokus aber auf Azure Monitor, Log Analytics und Application Insights.