GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Jenkins Logs - Affichage et personnalisation

Présentation

Jenkins propose une solution d'automatisation CI/CD open source pour les développeurs. L'une des fonctionnalités offertes par Jenkins est la journalisation automatique des performances des builds.

L'examen des journaux Jenkins peut offrir une mine d'informations sur le fonctionnement de votre code. Ceci est particulièrement utile lors de l'identification de problèmes ou de la recherche d'éléments pouvant être mieux optimisés.

Dans ce didacticiel, nous allons vous montrer comment rechercher, afficher et modifier les fichiers journaux Jenkins.

Prérequis

  • Une copie de Jenkins installée et prête à l'emploi.
  • Accès à un navigateur Web.
  • Accès à un éditeur de texte, tel que Nano, Vim ou Bloc-notes.

Où sont stockés les journaux Jenkins ?

L'emplacement de stockage des journaux Jenkins dépend du système d'exploitation sous-jacent.

  • Linux et macOS - Les journaux Jenkins sont stockés avec d'autres fichiers journaux dans /var/log annuaire.
  • Windows - Les fichiers journaux Jenkins sont stockés dans le dossier d'accueil Jenkins, qui est déterminé lors de l'installation.

Il est possible de changer l'emplacement du journal Jenkins en modifiant son fichier de configuration de service. Le nom et l'emplacement de ce fichier dépendent du système d'exploitation sous-jacent :

  • Système basé sur Debian - /etc/default/Jenkins
  • Systèmes basés sur Red Hat - /etc/sysconfig/Jenkins
  • MacOS - org.jenkins-ci.plist
  • Windows - [ACCUEIL JENKINS]/jenkins.xml

Comment afficher les journaux Jenkins ?

Pour afficher un fichier journal Jenkins, ouvrez-le avec un éditeur de texte de votre choix. Vous trouverez ci-dessous les emplacements par défaut des fichiers journaux Jenkins en fonction du système d'exploitation.

Interface utilisateur Jenkins

Par défaut, Jenkins conserve un journal constant de toutes les activités dans le cadre du tableau de bord Jenkins.

1. Pour accéder à ce journal, cliquez sur Gérer Jenkins lien sur le côté droit du tableau de bord.

2. Cliquez sur Journal système bouton dans les informations d'état rubrique.

3. Cliquez sur Tous les journaux Jenkins lien pour accéder au journal par défaut.

Chaque ligne du journal détaille l'heure et la date de l'action, le niveau de journalisation, l'élément de Jenkins effectuant l'action et l'action en cours d'exécution, suivi d'une brève description.

Linux

L'emplacement par défaut des journaux Jenkins sous Linux est /var/log/jenkins/jenkins.log . Pour afficher le fichier journal, ouvrez-le à l'aide d'un éditeur de texte tel que Nano :

sudo nano /var/log/jenkins/jenkins.log

Windows

