Jetzt mit OpenTelemetry starten
Aussichtsfernglas mit Blick auf eine Stadt
Beginnen Sie gleich mit dem OpenTelemetry-Datenversand!
Kostenlos für New Relic registrieren Kostenlos für New Relic registrieren

Was ist OpenTelemetry? 

OpenTelemetry ist ein Open-Source-Projekt – ein offener Standard für die Instrumentierung von Services und eine Methode zur Performance-Messung. OpenTelemetry umfasst eine zentrale API (Application Programming Interface), Bibliotheken, Integrationen und ein SDK (Software Development Kit) für verschiedene Programmiersprachen wie Java, Go und Python. Durch Verwendung der standardisierten API können DevOps-Teams einfach zwischen SDKs wechseln, ohne sich Gedanken über Code-Änderungen machen zu müssen. Das spart nicht nur Zeit und Aufwand, sondern sorgt außerdem für eine effizientere Performance-Optimierung und Fehlerbehebung.

OpenTelemetry wird von der Cloud Native Computing Foundation (CNCF) betreut und entstand aus der Zusammenführung von OpenTracing und OpenCensus. Ziel ist die Standardisierung der Erfassung und des Versands von Telemetriedaten an eine Backend-Plattform. Dazu wird ein zentraler Collector Service definiert, mit dem Sie Telemetriedaten aus Ihren Anwendungen und Services erfassen können, sowie ein Exporter zum Versand dieser Daten an die Observability-Plattform Ihrer Wahl.

OpenTelemetry deckt alle drei Aspekte der Monitoring-Software ab: Implementierung der Aufzeichnungsinstrumentierung, Datenerfassung sowie Export dieser Daten zu Analysezwecken. Zudem ist es anbieterneutral, d. h. Dev-Teams, die sich nicht an bestimmte Anbieter binden möchten, müssen ihre Monitoring-Lösungen nicht mehr selbst erstellen. Mit OpenTelemetry sind Sie nicht an die Instrumentierungsbibliotheken des Lösungsanbieters gefesselt.

Wofür OpenTelemetry sich am besten eignet

OpenTelemetry hat sich besonders in diesen drei Anwendungsfällen bewährt:

  • Ihre Daten sind über mehrere Plattformen verteilt
  • Sie benötigen eine anbieterneutrale Option
  • Sie möchten die Arbeitsstunden des Teams optimal nutzen

In diesem Blog-Post erfahren Sie, was OpenTelemetry eigentlich ist und warum dieser offene Standard als die Zukunft der Instrumentierung angesehen wird.  Sehen wir uns als Erstes ein kurzes Video an:

Benefits of OpenTelemetry

  1. Unified observability: OpenTelemetry provides a unified approach to observability by offering consistent APIs and instrumentation libraries for multiple programming languages. 
  2. Distributed tracing: OpenTelemetry enables distributed tracing, allowing developers to track requests as they traverse through different services and components of a distributed application. 
  3. Metrics collection: OpenTelemetry supports the collection of various metrics, such as request rates, error rates, and resource usage metrics.
  4. Context propagation: OpenTelemetry supports context propagation, ensuring that contextual information, such as trace and span IDs, is passed between different services and components. 
  5. Plugin ecosystem: OpenTelemetry has a rich ecosystem of plugins and integrations that allow users to export telemetry data to various backends and observability platforms. 
  6. Vendor-neutral: Being an open-source project, OpenTelemetry is vendor-neutral, meaning it is not tied to any specific vendor or technology stack. 
  7. Community-driven innovation: This collaborative environment encourages innovation, leading to the continuous improvement of the framework and its capabilities.
  8. Standardization: By adopting OpenTelemetry, organizations can adhere to a widely accepted set of practices and standards for collecting telemetry data, ensuring consistency and compatibility across their applications and services.

OpenTelemetry: die Zukunft der Instrumentierung

