L'OpenTelemetry est un cadre d'observabilité open source qui fournit un moyen cohérent de collecter, de traiter et d'exporter des données de télémétrie à partir de vos applications et infrastructure. L'OpenTelemetry fournit un seul moyen neutre pour les fournisseurs pour instrumenter vos applications et votre infrastructure afin que vous puissiez obtenir un aperçu de leurs performances, de leurs comportements et de leur utilisation.
Les données de télémétrie comprennent des métriques, des traces et des journaux. OpenteLelemet fournit des API et des bibliothèques pour générer et collecter de manière cohérente ces données. Les données collectées peuvent ensuite être exportées vers divers systèmes backend, tels que les outils de surveillance et d'analyse des journaux, pour une analyse et une visualisation plus approfondies.
L'OpenTelemetry est conçue pour être extensible, vous permettant de l'utiliser pour instrument un large éventail de technologies, y compris les applications natives dans le cloud, les microservices et les applications monolithiques traditionnelles. Il prend également en charge divers langages de programmation, y compris Go, Java, .Net, nœud.JS, Python et Ruby.
Ce tutoriel vous apprendra à installer et à surveiller vos pipelines Jenkins à l'aide du plugin OpenTelemetry.
Configuration du cluster
N'hésitez pas à utiliser votre configuration Jenkins. Pour ce tutoriel, cependant, nous avons:
Installation du plugin OpenTelemetry
La première étape consiste à installer et à configurer le plugin OpenTelemetry sur le contrôleur Jenkins.
Commencez par vous connecter à votre contrôleur et naviguer vers le tableau de bord Jenkins.
Ensuite, naviguez pour gérer Jenkins -> Gérer les plugins -> Plugins disponibles et rechercher «OpenTelemetry."
Une fois installé, redémarrez Jenkins pour appliquer les modifications pour le plugin OpenTelemetry.
Configuration de l'échantillon de projet
Pour ce projet, nous utiliserons l'OpenTelemetry et Jaegar comme backend. Le lien vers l'exemple de projet est illustré ci-dessous:
https: // github.com / ouvert-télémétrie / opentélémétrie-collector-contrib / arbre / main / exemples / démo
Clone le référentiel:
git clone https: // github.com / ouvert-télémétrie / openlélémétrie-collector-contrib.git
Naviguez dans le répertoire des exemples / démon:
$ CD OpenTelemetry-Collector-Contrib / Exemples / Demo
Exécutez les applications client et serveur à l'aide de la commande docker-compose comme:
$ docker-compose up -d
Une fois que les conteneurs sont opérationnels, nous pouvons configurer le plugin OpenTelemetry sur le contrôleur Jenkins.
Configurer le plugin OpenTelemetry
Ouvrez le tableau de bord Jenkins et naviguez pour gérer Jenkins -> Configurer le système.
Faites défiler vers le bas jusqu'à ce que vous arriviez à la section OpenTelemetry.
Retournez à votre terminal et exécutez la commande:
$ docker-compose ps
La commande doit répertorier tous les conteneurs en cours d'exécution et les détails des applications disponibles.
Dans notre cas, nous sommes intéressés par l'application exécutée sur le port 4317 et auquel il est mappé à l'extérieur.
Dans notre cas, nous pouvons voir que le port 4317 sur le conteneur est mappé au port 4317 sur le système hôte.
Ensuite, revenez au tableau de bord Jenkins et définissez le point de terminaison OTLP comme http: // localhost: 4317
Remplacez le port 4317 par le numéro de port que vous avez récupéré dans la commande précédente.
Dans la section d'authentification, sélectionnez «Aucune authentification."
Dans la section de visualisation, sélectionnez «Ajouter un backend d'observabilité de visualisation» et choisissez «Jaeger.
Entrez l'URL de base Jaeger du conteneur Docker comme:
http: //: jaeger_ip>
Dans notre exemple, le port Jeaver 16686 est mappé au port 16686 sur le système hôte. Par conséquent, l'adresse Jaeger sera:
http: // localhost: 16686
Configuration d'un travail de Jenkins
L'étape suivante consiste à configurer un exemple de travail Jenkins. Sur le tableau de bord Jenkins, sélectionnez «nouvel élément."Donnez au travail un nouveau nom et sélectionnez le type de travail comme pipeline.
Dans la section du pipeline, ajoutez un script de pipeline comme prévu ci-dessous:
pipeline
agent
outils
maven "maven"
étapes
étape ('build')
pas
git "https: // github.com / jenkins-docs / simple-java-maven-app.git "
sh 'mvn -b -dskiptests package propre'
étape ('test')
pas
SH 'TEST MVN'
poste
toujours
JUnit 'Target / SureFire-Reports / *.xml '
étape ('livrer')
pas
sh './ jenkins / scripts / livrer.sh '
Le pipeline ci-dessus vous oblige à faire configurer Maven sur votre contrôleur Jenkins. Vérifiez notre tutoriel sur la configuration de Maven sur Jenkins pour en savoir plus.
Enfin, cliquez sur Enregistrer pour enregistrer le script du pipeline et cliquez sur «Build Now» pour démarrer le processus de construction.
Pour afficher le processus de construction dans Jaeger, cliquez sur «Afficher le pipeline avec Jaeger».
Cela devrait ouvrir l'interface utilisateur de Jaeger avec les détails de la construction du pipeline.
Conclusion
Ce tutoriel a couvert l'installation et l'utilisation du plugin d'openTelemetry Jenkins et visualiser les builds de pipeline à l'aide de Jeaver.