Aller au contenu
Outils medium

lazyjournal : explorer les logs Linux en TUI

9 min de lecture

logo lazyjournal

Naviguer dans les logs d'un serveur avec journalctl et grep finit vite par lasser, surtout quand les sources se multiplient : services systemd, fichiers, conteneurs. Ce guide installe lazyjournal, une interface terminal (TUI) qui rassemble toutes ces sources dans une seule vue, avec recherche fuzzy, expressions régulières et coloration des lignes. Vous allez le déployer proprement, comprendre son interface et maîtriser les raccourcis qui le rendent rapide. Public visé : administrateurs Linux et DevOps qui vivent dans un terminal.

  • Installer lazyjournal sans script piégé
  • Lire l'interface et ses panneaux de sources
  • Filtrer les logs en mode exact, fuzzy ou regex
  • Naviguer au clavier avec les raccourcis essentiels
  • Étendre l'usage aux conteneurs et aux hôtes distants

lazyjournal est un explorateur de logs en terminal, écrit en Go et distribué en binaire unique sans dépendance. Son idée : au lieu de retenir les options de journalctl, de docker logs et de tail, vous ouvrez une interface unifiée qui liste toutes les sources à gauche et affiche leur contenu à droite. La sélection se fait aux flèches, la recherche se tape directement.

L'outil ne se limite pas à systemd. La version 0.8 agrège les journaux de journald, de l'audit (auditd), des fichiers du système, des conteneurs Docker et Podman, des stacks Compose, des pods Kubernetes, et sait même se connecter à un hôte distant en SSH. C'est une couche de confort au-dessus d'outils que vous connaissez déjà, pas un remplaçant : lazyjournal appelle journalctl et l'API Docker en arrière-plan.

lazyjournal se résume à un exécutable. Le dépôt propose une commande curl ... | bash, mais exécuter un script distant sans le lire est une mauvaise habitude. Préférez le paquet officiel ou le binaire de la release, que vous contrôlez avant de lancer.

Téléchargez le paquet depuis la release, puis installez-le :

Fenêtre de terminal
curl -fsSLO https://github.com/Lifailon/lazyjournal/releases/download/0.8.6/lazyjournal-0.8.6-amd64.deb
sudo dpkg -i lazyjournal-0.8.6-amd64.deb

Vérifiez ensuite que l'installation a réussi :

Fenêtre de terminal
lazyjournal --version

La commande doit afficher 0.8.6. Lancez l'outil sans argument pour ouvrir l'interface :

Fenêtre de terminal
lazyjournal

Au lancement, l'écran se divise en panneaux. La colonne de gauche empile les sources disponibles, la partie droite affiche le contenu de la source sélectionnée et sa barre de filtre.

Interface de lazyjournal 0.8 listant unités systemd, journaux et conteneurs Docker

La colonne de gauche regroupe trois listes, de haut en bas : les unités systemd avec leur état coloré (running en vert, dead en rouge), les journaux système horodatés, et les conteneurs Docker et Podman détectés. La barre du bas récapitule la configuration active : mode tail, intervalle de rafraîchissement, mode de couleur, et contextes Docker et Kubernetes. Cette ligne d'état est utile pour comprendre pourquoi une source s'affiche d'une certaine manière.

Le filtrage est le coeur de l'outil. La barre de recherche, en haut à droite, propose trois modes que l'on fait défiler avec les flèches gauche et droite.

ModeComportementQuand l'utiliser
DefaultRecherche exacte, sensible à la casseChercher un terme précis, un identifiant
FuzzyApproximative, insensible à la casseRetrouver vite une ligne sans connaître l'orthographe exacte
RegexExpression régulièreMotifs complexes : plages d'adresses IP, codes d'erreur

Le mode fuzzy est le plus confortable au quotidien : taper sshfail remontera les lignes contenant ssh et failed même séparées. Le mode regex vise les recherches avancées, par exemple isoler toutes les réponses HTTP en erreur avec \" 5[0-9]{2} .

lazyjournal est pensé pour le clavier. Ces raccourcis couvrent l'essentiel de la navigation quotidienne.

ToucheAction
Tab / Shift+TabPasser au panneau suivant ou précédent
Flèches haut/basParcourir la liste ou les logs ligne par ligne
Shift+FlèchesDéfilement rapide de 10 lignes
EnterOuvrir la source sélectionnée
Ctrl+RRafraîchir la source et aller en fin de log
Ctrl+D / Ctrl+WVider le champ de recherche
Ctrl+CQuitter proprement

La logique est celle des interfaces lazy* comme lazydocker : Tab circule entre les zones, les flèches parcourent, Enter ouvre. Quelques minutes suffisent pour prendre le réflexe.

Au-delà des journaux système, lazyjournal couvre des cas que journalctl ne traite pas seul, ce qui en fait un couteau suisse pratique en exploitation.

  • Conteneurs : les logs Docker et Podman apparaissent dans la liste sans commande supplémentaire, aux côtés des services systemd.

  • Hôte distant : l'option --ssh ouvre les journaux d'un serveur distant sans y installer quoi que ce soit, en réutilisant votre configuration SSH.

    Fenêtre de terminal
    lazyjournal --ssh "admin@192.168.1.50 -p 22"
  • Coloration renforcée : l'option --color-mode accepte tailspin ou bat pour une mise en forme plus riche des logs, si ces outils sont présents.

Ces trois symptômes relèvent tous de l'environnement d'exécution, jamais d'un défaut de l'outil. Les deux premiers sont des questions de droits : lire le journal système suppose d'appartenir au groupe systemd-journal, lister les conteneurs d'accéder au socket Docker. Vérifiez donc vos groupes avec id avant de chercher plus loin.

SymptômeCause probableSolution
Les journaux système sont videsDroits insuffisants sur le journalAjouter l'utilisateur au groupe systemd-journal ou lancer avec sudo
Aucun conteneur listéAccès au socket Docker manquantVérifier l'appartenance au groupe docker
L'affichage se déformeTerminal trop étroitAgrandir la fenêtre, lazyjournal s'adapte à la taille
La recherche ne trouve rienMode de filtre inadaptéBasculer en mode fuzzy avec les flèches gauche/droite
  • lazyjournal est une TUI en binaire Go qui unifie journald, fichiers, Docker, Podman, Kubernetes et hôtes distants.
  • Installer via le paquet .deb ou le binaire de la release, jamais par un script curl | bash non relu.
  • Trois modes de recherche : exact, fuzzy (le plus pratique) et regex pour les motifs avancés.
  • La navigation est au clavier : Tab entre panneaux, flèches pour parcourir, Enter pour ouvrir.
  • L'option --ssh lit les journaux d'un serveur distant sans rien y installer.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn