Der Unterschied zwischen Observability und herkömmlicher Überwachung beginnt auf der Datenebene. Die Überwachung stützt sich in der Regel auf eine Reihe vorkonfigurierter Dashboards, die Sie auf erwartete Leistungsprobleme hinweisen sollen. Sie verfolgen und bewerten bekannte (erwartete) Arten von Problemen, die auftreten können. Überwachungswerkzeuge sind also darauf ausgelegt, auf bekannte Probleme zu reagieren.
Die Beobachtbarkeit hingegen liefert uns Informationen, die es uns ermöglichen, verschiedene Arten tatsächlicher oder potenzieller Probleme zu erkennen, auf die wir noch nicht gestoßen sind. Sie kann daher unerwartete Fragen, sogenannte "unbekannte Unbekannte", beantworten.
Das Konzept der Beobachtbarkeit stützt sich auf drei Säulen: Metriken, Protokolle und Traces.
Metriken sind numerische Darstellungen von Daten wie CPU-Nutzung, RAM-Belegung usw., die in regelmäßigen Zeitabständen gemessen werden. Auf sie können mathematische Modelle und Vorhersagen angewandt werden. Sie werden in der Regel für die grundlegende Analyse und Bewertung der Systemleistung verwendet.
Protokolle sind maschinell erstellte Aufzeichnungen von Ereignissen verschiedener Art, die in der Regel einen Zeitstempel und Daten zu einem bestimmten Datensatz enthalten. Sie können auch Informationen über den Schweregrad des Ereignisses, die Identifizierung der Quellanwendung, den Namen oder die IP-Adresse des Servers und mehr enthalten.
Traces ermöglichen es, die Abfolge von Aufrufen einzelner Dienste, Systeme und Anwendungen über einen eindeutigen Identifikator mit der Benutzeranfrage zu verknüpfen, die zum Start der Verarbeitung geführt hat. Im Falle eines Problems ist es möglich, den End-to-End-Pfad der Anfrage zurückzuverfolgen, ihre tatsächliche Ursache zu finden oder möglicherweise einen Engpass im Verlauf des gesamten Prozesses zu identifizieren.
Um alle Daten zu sammeln, zu reduzieren und zu bereinigen und dann nur die wirklich wertvollen Informationen an das Zielanalysesystem zu senden, ist ein Werkzeug nützlich, das als "Beobachtbarkeits-Pipeline" bezeichnet wird. Dieser Begriff bezieht sich auf die Kontrollschicht, die zwischen den verschiedenen Datenquellen und den Zielsystemen für die Datenanalyse und -verarbeitung liegt. Sie ermöglicht es, beliebige Daten in beliebigem Format zu empfangen, ihren Informationswert zu extrahieren und dann an ein beliebiges Ziel weiterzuleiten. Das Ergebnis ist eine höhere Leistung und niedrigere IKT-Infrastrukturkosten.