Verloren im Labyrinth der IT-Begriffe? Hier finden Sie Definitionen und Basiswissen zu Rechenzentrums-IT und -Infrastruktur.

Offene Messlandschaft zur Leistungsüberwachung von Cloud-Anwendungen Was ist OpenTelemetry?

Von M.A. Jürgen Höfling

Anbieter zum Thema

Mit dem quelloffenen OpenTelemetry-Projekt wird die Erfassung und Verarbeitung von Messdaten, die die Qualität und Performance des Codes in Cloud-Anwendungen abbilden, herstellerneutral organisiert.

Das OpenTelemetry-Projekt sorgt für ein herstellerneutrales Auge bei der Qualitätsüberwachung von Cloud-Anwendungen(Bild:  gemeinfrei: Gordon Johnson /  Pixabay)
Das OpenTelemetry-Projekt sorgt für ein herstellerneutrales Auge bei der Qualitätsüberwachung von Cloud-Anwendungen
(Bild: gemeinfrei: Gordon Johnson / Pixabay)

Originäre (native!) Cloud-Anwendungen sind komplexe Gebilde, die teilweise über mehrere Cloud-Betreiber gehen und unter Umständen eine Vielzahl von Rechenzentren. Gleichzeitig werden durch die mittlerweile übliche enge Verzahnung von Software-Entwicklung und Betrieb (DevOps) die Prozesse schneller und effizienter, erfordern aber auch eine engmaschige Qualitätsüberwachung. Sonst besteht die Gefahr, dass die Infrastruktur- und Betriebsmanagement-Ebene den Überblick verliert über all die Container, Microservices und Orchestrierungs-Tools.

Herstellerneutrale Instrumentierung

Cloud-Anwendungen benötigen überall Messpunkte, die die Performance der (verteilten) Anwendungen nachvollziehen und protokollieren, aggregieren und mit vorgegebenen Metriken vergleichen. Angesichts der Vielfalt der Anwendungslandschaft sind proprietäre Monitoring-Anwendungen wenig flexibel, indem sie nur mit herstellereigenen Agenten und Formaten funktionieren und auch bei kleinsten Architektur-Änderungen zeitaufwendige Anpassungen erfordern.

Das von der Cloud Native Computing Foundation (CNCF) betreute quelloffene Projekt OpenTelemetry, entstanden aus den Telemetrieprojekten „Open Census“ und „OpenTracing“, ist ein Framework, mit dem eine herstellerneutrale Instrumentierung der jeweiligen Anwendungen ermöglicht wird.

Mit „Instrumentierung“ ist gemeint, dass eine Anwendung Telemetriedaten erfassen kann, während man unter dem Begriff Telemetrie selbst die Beobachtung der in einer Anwendung gesammelten Daten versteht. Letztere beziehen sich auf die (verteilte) Nachverfolgung der Abläufe, vordefinierte Metriken und Protokolldaten (in erster Linie von auffälligen Ereignissen).

Die Telemetriedaten werden an teilnehmende Backend-Tools oder unterstützte OpenTelemetry-Kollektoren gesendet, so dass IT-Teams das System- und Anwendungsverhalten beobachten und etwaige Leistungsprobleme beheben können.

Native OpenTelemetry-Integration

Die Software Development Kits (SDKs) von OpenTelemetry verpacken und implementieren APIs für jede Sprache und enthalten fertige Vorlagen und Funktionen für viele gängige Bibliotheken und Frameworks, sodass auch Nicht-Entwickler Messpunkte setzen können, ohne Code schreiben zu müssen. Die OpenTelemetry-Instrumentierung für Java beispielsweise ist so ausgelegt, dass Telemetriedaten aus einer Reihe beliebter Bibliotheken und Frameworks vollständig ohne das Hinzufügen von Code erfasst werden.

Die im Rahmen des OpenTelemetry-Projekts entwickelten Formate und Tools sollten bei der Anschaffung so genannter Application Performance Management (APM)-Werkzeuge immer im Blick bleiben. Während einige APM-Tools OpenTelemetry-Daten automatisch integrieren können, müssen andere die jeweilige Anwendung, deren Leistung überwacht werden soll, manuell mit Messpunkten versehen, um Metriken, Protokolle und Nachverfolgungen zu sammeln.

Zur Erklärung: Bei der automatischen Instrumentierung wird der Code zur Lauf- beziehungsweise Kompilierungszeit so verändert, dass den Bibliotheken und Frameworks, die von ihm abhängig sind, Tracing- und Metrik-Instrumentierung hinzugefügt wird. Die Telemetriedaten können in einer Vielzahl von Formaten exportiert werden. Angesichts wachsender „nativer“ Cloud-Anwendungen ist es sicher ratsam, Anbietern den Vorzug zu geben, die die native OpenTelemetry-Integration schon jetzt unterstützen.

Technisch geschieht das Datensammeln bei OpenTelemetry durch einen Proxy, der als Agent oder im Standalone-Modus eingesetzt werden kann. Der Proxy kann Programmabläufe und Metriken aus anderen Quellen (proprietären oder kommerziellen Tools) in verschiedenen Formaten, zum Beispiel: „Prometheus“-Metriken, empfangen und die OpenTelemetry-Daten auch in andere Formate exportieren, etwa zu „Jaeger“-Traces.

Unterstützung für containerisierte Anwendungen

OpenTelemetry macht die Verwendung herstellerspezifischer Bibliotheken für die Instrumentierung des jeweils in den Anwendungen benutzten Codes überflüssig und erleichtert die Migration zu anderen Softwareprodukten. Mit OpenTelemetry werden die Messpunkte und Metriken einmal gesetzt und damit ist gut.

Die Messdaten können dann von allen Anbietern und Systemen verarbeitet werden, die ebenfalls das OpenTelemetry-Format nutzen. Auch der Wechsel zwischen den Anbietern wird dadurch vereinfacht.

OpenTelemetry wird über einen Agenten auf dem Host-Rechner oder als Gateway in einem Cluster-Rechenzentrum implementiert. Und natürlich ist OpenTelemetry unter den Fittichen der Cloud Native Computing Foundation ganz besonders auch für das Monitoring von containerisierten Anwendungen und entsprechende Orchestrierungs-Tools wie Kubernetes geeignet.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu RZ- und Server-Technik

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

OpenTelemetry verhindert, dass Unternehmen beim Application Performance Management von Cloud-Anwendungen die Gefangenen eines Herstellers werden. Die großen Cloud-Betreiber wie Amazon, Google oder Microsoft haben das begriffen und arbeiten am OpenTelemetry-Projekt, das derzeit noch in der Betaphase ist, mehr oder weniger engagiert mit.

(ID:48556804)