Sous Windows, les fichiers journaux Jenkins sont stockés sous jenkins.out (journaux de sortie de la console) et jenkins.err (journaux d'erreurs) dans le dossier de départ de Jenkins.

L'emplacement du dossier de départ Jenkins est spécifié lors de l'installation. L'emplacement par défaut est C:\ProgramData\Jenkins\.jenkins .

Important : Les ProgramData dossier est caché par défaut. Assurez-vous d'activer l'affichage des éléments cachés avant d'essayer d'afficher les journaux Jenkins.

Si vous ne savez pas quel dossier vous avez défini comme dossier de départ Jenkins, cliquez sur Gérer Jenkins lien sur le côté gauche du tableau de bord Jenkins.

Sous la Configuration du système section, cliquez sur Configurer le système bouton.

L'emplacement du dossier d'accueil Jenkins est indiqué en haut de la page, sous Répertoire d'accueil .

MacOS

Sur MacOS, les journaux Jenkins sont situés dans /var/log/jenkins/jenkins.log par défaut :

sudo nano /var/log/jenkins/jenkins.log

Docker

L'affichage des journaux Jenkins dans Docker nécessite l'exécution de Jenkins dans un conteneur détaché. Ouvrir les journaux Jenkins à l'aide des logs Docker commande et l'ID du conteneur détaché :

docker logs [container ID]

Comment activer les journaux de débogage dans Jenkins ?

Jenkins permet aux utilisateurs de configurer de nouveaux enregistreurs de journaux lors de l'utilisation du journal système page. Ces enregistreurs collectent et affichent des informations sur des éléments spécifiques de votre code et vous pouvez les affiner pour fournir une sortie plus détaillée.

Le fait de disposer d'un journal plus détaillé facilite la détection et la détermination de la cause des erreurs potentielles dans le code. Ceci est très utile lors du débogage des problèmes.

1. Pour configurer un nouvel enregistreur de journal, cliquez d'abord sur Ajouter un nouvel enregistreur de journal bouton dans les Enregistreurs de journaux section du journal système page.

2. Ensuite, entrez le nom du nouvel enregistreur de journal et cliquez sur OK bouton. Pour cet exemple, nous nommerons notre enregistreur de journal Dig Debug .

3. Pour personnaliser la sortie que le nouvel enregistreur de journaux collecte et affiche, cliquez sur Ajouter bouton pour ajouter un nouvel enregistreur. Utilisez le champ de saisie pour rechercher un élément et sélectionnez le niveau de journalisation dans le menu déroulant. Il est généralement préférable d'utiliser le ALL ou FIN niveau de journalisation à des fins de débogage.

4. Pour notre exemple, nous voulons déboguer les plugins liés à Git. Pour ce faire, nous allons ajouter de nouveaux enregistreurs surveillant ces plugins et définir le niveau de journalisation sur ALL.

5. Une fois que vous avez terminé d'ajouter de nouveaux enregistreurs, cliquez sur Enregistrer pour enregistrer le nouvel enregistreur de journal Jenkins.

6. Une fois que vous avez configuré le nouvel enregistreur de journaux, ouvrez-le en cliquant sur son nom dans les Enregistreurs de journaux section. Avec l'enregistreur de journal ouvert, cliquez sur Enregistrements du journal lien sur le côté gauche pour consulter les nouveaux enregistrements de journal.

Quels journaux Jenkins devez-vous surveiller ?

Certains événements du journal Jenkins peuvent indiquer des problèmes avec le code ou l'application Jenkins elle-même. La surveillance de ces événements est un moyen simple de diagnostiquer et de prévenir rapidement les problèmes de performances.

Réception d'une OutOfMemoryError indique que Jenkins n'a plus de mémoire système. Pour résoudre ce problème, utilisez un tas Java plus petit ou vérifiez les anciennes données enregistrées sur :

[Jenkins URL]/administrativeMonitor/OldData/manage

A java.lang.OutOfMemoryError: GC overhead limit exceeded L'erreur se produit lorsque le Java Garbage Collector dépasse sa limite de mémoire. Une solution rapide consiste à effacer les anciennes versions qui peuvent occuper de la mémoire.

Un autre problème courant est la consommation de CPU, indiquée par une OutOfMemoryError: PermGen space Erreur. Vous pouvez éviter cela en minimisant le nombre de builds exécutés sur le nœud maître, en limitant l'historique des builds, en vous assurant que tous les plugins Jenkins sont mis à jour et en surveillant la façon dont les autres applications utilisent le processeur.

Comment personnaliser les journaux Jenkins ?

Le formatage des journaux Jenkins peut parfois les rendre difficiles à lire, en particulier lors de l'utilisation de niveaux de journalisation plus élevés. Les longs pipelines avec des dizaines ou des centaines de lignes de code présentent également un défi.

Vous trouverez ci-dessous un exemple de journal pour un pipeline simple qui imprime le numéro de version de build :

Dans la sortie ci-dessus, il n'est pas facile de voir où une étape commence et se termine. La seule indication est l'stage sortie au début et // stage à la fin, tous deux affichés en gris clair.

Ajouter un message avec le echo La commande au début d'une étape facilite la séparation des différentes étapes lors de l'examen de la sortie de la console. Cela permet également aux utilisateurs d'ajouter de brèves descriptions, ce qui facilite encore la compréhension du résultat.

Une autre méthode consiste à ajouter un echo commande sans texte de message. Cela crée une ligne vide et rend la sortie plus facile à lire.


Ubuntu
  1. Faire pivoter et archiver les journaux avec la commande Linux logrotate

  2. Différence entre /var/log/messages, /var/log/syslog et /var/log/kern.log ?

  3. Emplacements des fichiers journaux communs et des fichiers de configuration pour les services cPanel

  4. printk et niveau de journalisation de la console

  5. Affichage des journaux sur un serveur Linux distant

Installer et configurer Jenkins sous Linux

Comment installer et utiliser Jenkins sur Ubuntu 18.04 et 16.04 LTS

Comment installer et configurer Jenkins sur Ubuntu

Journaux système

Comment installer et configurer Jenkins dans Ubuntu 20.04

Comment configurer et gérer la rotation des journaux à l'aide de Logrotate sous Linux