Die drei Säulen der Beobachtbarkeit: Einheitliche Logs, Metriken und Traces
Verstehen von Telemetriesignalen für eine bessere Entscheidungsfindung, verbesserte Leistung und ein besseres Kundenerlebnis
.jpg)
Die Telemetriesignale haben sich im Laufe der Jahre erheblich weiterentwickelt – wenn Sie geblinzelt hätten, hätten Sie sie verpassen können. Tatsächlich muss ein Großteil der allgemeinen Erkenntnisse zur Beobachtbarkeit aufgefrischt werden. Wenn Ihre Beobachtbarkeitslösung den aktuellen Stand der Telemetrie nicht berücksichtigt, benötigen Sie möglicherweise ein Upgrade. Monitoring und Beobachtbarkeit in Softwaresystemen haben sich parallel zum technologischen Fortschritt, komplexeren Systemen und neuen Monitoring-Ansätzen, in mehreren Phasen verändert.
Wie immer stehen Daten im Mittelpunkt der Geschichte. Die Entwicklung der Telemetrie folgt eng der Entwicklung der Computertechnik. In dem Maße, wie sich der Bedarf an Daten von einem Indikator für die mechanische Leistung zu einem Indikator (oder mehreren Indikatoren) für die Unternehmensleistung ausweitet, steigen auch die Telemetriesignale. Die Computertechnik hat sich zu verteilten Cloud-Umgebungen entwickelt. Daher müssen sich auch die Monitoring-Verfahren weiterentwickeln, um der Komplexität dieser Architekturen und weitläufigen digitalen Umgebungen gerecht zu werden.
Hier kommt Beobachtbarkeit ins Spiel – die Fähigkeit, Ihre Umgebung nicht nur zu beobachten, sondern auch zu verstehen .
Was sind die drei Säulen der Beobachtbarkeit?
Drei Telemetriesignale sind die Grundpfeiler der Beobachtbarkeit: Metriken, Logs und Traces. Aber für die moderne Beobachtbarkeit reichen diese vielleicht nicht aus. Also schlagen wir eine neue, vierte Säule vor: Profiling.
Metriken, Traces, Logs und Profiling sind die Rädchen, die es Ihnen ermöglichen, die Beobachtbarkeit richtig zu gestalten – um Leistung und Produktivität zu überwachen. Im Gegenzug liefert es umsetzbare Einblicke zugunsten der Rentabilität. Sie sind aus gutem Grund Grundlagen. Wenn Sie sie missverstehen, verlieren Sie den Überblick. Schauen wir uns das also genauer an.
Was sind Metriken? (Oder: Was geschieht gerade?)
Metriken sind die rohen numerischen Daten, die von verschiedenen Quellen wie Hardware, Anwendungssoftware und Websites gesammelt werden und bekannte Größen messen. Sie liefern Informationen zur Ressourcennutzung, Leistung und zum Nutzerverhalten. Metriken sind die ursprünglichen Telemetriesignale des Monitorings und können in verschiedene Typen eingeteilt werden:
Hostmetriken: CPU, Arbeitsspeicher und Festplattennutzung
Anwendungsmetriken: Reaktionszeiten, Fehler- und Anforderungsraten
Netzwerkleistungskennzahlen: Durchsatz, Uptime, Latenz, Verfügbarkeit und mehr
Server-Pool-Metriken: Metriken zur Skalierungsanpassung, Anzahl der ausgeführten Instanzen und Gesamtzahl der Instanzen
Metriken zu externen Abhängigkeiten: Servicestatus, Reaktionsgeschwindigkeit, Verfügbarkeit und Fehlerraten
Diese Metriken sind zum Festlegen von Schwellenwerten für Alerting, Warnungen und Fehlerbedingungen erforderlich. Sie ermöglichen es Teams, die System- und Netzwerkleistung insgesamt zu überwachen und Probleme zu identifizieren, wenn sie auftreten. Auf diese Weise bilden Metriken eine reaktive Haltung im Monitoring.
Was sind Logs? (Warum passiert das?)
Logs sind strukturierte und unstrukturierte Daten aus Ihrer Infrastruktur, Ihren Anwendungen, Netzwerken und Systemen, die aus Zeitstempeleinträgen bestehen, die sich auf bestimmte Ereignisse beziehen. Verschiedene Arten von Geräten und Systemen geben Logs aus:
Netzwerkgeräte
Betriebssysteme
Anwendungen
IoT-Geräte
Anwendungen von Drittanbietern
Jedes dieser Geräte generiert seinen eigenen Log-Typ, sei es ein Systemlog, das Ereignisse wie Verbindungsversuche, Fehler und Konfigurationsänderungen enthält, oder ein Anwendungsprotokoll, das alles von Softwareänderungen bis hin zu CRUD-Operationen, Anwendungsauthentifizierung und mehr aufzeichnet. Das Speichern von Logs ist kompliziert aufgrund der Anzahl der Log-Quellen (überlegen Sie, auf wie vielen der oben aufgeführten Geräte, Anwendungen und Systeme Ihr Unternehmen läuft), inkonsistenter Formate und Zeitstempel und – bei zunehmenden Anfragen, Nutzung und Datenverkehr – enormer Mengen an Logdaten.
Logs wurden früher in erster Linie für die Fehlersuche verwendet und erfüllen heute viele Funktionen, wie z. B. die Aufzeichnung der Aktionen von Nutzern, die Optimierung der System- und Netzwerkleistung und die Bereitstellung von Daten, die für Sicherheitsüberwachungsuntersuchungen nützlich sind. Bei der Behebung von Problemen und Ereignissen greifen IT-Experten auf Logs zurück, um diese zu lokalisieren und zu beheben. Während die Logs selbst flexibel und voller Informationen sind – von denen die meisten unnötig sind und eine Menge Rauschen erzeugen – sind die Logdatenspeicher isoliert und nicht von Natur aus korreliert.
Was sind Traces? (Wo passiert es gerade?)
Traces sind das erste Signal, das die Anwendung aus der Perspektive eines Nutzers zeigt, indem sie die Aktionen aufzeichnen, die ein Nutzer bei der Verwendung einer Anwendung oder eines Dienstes ausführt. Verteiltes Tracing ist eine Möglichkeit, Anfragen auf ihrem Weg durch die verteilte Architektur vom Frontend zum Backend und dann wieder zum Frontend zu überwachen. Auf diese Weise sind Traces für verteilte, Cloud-native Anwendungen, die auf komplexen Technologien wie Kubernetes basieren, notwendig.
Durch die Zusammenführung isolierter Daten helfen Traces bei der Entdeckung von Engpässen und der Fehlerbehebung und Überwachung von Anwendungen, die mehrere Anwendungen nutzen, wie z. B. Festplatten, Netzwerke und gegenseitige Ausschlüsse (Mutex). Traces legen auch den Grundstein für ein proaktives Monitoring. So können SREs, ITOps und DevOps-Teams die Trace-Daten analysieren, um die nützlichsten Metriken oder Logs im Zusammenhang mit einem bestimmten Problem zu ermitteln und es in Zukunft zu entschärfen.
Metriken, Logs und Traces liefern jeweils einen anderen Satz von Daten, die die Fragen eines Nutzers zu seinem System und/oder seiner Anwendung beantworten können. Ohne eine Korrelation der Daten sind Nutzer jedoch mit einer Reihe blinder Flecken konfrontiert. Eine weitere Information kann helfen, die Lücke zu schließen. Machen Sie den nächsten Schritt in der Entwicklung von Telemetriesignalen: Profiling.
Was sind Profile?
Profile sind Sammlungen von Stack-Traces, denen ein Code-Performance-Problem zugeordnet ist und die angeben, wie oft dieser Stack-Trace aufgetreten ist. Sie bieten tiefere Einblicke als andere Signale und ermöglichen die Identifizierung unklarer Probleme im Zusammenhang mit Datenstrukturen, Speicherzuweisung und Codesichtbarkeit sowohl auf Kernel- als auch auf Benutzerebene. Das Sammeln und Analysieren von Profilen wird als Profiling bezeichnet.
Die Profilerstellung bietet eine beispiellose Breite und Tiefe an Sichtbarkeit und eröffnet die Möglichkeit, unbekannte Unbekannte in Ihrem System aufzudecken. Damit ist es das letzte Stück umfassender systemweiter Transparenz. Deshalb ist es unsere vierte Säule der Beobachtbarkeit.
Weitere Informationen zum Profiling finden Sie unter Elastic stellt seinen Universal Profiling-Agenten OpenTelemetry zur Verfügung.
Zusammenhang zwischen Beobachtbarkeit und Telemetriesignalen
Telemetriesignale sind die Grundlage der Beobachtbarkeit. Die Beobachtbarkeit wird durch das Sammeln, Analysieren und Visualisieren von Telemetriesignalen erreicht, um den internen Zustand eines Systems zu verstehen.
Phase 1: Monitoring und Beobachtbarkeit
Bevor es die Cloud gab, war die Überwachung manuell, lokal und begrenzt. Als sich die Computer von einem spezialisierten Geschäftsbereich – ja, Computer waren vor 50 Jahren noch Nischen-Büromaschinen – in alle Haushalte und Büros bewegten, entwickelte sich auch das Monitoring zu einer wichtigen IT-Praxis und dem ersten Schritt zur Beobachtbarkeit.
Um der zunehmenden Datenmenge gerecht zu werden, die im Server und im Netzwerk zirkuliert, haben IT-Ingenieure Monitoring-Tools entwickelt, die die Erkennung automatisieren. Mit dem Aufkommen von Open-Source-Monitoring-Tools verlagert sich das grundlegende Netzwerk- und Desktop-Monitoring vom lokalen zum webbasierten Monitoring. Jetzt geht es bei Telemetriesignalen um mehr als nur um die Überwachung des Betriebs und des lokalen Datenverkehrs – es handelt sich um notwendige Geschäftsmetriken, und so sollten Sie heute auch über Metriken, Logs und Traces denken. Können die Kunden ohne Probleme online einkaufen? Wie schnell ist die Verbindung? Gab es irgendwelche Datenschutzverletzungen? Die Antworten auf diese Fragen stehen in direktem Zusammenhang mit der Rentabilität durch Kundenerfahrung und -zufriedenheit.
Und da Websites mittlerweile Kundendaten erhalten, ist das Sicherheits-Monitoring ein immer wichtigerer Bestandteil jeder Monitoring-Lösung.
Phase 2: Anwendungsmonitoring und Beobachtbarkeit
Auf der Suche nach einer besseren Skalierbarkeit wechseln Entwickler von monolithischen Anwendungen zu serviceorientierten Architekturen und weiter zu Microservices und Serverless.
Die Umstellung von eng gekoppelten Komponenten auf modulare Komponenten bei gleichzeitiger Verbesserung der Anwendungsflexibilität, sodass die Entwickler schnell skalieren können, bedeutet eine erhebliche Zunahme der für das Monitoring erforderlichen Beobachtungssignale. Die Notwendigkeit, nicht nur die Infrastruktur, sondern auch die Anwendung selbst zu überwachen, erweitert die Liste der für ein effektives Monitoring erforderlichen Telemetriesignale um Reaktionszeiten, Durchsatz und Fehlerraten. Das Monitoring der Anwendungsleistung (meist: APM) hat sich als neue, notwendige Praxis und als eine Reihe von Tools herauskristallisiert, die für die Beobachtbarkeit entscheidend sein werden.
Phase 3: Monitoring in der Cloud und Beobachtbarkeit
Der Übergang zu Cloud-nativen Technologien erhöht die Komplexität der Monitoringpraktiken auf die gleiche Weise wie die Weiterentwicklung der Anwendungsentwicklungsparadigmen: Das Volumen und die Vielfalt der Telemetriesignale nehmen ständig zu.
In verteilten Architekturen sind neue Telemetriesignale notwendig, um sicherzustellen, dass Unternehmen die Erwartungen ihrer Kunden an schnelle, nahtlose und sichere Online-Erlebnisse erfüllen. Hier treffen wir auf die großen Drei: Metriken, Logs und Traces. Diese Signale erfassen die zugrunde liegende Aktivität eines Betriebssystems und seiner Anwendungen und ermöglichen es Unternehmen letztendlich, moderne Beobachtbarkeit zu erreichen.
Phase 4: Die Entwicklung von Telemetriesignalen für die Beobachtbarkeit
Microservices, Serverless, Cloud-nativ. In einer datengetriebenen Welt ist es entscheidend, die Daten zu verstehen, die die Daten antreiben. Von der Erreichung von Rentabilitätszielen bis hin zu Produktivitätszielen sind Metriken, Logs und Traces die Glieder in einer Betriebskette – sie enthalten die Daten, die Ihr Unternehmen benötigt, um seine SLAs einzuhalten.
Während Metriken, Logs, Traces und jetzt auch Profile eine wichtige Rolle im Monitoring spielen, ist die manuelle Überprüfung dieser Daten zur Fehlersuche, wenn nicht unmöglich, so doch ineffektiv. Und obwohl die Automatisierung eine gewisse Erleichterung darstellt, erzeugt sie doch eine erhebliche Menge an Alarmgeräuschen. Die Vielfalt der Datentypen und -quellen erschwert zudem die Verwaltung des Informationsflusses und die Korrelation der Daten für verwertbare Einblicke.
Wir sind also wieder bei den Daten (auch wenn wir das Thema nie wirklich hinter uns gelassen haben), die die Geschichte erzählen. Da sich die Teams in einem ständigen Aufholprozess befinden, muss das Monitoring weiterentwickelt werden, um den Anforderungen eines außergewöhnlichen Datenflusses und dem Bedarf an Informationen, die untrennbar mit der Unternehmensleistung verbunden sind, gerecht zu werden. Die Lösung? Eine einheitliche Telemetrie-Datenplattform.
Moderne Beobachtbarkeit
Moderne Beobachtbarkeit ist die Praxis, das Gesamtverhalten eines verteilten Systems zu beobachten, um seinen internen Zustand zu verstehen. Eine effektive, moderne Beobachtbarkeitslösung vereint Metriken, Logs und Traces auf einer einheitlichen Telemetrieplattform und ermöglicht es IT-Experten, einen ganzheitlichen Überblick über ihre technische Umgebung zu erhalten und umsetzbare Einblicke zu gewinnen, die sich auf die Systemstabilität und Produktivität auswirken.
Aufgrund ihrer daten- und informationsintensiven Funktionen erfordert eine einheitliche Telemetriedaten-Platform die Speicherung möglichst vieler Daten, um bei Bedarf oder Wunsch Einblicke und Analysen zu gewinnen. Daher fördert eine effektive, moderne Beobachtbarkeitslösung sowohl proaktive als auch reaktive Untersuchungen. Durch die Korrelation von Daten – Metriken, Logs, Traces und Profiling – können Teams bekannte Erkenntnisse ansprechen und unbekannte Unbekannte aufdecken. Mit anderen Worten, eine erfolgreiche moderne Lösung zur Beobachtbarkeit versetzt Teams in die Lage, die Frage nach dem „Warum“ schnell zu beantworten.
Wie erreichen Sie also moderne Beobachtbarkeit? Erwägen Sie offene Standards und OpenTelemetry, um Daten zu organisieren und zu analysieren. OpenTelemetry unterstützt SREs bei der Generierung von Daten zur Beobachtbarkeit in konsistenten (Open-Standards)-Datenformaten zur einfacheren Analyse und Speicherung und minimiert gleichzeitig die Inkompatibilität zwischen den Datentypen der Anbieter. Die meisten Branchenanalysten glauben, dass OpenTelemetry in den nächsten fünf Jahren zum De-facto-Standard für Beobachtbarkeitsdaten werden wird. Eine einheitliche Datenerfassung mit konsistenten Datenstandards für alle Ihre Telemetriesignale bedeutet, dass Sie Ihre Beobachtbarkeit zukunftssicher machen. Im weiteren Sinne müssen Sie außerdem:
eine Basislinie erstellen: Stellen Sie die Konsistenz Ihrer Formate und Ihrer Daten für all Ihre Telemetriedaten her.
Daten filtern: Abstrahieren Sie Anbieterinkonsistenzen für Endnutzer.
Ihre Tools konsolidieren: Stellen Sie sicher, dass Sie über eine übergreifende Beobachtbarkeitstrategie verfügen.
Telemetriedaten gibt es in vielen Formen – Cloud-native Apps erzeugen eine Vielzahl davon, während eine serverlose Umgebung oder virtuelle Maschine eine andere Art erzeugt. Darüber hinaus werden diese Daten mit hoher Geschwindigkeit produziert. Um Beobachtbarkeit zu erreichen, müssen Daten vereinheitlicht werden. Das gewährleistet relevante, genaue und schnelle Einblicke.
Die Zukunft der Telemetriesignale liegt in der Vorhersagbarkeit
Es ist vorhersehbar: In dem Maße, wie sich die technische Landschaft weiterentwickelt, werden auch die Telemetriesignale, die erforderlich sind, um sicherzustellen, dass die Systeme optimal funktionieren und die Ressourcen effizient eingesetzt werden, zunehmen. Heute werden Telemetriesignale in hochentwickelte Systeme eingespeist, die AI/ML für prädiktive Einblicke und automatisierte Reaktionen nutzen. Dieser Trend wird bleiben.
Ausufernde, verteilte Umgebungen bedeuten, dass das Monitoring schwierig – sprich: ineffektiv – geworden ist. Daher muss die Reichweite des Monitoring auf den Bereich der Beobachtbarkeit ausgeweitet werden. Um Beobachtbarkeit zu erreichen, konsolidieren Unternehmen Monitoring-Tools auf einer einheitlichen Plattform, um die Belastung zu verringern und einen ganzheitlichen Überblick über die Systemleistung zu erhalten. Grundlegende Leistungsmetriken bleiben für die Fehlersuche und Optimierung unerlässlich, während ein iterativer Ansatz dazu beiträgt, die Ausfallsicherheit von Anwendungen zu verbessern. Und durch die Zusammenführung isolierter Daten können Unternehmen vom reaktiven zum proaktiven Monitoring übergehen und sich dabei sowohl auf Echtzeit- als auch auf historische Daten stützen.
Mit dem Aufstieg der GenAI stehen Unternehmen mehr denn je unter dem Druck, ihre Systeme zu sichern. Die Integration von Sicherheitssignalen in Beobachtbarkeitsframeworks wird daher immer wichtiger, wobei der Schwerpunkt auf der Echtzeit-Erkennung von Bedrohungen und der Reaktion darauf liegt. Und mit der Weiterentwicklung der GenAI-Technologien werden wir wahrscheinlich selbstheilende Systeme sehen, die durch fortschrittliche automatische Abhilfemaßnahmen gesteuert werden.
Doch bevor die nächsten Stufen erschlossen werden können, müssen Unternehmen die Grundlage schaffen, indem sie eine solide Datenbasis mit offenen Standards aufbauen – schließlich ist die einzige Konstante der Wandel. Wer will sich schon an einen Anbieter binden?
Die Entscheidung über die Veröffentlichung der in diesem Blogeintrag beschriebenen Leistungsmerkmale und Features sowie deren Zeitpunkt liegt allein bei Elastic. Es ist möglich, dass noch nicht verfügbare Leistungsmerkmale oder Features nicht rechtzeitig oder überhaupt nicht veröffentlicht werden.