Publié le 21 novembre 2025 à 20h04. L’utilisation du langage Go pour développer des plugins pour Fluent Bit offre aux organisations une flexibilité accrue et un contrôle sur leur infrastructure d’observabilité, tout en permettant de protéger leur propriété intellectuelle. Cette approche présente des avantages techniques et organisationnels, mais aussi des défis opérationnels à prendre en compte.
- Le langage Go, privilégié par la communauté Cloud Native Computing Foundation (CNCF), permet de créer des plugins Fluent Bit performants et natifs.
- La création de plugins en Go offre une autonomie accrue aux équipes de développement et permet de répondre à des besoins spécifiques sans dépendre des cycles de publication de projets open source.
- Bien que prometteuse, cette approche nécessite une expertise en Go et une attention particulière aux aspects opérationnels, notamment en matière de maintenance et de support.
Go, développé par Google, s’est imposé comme un langage de choix pour les projets liés au cloud natif, notamment au sein de la CNCF. Sa popularité repose sur sa capacité à offrir des performances comparables à celles des langages compilés comme C et C++ tout en conservant les avantages des langages de haut niveau en termes de gestion de la mémoire et de facilité de développement. Cette combinaison en fait un atout précieux pour la création de solutions cloud évolutives et performantes.
L’intégration étroite entre Go et C/C++, les langages fondamentaux du noyau Linux, est un autre avantage majeur. Cette interopérabilité facilite le développement de plugins Fluent Bit qui interagissent directement avec le système d’exploitation et les composants sous-jacents. Les plugins Go s’intègrent à Fluent Bit via le module Goproxy, qui permet de créer des plugins d’entrée et de sortie. À l’heure actuelle, les fonctionnalités de filtrage ne sont pas encore prises en charge par cette interface.
L’utilisation de Go pour développer des plugins Fluent Bit présente plusieurs avantages organisationnels. Les équipes de développement ne sont pas contraintes par les cycles de publication des projets open source et peuvent adapter les plugins à leurs besoins spécifiques. De plus, le code compilé en binaire natif peut être distribué sans révéler de code source propriétaire, ce qui est particulièrement important pour les entreprises qui souhaitent protéger leur propriété intellectuelle. Cette approche est idéale pour les cas d’utilisation de niche qui reflètent des exigences organisationnelles spécifiques.
Par exemple, un plugin conçu pour gérer les erreurs d’un transcodeur vidéo ne concernera qu’un nombre limité d’organisations. La possibilité de personnaliser ce plugin sans compromettre la confidentialité des algorithmes de transcodage est un avantage significatif. De même, une entreprise peut intégrer ses propres conventions de nommage dans un plugin sans avoir à se soucier de l’adoption par la communauté open source.
Sur le plan technique, Go offre des performances élevées grâce à la compilation en code natif, tout en simplifiant le développement grâce à sa gestion automatique de la mémoire. Le langage fournit également des mécanismes standard pour l’interfaçage avec des applications C, ce qui facilite l’intégration avec les bibliothèques existantes. Fluent Bit propose d’ailleurs une bibliothèque dédiée pour simplifier cette interaction (https://github.com/fluent/fluent-bit-go).
Cependant, le développement de plugins Fluent Bit en Go présente également des inconvénients opérationnels. L’absence de support pour les interfaces de filtrage est une limitation actuelle. Si les équipes de développement ne maîtrisent pas Go, des coûts supplémentaires seront liés à la mise en œuvre et à la maintenance des processus d’intégration continue et de tests de régression. De plus, un plugin open source risque de ne pas bénéficier du même niveau d’attention que les référentiels principaux de Fluent Bit, ce qui implique une charge de maintenance plus importante pour son créateur.
Le déploiement d’un plugin personnalisé peut également s’avérer plus complexe pour les utilisateurs, en particulier ceux qui utilisent des plateformes préconfigurées comme OpenShift (https://www.imaginarycloud.com/blog/openshift-vs-kubernetes-differences). Enfin, le support technique pour les plugins tiers peut être limité, et une maintenance continue est nécessaire pour éviter que le plugin ne soit perçu comme obsolète.
Pour approfondir la question de l’optimisation des pipelines de données avec Fluent Bit, notamment l’utilisation d’expressions de type SQL sur les signaux et la création de plugins personnalisés, vous pouvez télécharger le livre complet “Maîtriser Fluent Bit avec Kubernetes“.
Pour en savoir plus sur Fluent Bit, consultez la documentation officielle : https://docs.chronosphere.io/pipeline-data/plugins/source-plugins/fluent-bit.
À lire aussi