Im Video wird es erwähnt – OpenTelemetry revolutioniert die Instrumentierung aus vier Gründen:

  1. Sie können auf unzählige Instrumentierungen zugreifen, denn OpenTelemetry wird von einer großen Open-Source-Community entwickelt und gepflegt. Im vergangenen Jahr waren mehr als 300 Unternehmen mit über 100.000 Beiträgen am OpenTelemetry-Projekt beteiligt. In der OpenTelemetry-Community waren in dem Zeitraum mehr als 2.000 Personen aktiv. OpenTelemetry ist ein offener Standard und lädt zur aktiven Zusammenarbeit ein – je mehr Engineers sich weltweit engagieren, desto besser werden die Instrumentierungen hinsichtlich Datenabdeckung, Verbreitung und Flexibilität.  
  2. Die standardisierte Instrumentierung sorgt dafür, dass unterschiedliche Tools und Services miteinander kompatibel sind, sodass Sie Ihr gesamtes System überblicken können. Denn OpenTelemetry ist interoperabel, d. h. es kann zur Instrumentierung und zum Informationsaustausch verschiedenster Systeme verwendet werden. Ohne Standardisierung über alle Services Ihrer Anwendung hinweg gäbe es Bereiche, die entweder nicht sichtbar oder vom Rest abgeschottet wären. Das würde das Troubleshooting behindern und eine schnelle Problemerkennung und -behebung erschweren. OpenTelemetry schließt bisherige Transparenzlücken.
  3. Sie können Ihre Backend-Tools für die Observability flexibel wechseln. Bei den meisten Monitoring-Lösungen sind die zu installierenden Instrumentierungs-Agents für die Erfassung der Telemetriedaten vorgegeben. Wenn Sie dennoch auf ein anderes Tool wechseln möchten, verbringen Sie viel Zeit und Geld damit, neue, proprietäre Agents zu installieren oder Ihren Code komplett neu zu instrumentieren. OpenTelemetry befreit Sie vom Anbieterzwang. Sie können Ihr Backend-Observability-Tool problemlos wechseln, ohne dass eine neue Instrumentierung erforderlich ist. Der Quellcode von OpenTelemetry ist vollständig einsehbar. So sind Sie auch stets über die Feature-Entwicklung und Fehlerbehebung in der Community im Bilde.
  4. Das Monitoring neuer Technologien ist ohne Probleme möglich.  Bei der Entwicklung neuer Technologien wird die OpenTelemetry-Instrumentierung zum festen Bestandteil der Bibliotheken und Frameworks, die Ihre Anwendungen bereits nutzen. So müssen Sie nicht darauf warten, dass die einzelnen Monitoringtools auch die neueste Technologie unterstützen.

Zwei wichtige Gründe für die Entwicklung der Observability waren zum einen die Notwendigkeit, orchestrierte Systeme wie Kubernetes verständlicher zu gestalten, und zum anderen, das Application Performance Monitoring (APM) transparenter zu machen. Observability soll umfassenden Kontext und hoch detaillierte Einblicke in die System-Performance liefern. 

OpenTelemetry ist auch für Ihre Observability ein Muss

Das Konzept der Observability entstand aus mehreren Gründen. Zum einen hatte man erkannt, dass orchestrierte Systeme wie Kubernetes verständlicher gestaltet werden mussten, und zum anderen sollte das Application Performance Monitoring (APM) transparenter werden. Observability soll umfassenden Kontext und hoch detaillierte Einblicke in die System-Performance liefern. 

Effektive Observability setzt Folgendes voraus: 

  • Ihre Systeme und Anwendungen müssen in der Lage sein, relevante Daten wie Metriken, Traces und Logs zu sammeln 
  • Diese Informationen müssen sich problemlos oder sogar automatisch in eine Plattform exportieren lassen, die nicht zu dem Programm gehört, das Sie analysieren möchten 
  • Das Analyseergebnis muss Visualisierungen und Einblicke in das Gesamtsystem liefern – unter anderem auch dazu, wie sich Änderungen während der Anwendungsentwicklung auf das Endbenutzererlebnis auswirken

Observability bietet Entwickler:innen und anderen Stakeholdern ein ganzheitliches Monitoring der Funktionsfähigkeit von Systemen und Plattformen. Aber ohne Unterstützung ist es schwierig, Observability zu messen und zu analysieren. Tools wie OpenTelemetry schaffen Abhilfe: Sie straffen das Performance-Monitoring über mehrere Anbieter und Programmiersprachen hinweg und erleichtern Entwickler:innen die Überwachung der Observability-Metriken sowie das Reporting. Entwickler:innen, die OpenTelemetry ins Auge fassen, sollten sich folgende Fragen stellen: 

  • Welche Programmiersprache, Plattform und Frameworks verwenden wir?  
  • Welche Datentypen möchten wir analysieren? 
  • An welche Analysetools werden wir unsere Daten senden? 

OpenTelemetry funktioniert am besten in Kombination mit Observability. Wenn aussagekräftige Daten und resultierende Informationen von verschiedenen Komponenten des OpenTelemetry Collector (Empfänger, Prozessoren und Exporter) in einem Format erfasst, kompiliert und verteilt werden, das sich zur umfassenden Analyse für Performance-Steigerung und Fehlerbehebung eignet, können Entwickler:innen alle Vorteile von Observability und Monitoring in einem Tool nutzen.

New Relic und OpenTelemetry

New Relic leistet seit der Gründung von OpenTelemetry wichtige Beiträge und ist in führender Kapazität an dessen Weiterentwicklung beteiligt.  2020 haben wir uns öffentlich der Open-Source-Instrumentierung verschrieben. Dazu gehören auch Open-Source-Agents sowie die Standardisierung unseres Observability-Angebots gemäß OpenTelemetry.  Dank nativer Unterstützung für das OpenTelemetry Protocol (OTLP) und kuratierter UX können Sie diesen neuen Instrumentierungsstandard zur Analyse, Fehlerbehebung und Optimierung Ihrer Systeme einsetzen.