Was ist der Unterschied zwischen Beobachtbarkeit und Überwachung?
In DevOps sind Beobachtbarkeit und Überwachung zwei unterschiedliche datenbasierte Prozesse. Sie verwenden sie, um den Zustand und die Leistung verteilter Microservice-Architekturen und ihrer Infrastruktur erfolgreich aufrechtzuerhalten und zu verwalten. Verteilte Systeme arbeiten, indem sie Daten zwischen Dutzenden bis Hunderten oder Tausenden verschiedener Komponenten austauschen.
Bei der Überwachung werden Daten gesammelt und Berichte zu verschiedenen Metriken generiert, die den Systemzustand definieren. Beobachtbarkeit ist ein eher untersuchender Ansatz. Es untersucht eingehend die Interaktionen verteilter Systemkomponenten und die durch Überwachung gesammelten Daten, um die Grundursache von Problemen zu ermitteln. Dazu gehören Aktivitäten wie die Trace-Path-Analyse, ein Prozess, der dem Pfad einer Anfrage durch das System folgt, um Integrationsfehler zu identifizieren. Bei der Überwachung werden Daten zu einzelnen Komponenten gesammelt, und Beobachtbarkeit betrachtet das verteilte System als Ganzes.
So funktionieren sie: Beobachtbarkeit versus Überwachung
Beobachtbarkeit und Überwachung sind beide wichtige Prozesse für den Betrieb effektiver DevOps-Programme.
Überwachung
Die Überwachung von Computersystemen ist eine Praxis, die so alt ist wie der Betrieb von Computersystemen selbst. Der Überwachungsprozess sammelt Daten über ein System, um zu überprüfen, ob das System erwartungsgemäß funktioniert. Es enthält Berichte und Warnungen zu Fehlern, Störungen oder anomalen Datenwerten.
Überwachungstools können beispielsweise Daten sammeln, um die Zeit zu messen, die für die Bereitstellung einer Anwendungsversion benötigt wurde. Wenn die benötigte Zeit außerhalb des erwarteten Zeitfensters liegt, können die Überwachungstools die Benutzer warnen und darauf hinweisen, dass wahrscheinlich etwas schief gelaufen ist.
Das DevOps-Überwachung deckt den gesamten Lebenszyklus der Softwareentwicklung (SDLC) ab. Die Überwachung der Anwendungsleistung (APM) ist eine spezialisierte Untergruppe der DevOps-Überwachung, die sich auf Anwendungen konzentriert, die in der Produktion ausgeführt werden. Es priorisiert Metriken, die sich auf die Benutzererfahrung beziehen.
Lesen Sie mehr über den Lebenszyklus der Softwareentwicklung
Erfahren Sie mehr über die Überwachung der Anwendungsleistung
Beobachtbarkeit
Beobachtbarkeit erweitert den Anwendungsbereich und die Sichtbarkeit herkömmlicher Überwachungstools und berücksichtigt zusätzliche situative und historische Daten sowie Systeminteraktionen. Es ermöglicht die Untersuchung der Grundursache von Überwachungswarnungen sowie die Untersuchung von Problemen, die aufgrund von Interaktionen mit mehreren Komponenten auftreten.
Sie können Beobachtbarkeitstools verwenden, um Systeme, die auf verteilten Anwendungsarchitekturen basieren, selbst zu debuggen. Sie können sie auch verwenden, um den Zustand des Systems insgesamt und die Interaktionen zwischen Systemkomponenten in Echtzeit zu beobachten. Sie können Beobachtbarkeits-Software verwenden, um ein gesamtes miteinander verbundenes System, seine Abhängigkeiten und Interaktionen in Echtzeit abzubilden.
Was sind die Gemeinsamkeiten zwischen Beobachtbarkeit und Überwachung?
Sowohl Beobachtbarkeit als auch Überwachung stammen ursprünglich aus dem Gebiet der Regelungstheorie, einem Gebiet der Systemtechnik und Mathematik. Beide werden häufig in Computer- und kombinierten physischen Umgebungen verwendet, um den Zustand und die Leistung des Systems aufrechtzuerhalten. In DevOps werden die Begriffe oft synonym verwendet, da sich beide auf Telemetriedaten wie Metriken, Ereignisse, Protokolle und Traces beziehen.
Metriken
Metriken sind Messungen von Systemdaten. Eine Metrik könnte beispielsweise der Netzwerkdurchsatz oder die Anzahl der Anwendungsfehler in einer Woche sein. Überwachungsberichte zu Kennzahlen und Beobachtbarkeit suchen nach Möglichkeiten, ihre Werte zu verbessern.
Events
Ereignisse sind diskrete Aktionen, die in einem System zu einem beliebigen Zeitpunkt auftreten. Ein Beispiel könnte ein Benutzer sein, der ein Passwort ändert, oder eine Warnung, die auf eine hohe Anzahl von Passwortversuchen hinweist. Ereignisse lösen eine Überwachung aus und unterstützen die Beobachtbarkeit bei der Untersuchung von Vorfällen.
Protokolle
Protokolle sind softwaregenerierte Dateien, die Informationen über die Abläufe, Aktivitäten und Nutzungsmuster des Systems enthalten. Sie enthalten eine historische Aufzeichnung aller Prozesse, Ereignisse und Nachrichten sowie zusätzliche beschreibende Daten, z. B. Zeitstempel, um diese Informationen zu kontextualisieren. Bei der Überwachung werden Protokolle generiert, die Beobachtbarkeit für weitere Systemanalysen verwendet.
Mehr über Protokolldateien lesen
Traces
Traces sind der vollständige Pfad einer einzelnen Operation über die verschiedenen miteinander verbundenen Systeme hinweg. Für ein vollständig verteiltes Tracing müssen Signale von jeder Transaktion in der Microservice-Architektur zum Tracking ausgegeben werden. Die Überwachung ermöglicht die Rückverfolgung, was eine wichtige Funktion der Beobachtbarkeit ist.
Beobachtbarkeit vs. Überwachung: Hauptunterschiede
Überwachung ist eine wichtige Kernkomponente der Beobachtbarkeit. Umfassende Überwachung erstellt beschreibende Metriken, Ereignisse, Protokolle und Traces, die das Wesentliche auf leicht identifizierbare und abrufbare Weise messen. Historische Aufzeichnungen werden zusammen mit aktuellen Messungen gespeichert, um ein umfassendes Bild des Systems zu erhalten. Beobachtbarkeit kann dann die Ergebnisse der Überwachung nutzen, um Vorfälle eingehender zu untersuchen.
Überwachung ist das Wann und Was eines Systemfehlers, und Beobachtbarkeit ist das Warum und Wie. Es gibt viele Signale, die abgebildet und überwacht werden müssen, um ein Gesamtbild des internen Zustands und der Verfassung des gesamten Systems zu erhalten. Sie benötigen all diese Daten, um effektive Untersuchungen durchführen zu können. Damit Beobachtbarkeit nützlich und wirksam ist, muss die Überwachung umfassend und beschreibend sein.
Anomalien
Mit Überwachungssystemen können Sie Anomalien oder ungewöhnliches Verhalten in Bezug auf Systemstatus und Leistung erkennen. Mit Beobachtbarkeit können Sie alle Anomalien weiter untersuchen, auch wenn sie aufgrund der Interaktionen zwischen Hunderten von Servicekomponenten auftreten.
Ursache und Wirkung
Die Überwachung konzentriert sich auf die Messung eines oder mehrerer Werte, um festzustellen, ob sich dies auf ein System auswirkt. Das Ziel der Beobachtbarkeit besteht darin, die Ursache dieses Effekts zu verstehen. Wenn beispielsweise neuer Code veröffentlicht wird, verfolgt das Monitoring die Systemkennzahlen, um festzustellen, ob sich die Änderung auf die Ladezeiten von Anwendungen oder auf Datenabrufe auswirkt. Im Falle eines Aufpralls untersucht Beobachtbarkeit den Grund oder die Ursache. Es beantwortet, welcher Teil der Codeänderung den Effekt verursacht hat, und schlägt Möglichkeiten vor, ihn zu beheben.
Systeminteraktionen
Bei der Überwachung wird in der Regel der Zustand eines bestimmten Systems gemessen. Es sammelt Daten zu allen verschiedenen Systemkomponenten, aber die Daten können isoliert sein, und der Zusammenhang ist schwer zu verstehen. Mit Beobachtbarkeit erhalten Sie einen Gesamtüberblick über alle miteinander verknüpften Systeme, um zu verstehen, wo und wie Probleme auftreten.
Einsatzbereich: Beobachtbarkeit oder Überwachung
Das nachträgliche Abfangen von Fehlern, z. B. wenn Benutzer von Ausfällen erfahren oder feststellen, dass eine Anwendung auf dem falschen Zielsystem ausgeführt wird, kann dazu führen, dass Zeit, Geld, Ruf und Entwicklerressourcen verloren gehen. Überwachung ist ein Muss für die proaktive Fehlersuche. Überwachungstools geben Warnmeldungen für alle Arten von Unstimmigkeiten aus, die Sie identifizieren und beheben können, bevor sie langfristige Folgen haben.
Ein beobachtbares System erweitert die vorhandenen Überwachungsfunktionen. Dies ist für den Betrieb von Microservice-Anwendungsarchitekturen unerlässlich, insbesondere wenn sie in einer verteilten Cloud-Infrastruktur bereitgestellt werden. Bei alleiniger Überwachung ist es nahezu unmöglich, die Anwendung oder den Dienst zu identifizieren und zu isolieren, bei denen Fehler auftreten. Die richtige Datenerfassung und Überwachung, gepaart mit Beobachtbarkeit, ermöglicht die Rückverfolgung von Fehlern in komplexen Systemen.
Zusammenfassung der Unterschiede: Überwachung versus Beobachtbarkeit
Überwachung |
Beobachtbarkeit |
|
Wie lautet es? |
Messung und Berichterstattung über bestimmte Kennzahlen innerhalb eines Systems, um den Systemzustand sicherzustellen. |
Erfassung von Metriken, Ereignissen, Protokollen und Traces zur gründlichen Untersuchung von Gesundheitsproblemen in verteilten Systemen mit Microservice-Architekturen. |
Hauptfokus |
Sammeln Sie Daten, um anomale Systemeffekte zu identifizieren. |
Untersuchen Sie die Ursache anomaler Systemeffekte. |
Beteiligte Systeme |
Befasst sich in der Regel mit eigenständigen Systemen. |
Beschäftigt sich in der Regel mit mehreren, unterschiedlichen Systemen. |
Rückverfolgbarkeit |
Beschränkt auf die Ränder des Systems. |
Verfügbar, wenn Signale über unterschiedliche Systemarchitekturen hinweg gesendet werden. |
Erkenntnisse zu Systemfehlern |
Das Wann und Was. |
Das Warum und Wie. |
Wie kann AWS Ihnen bei Ihren Beobachtbarkeits- und Überwachungsanforderungen helfen?
AWS-Cloud-Operationen bietet ein Modell und Tools für einen sicheren und effizienten Betrieb in der Cloud. Mit Amazon Web Services (AWS) können Sie Ihr Unternehmen transformieren, Ihre Anwendungen modernisieren und migrieren und Innovationen beschleunigen.
Durch Überwachung und Beobachtbarkeit im Cloud-Betrieb können Sie Telemetriedaten erfassen, korrelieren, aggregieren und analysieren. Dies gilt für Ihr Netzwerk, Ihre Infrastruktur und Ihre Anwendungen in Cloud-, Hybrid- oder On-Premises-Umgebungen. Sie können Einblicke in das Verhalten, die Leistung und den Zustand Ihres Systems erhalten. Mit diesen Erkenntnissen können Sie Probleme schneller erkennen, untersuchen und beheben. In Kombination mit künstlicher Intelligenz (KI) und Machine Learning (ML) können Sie diese Erkenntnisse nutzen, um proaktiv zu reagieren, Probleme vorherzusagen und zu verhindern.
Sie können zum Beispiel Folgendes verwenden:
- AWS X-Ray zum Analysieren und Debuggen von produktiven und verteilten Anwendungen, zum Nachverfolgen von Benutzeranfragen, zum Identifizieren von Engpässen und zum Überwachen der Leistung
- Amazon CloudWatch für den Zugriff auf und die Analyse von Ressourcen- und Anwendungsdaten sowie externen Ausgaben mithilfe leistungsstarker Visualisierungstools in AWS, vor Ort und in anderen Clouds
- Amazon Managed Grafana zur vollständigen Verwaltung von Grafana (dem beliebten Überwachungstool) für Abfragen, Visualisierungen und Warnmeldungen zu Metriken, Protokollen und Traces für Betriebsdaten
- Amazon Managed Service für Prometheus zur vollständigen Verwaltung von Prometheus, einem Container-Monitoring-Tool zur Verwaltung und Abfrage von Zeitreihenmetriken aus Ihren selbstverwalteten Kubernetes-Container-Clustern
Beginnen Sie mit der Überwachung und Beobachtbarkeit auf AWS, indem Sie noch heute ein Konto erstellen.