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 Instrumentierung, 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.

Was sind Telemetriedaten?

Telemetriedaten sind Daten, die von Remote-Geräten oder Geräten außer Reichweite erfasst und für Monitoring, Analyse und Reporting an einen zentralen Ort übertragen werden. Diese Daten stammen in der Regel aus den unterschiedlichsten Quellen, z. B. Sensoren, Software-Anwendungen oder anderen Monitoring-Geräten, und dienen der Überwachung von Performance, Verhaltens- und Nutzungsmustern verschiedener Systeme und Anwendungen.

Telemetriedaten sind aus mehreren Gründen immens wichtig:

  1. Performance-Monitoring: Telemetriedaten liefern Live-Einblicke in die Ressourcenauslastung, Reaktionszeiten und weitere Performance-Metriken und erleichtern damit eine proaktive Wartung und Optimierung.
  2. Fehlererkennung und Troubleshooting: Die Analyse von Telemetriedaten erleichtert Teams die Erkennung von Fehlern, Problemen und Anomalien in Systemen und Anwendungen. 
  3. Kapazitätsplanung: IT-Administratoren können sich besser zu aktuellen Nutzungsmustern und Trends informieren und daher fundiertere Entscheidungen hinsichtlich Ressourcenzuweisung und Infrastruktur-Upgrades treffen.
  4. Security-Monitoring: Mithilfe der Telemetriedaten lassen sich Schwachstellen, Sicherheitsverletzungen und unbefugte Zugriffsversuche erkennen und beheben.
  5. Verbesserung der User Experience: Telemetriedaten liefern Informationen zu Benutzerverhalten und -vorlieben. Anhand dieser wertvollen Einblicke können Entwickler:innen und Produktteams das Benutzererlebnis verbessern und ihre Produkte auf Basis echter Benutzerdaten optimieren.

Compliance und Reporting: Um gesetzliche Vorgaben und Branchenstandards zu erfüllen, müssen Unternehmen bestimmte Daten erfassen und aufbewahren. Telemetriesysteme können diese Datenerfassung und das Reporting automatisieren, sodass relevante Regularien jederzeit eingehalten werden.

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:

Die Vorteile von OpenTelemetry

  1. Einheitliche Observability: OpenTelemetry bietet einheitliche APIs und Instrumentierungsbibliotheken für mehrere Programmiersprachen und sorgt so für gleichbleibendes Vorgehen bei der Observability. 
  2. Distributed Tracing: OpenTelemetry ermöglicht Distributed Tracing, sodass Entwickler:innen Anfragen auf ihrem Weg durch verschiedene Dienste und Komponenten einer verteilten Anwendung nachverfolgen können. 
  3. Erfassung von Metriken: OpenTelemetry unterstützt die Erfassung unterschiedlicher Metriken wie Anfragenanzahl, Fehlerquoten und Ressourcennutzung.
  4. Kontextpropagierung: OpenTelemetry unterstützt Kontextpropagierung und stellt damit sicher, dass Kontextinformationen wie Trace- und Span-IDs zwischen den verschiedenen Diensten und Komponenten weitergeleitet werden. 
  5. Plug-in-Sammlung: OpenTelemetry umfasst zahlreiche Plug-ins und Integrationen, mit denen Benutzer:innen Telemetriedaten in verschiedene Backends und Observability-Plattformen exportieren können. 
  6. Anbieteragnostisch: Als Open-Source-Projekt ist OpenTelemetry anbieteragnostisch, also nicht an bestimmte Anbieter oder Technologien gebunden. 
  7. Innovation in der Community: Die kollaborative Community fördert Innovation und damit eine kontinuierliche Optimierung des Frameworks und seiner Toolsets.
  8. Standardisierung: Unternehmen, die sich für OpenTelemetry entscheiden, setzen weithin anerkannte Verfahren und Standards zur Erfassung von Telemetriedaten ein. Dadurch sind Konsistenz und Kompatibilität aller Anwendungen und Services stets gewährleistet.

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-Backends. 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.