Qu'est-ce qu'OpenTelemetry ?
OpenTelemetry, c’est :
- Un framework d’observabilité et des outils conçus pour créer et gérer des données de télémétrie telles que des traces, des metriques, et des logs
- Indépendant d’un fournisseur et d’un outil, ce qui signifie qu’il peut être utilisé avec une grande variété de backends d’observabilité, y compris des outils open source tels que Jaeger et Prometheus, ainsi que des outils commerciaux
- Pas un backend d’observabilité tel que Jaeger, Prometheus ou d’autres outils commerciaux
- Axé sur la génération, la collecte, la gestion et l’export de données de télémétrie. L’un des objectifs principaux d’OpenTelemetry est de pouvoir aisément instrumenter vos applications ou systèmes, quelque soit leur langage, infrastructure, ou environnement d’exécution. Le stockage et la visualisation des données sont intentionnellement laissés à d’autres outils
Qu’est-ce que l’observabilité ?
L’observabilité est la capacité de comprendre l’état interne d’un système en examinant ses données sortantes. Dans un contexte logiciel, cela signifie être capable de comprendre l’état interne d’un système en examinant ses données de télémétrie, qui incluent les traces, métriques et logs.
Pour rendre un système observable, il doit être instrumenté. Cela signifie que le code doit émettre des traces, des métriques, et/ou des logs. Les données produites doivent être transmises à un backend d’observabilité.
Pourquoi OpenTelemetry ?
Avec l’essor du cloud computing, des architectures en microservices, et des exigences commerciales de plus en plus complexes, le besoin d’observabilité des logiciels et de l’infrastructure est plus grand que jamais.
OpenTelemetry répond au besoin d’observabilité tout en suivant deux principes clés :
- Vous êtes propriétaire des données que vous générez. Il n’y a pas de dépendance vis-à-vis d’un fournisseur
- Vous n’avez besoin d’apprendre qu’un seul ensemble d’APIs et de conventions
Ces deux principes combinés offrent aux équipes et aux organisations la flexibilité dont elles ont besoin dans le monde informatique moderne d’aujourd’hui.
Si vous souhaitez en savoir plus, jetez un oeil à la mission, la vision et les valeurs d’OpenTelemetry.
Composants principaux d’OpenTelemetry
OpenTelemetry se compose des principaux composants suivants :
- Une spécification pour tous les composants
- Un protocole standardisé définissant le format des données de télémétrie
- Des conventions sémantiques définissant une nomenclature standardisée pour décrire les données de télémétrie
- Des APIs décrivant comment générer des données de télémétrie
- Des SDKs par langage qui implémentent les spécifications, les APIs et l’export des données de télémétrie
- Un écosystème de bibliothèques qui instrumentent des bibliothèques et frameworks
- Des composants d’instrumentation automatique qui génèrent des données de télémétrie sans requérir de modifications de code
- Le Collector OpenTelemetry, un proxy qui reçoit, modifie et exporte les données de télémétrie
- Divers autres outils, tels que l’Opérateur Kubernetes pour OpenTelemetry, les Helm Charts pour OpenTelemetry et des ressources communautaires pour les FaaS
OpenTelemetry est utilisé par une grande variété de bibliothèques, services et applications qui intègrent OpenTelemetry afin de fournir de l’observabilité par défaut.
OpenTelemetry est pris en charge par de nombreux fournisseurs, dont beaucoup fournissent un support commercial à OpenTelemetry et contribuent au projet directement.
Extensibilité
OpenTelemetry est conçu pour être extensible. Quelques exemples de la façon dont il peut être étendu incluent :
- Ajouter un receveur au Collecteur OpenTelemetry afin de prendre en charge les données de télémétrie venant d’une source de données personnalisée
- Charger des bibliothèques d’instrumentation personnalisées dans un SDK
- Créer une distribution d’un SDK, ou du collecteur adapté à une utilisation spécifique
- Créer un nouvel exportateur pour un backend personnalisé qui ne prend pas encore en charge le protocole OpenTelemetry (OTLP)
- Créer un propagateur personnalisé pour un format de propagation de contexte non standard
Bien que la plupart des utilisateurs n’aient pas besoin d’étendre OpenTelemetry, le projet est conçu pour rendre cela possible presque à tous les niveaux.
Histoire
OpenTelemetry est un projet de la Cloud Native Computing Foundation (CNCF) qui trouve son origine dans la fusion de deux projets antérieurs, OpenTracing et OpenCensus. Ces deux projets ont été créés pour résoudre le même problème : l’absence d’une norme décrivant la manière d’instrumenter du code et de transmettre des données de télémétrie à un backend d’observabilité. Aucun des projets n’étant en mesure de résoudre ce problème de manière indépendante, ils ont fusionné pour former OpenTelemetry et combiner leurs forces tout en offrant une solution unique.
Si vous utilisez actuellement OpenTracing ou OpenCensus, vous pouvez découvrir comment migrer vers OpenTelemetry dans le guide de migration.
Et ensuite ?
- Pour commencer — Lancez-vous directement !
- Découvrez les concepts d’OpenTelemetry
Feedback
Cette page est-elle utile?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!