Aller au contenu
Administration Linux medium

Lire les logs avec journalctl

8 min de lecture

journalctl est la commande qui affiche tous les journaux de votre système Linux. Quand un service plante ou qu’un comportement est anormal, c’est dans ces logs que vous trouverez la réponse. Ce guide vous apprend les filtres essentiels pour cibler rapidement l’information utile.

  • Consulter les journaux système avec journalctl
  • Filtrer par service avec -u
  • Suivre les logs en temps réel avec -f
  • Filtrer par priorité (erreurs, avertissements)
  • Chercher dans une plage de dates avec --since et --until

journald est le composant de systemd qui capture et stocke tous les journaux du système :

  • les messages du noyau (kernel),
  • les messages des services (SSH, Nginx, cron…),
  • les messages d’authentification,
  • les erreurs système.

Tous ces messages sont stockés dans un format binaire. La commande journalctl permet de les lire et de les filtrer.

Fenêtre de terminal
journalctl

Le résultat s’affiche dans un pager (comme less). Utilisez :

  • Flèche bas / Espace pour avancer
  • q pour quitter
  • /motif pour rechercher un mot

Pour n’afficher que les 20 dernières entrées :

Fenêtre de terminal
journalctl -n 20
Fenêtre de terminal
journalctl -b

Cela n’affiche que les messages depuis le dernier boot. Pour voir le boot précédent :

Fenêtre de terminal
journalctl -b -1

C’est le filtre le plus utilisé au quotidien. Pour voir uniquement les logs d’un service :

Fenêtre de terminal
journalctl -u sshd
Résultat (extrait)
avr. 06 08:00:01 serveur sshd[850]: Server listening on 0.0.0.0 port 22.
avr. 06 09:15:23 serveur sshd[1456]: Accepted publickey for bob from 192.168.1.5
avr. 06 09:15:23 serveur sshd[1456]: pam_unix(sshd:session): session opened for user bob

Pour combiner avec les dernières lignes du boot actuel :

Fenêtre de terminal
journalctl -u nginx -b -n 30

Cette commande affiche les 30 derniers messages de Nginx depuis le dernier démarrage.

L’équivalent de tail -f pour les journaux systemd :

Fenêtre de terminal
journalctl -f

Pour suivre un service précis :

Fenêtre de terminal
journalctl -u nginx -f

Appuyez sur Ctrl+C pour arrêter le suivi.

Chaque message de journal a un niveau de priorité. De la plus critique à la moins importante :

NiveauNomDescription
0emergSystème inutilisable
1alertAction immédiate nécessaire
2critErreur critique
3errErreur
4warningAvertissement
5noticeÉvénement normal mais significatif
6infoInformation
7debugMessage de débogage

Pour n’afficher que les erreurs et plus graves (niveaux 0 à 3) :

Fenêtre de terminal
journalctl -p err

Pour les avertissements et plus graves :

Fenêtre de terminal
journalctl -p warning

Pour chercher les logs d’une période précise :

Fenêtre de terminal
journalctl --since "2026-04-06 08:00" --until "2026-04-06 12:00"

Formats acceptés :

FormatExemple
Date et heure"2026-04-06 08:00"
Date seule"2026-04-06" (= minuit)
Relatif"1 hour ago"
Relatif"yesterday", "today"

Exemples pratiques :

Fenêtre de terminal
# Les erreurs depuis 1 heure
journalctl -p err --since "1 hour ago"
# Les logs SSH d'hier
journalctl -u sshd --since yesterday --until today
Fenêtre de terminal
journalctl --disk-usage
Résultat
Archived and active journals take up 128.0M in the file system.

Pour libérer de l’espace en supprimant les vieux logs :

Fenêtre de terminal
# Garder uniquement les 7 derniers jours
sudo journalctl --vacuum-time=7d
# Ou limiter à 500 Mo
sudo journalctl --vacuum-size=500M
CommandeRôle
journalctlTous les journaux
journalctl -n 20Les 20 dernières lignes
journalctl -bLogs du boot actuel
journalctl -u serviceLogs d’un service précis
journalctl -fSuivi en temps réel
journalctl -u service -fSuivi d’un service en direct
journalctl -p errErreurs et plus graves
journalctl --since "1 hour ago"Logs de la dernière heure
journalctl --disk-usageEspace disque utilisé
sudo journalctl --vacuum-time=7dSupprimer les logs de plus de 7 jours
SymptômeCause probableSolution
No journal files were foundJournald n’est pas actif ou droits insuffisantsLancer avec sudo journalctl ou vérifier que systemd-journald tourne
Les logs disparaissent après rebootStockage non persistant (par défaut sur certaines distributions)Créer le dossier : sudo mkdir -p /var/log/journal puis redémarrer journald
journalctl affiche des milliers de lignesPas de filtre appliquéUtiliser -u, -b, -p ou -n pour cibler
Pas de logs pour un serviceLe service n’écrit pas dans le journalVérifier que le service utilise bien stdout/stderr (ou syslog)
L’espace disque est plein de logsPas de politique de rotationConfigurer SystemMaxUse=500M dans /etc/systemd/journald.conf
  • journalctl est le point d’entrée unique pour consulter tous les journaux système.
  • -u service filtre par service : c’est le filtre le plus utile au quotidien.
  • -f suit les logs en temps réel, idéal pour le dépannage en direct.
  • -p err ne montre que les erreurs et les messages critiques.
  • --since et --until limitent la recherche à une plage horaire.

Ce site vous est utile ?

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

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn