journalctl Linux : guide pratique pour filtrer et diagnostiquer les logs

journalctl

Journalctl et les log linux?

Journalctl est le système de journalisation de Systemd (tu sais bien, systemd, le gestionnaire qui gère les services).

Réponse rapide

journalctl est l’outil principal pour lire les logs systemd. En incident, cible le service puis limite la période pour isoler vite la cause.

Utilisation

La commande de base :

journalctl

Si on souhaite n’afficher que les logs depuis le dernier démarrage du système :

journalctl -b

Afficher les logs liés à un service (ici je prend l’exemple de xinetd)

journalctl -u xinetd

On peut traquer les erreurs avec :

journalctl -p err

Avec le paramètre –since on peut sélectionner une date à partir de laquelle afficher les logs :

journalctl --since "2020-12-23 21:00:00" 

Le paramètre–until permet l’inverse, afficher les logs jusqu’à une certaine date :

journalctl --until "2020-12-25"

On peut aussi combiner –since et –until pour obtenir les logs durant une intervalle (ici entre 12:10 et 13:30 de la journée actuelle):

journalctl --since "12:10" --until "13:30"

Avec –since ou –until on peut également filtrer avec les termes today, yesterday :

journalctl --since today

Tu peux n’afficher que les logs liés au kernel (identique à dmesg):

journalctl -k

Modifier la configuration

Le fichier de configuration se trouve dans /etc/systemd/journald.conf. Par défaut il est configuré de cette façon :

[Journal]
#Storage=auto
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=10000
#SystemMaxUse=
#SystemKeepFree=
#SystemMaxFileSize=
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=
#MaxFileSec=1month
#ForwardToSyslog=yes
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg
#LineMax=48K
#ReadKMsg=yes

Avec SystemMaxUse on peut fixer la taille max du fichier de logs (ici 1Go) :

SystemMaxUse=1G

On peut aussi faire en sorte que les logs ne soient pas conservé à l’extinction du système avec :

Storage=volatile

Enfin si on souhaite tout de même avoir les fichiers de log linux /var/log/message et autres, on peut installer rsyslog et ajouter le paramètre ForwardToSyslog=yes  dans /etc/systemd/journald.conf.

Si linux t’intéresse n’hésite pas à jeter un œil à nos autres articles ICI.

Aller plus loin (guides liés)

Besoin d’accompagnement Linux/DevOps ? Voir les prestations Linux-Man.

Besoin d’aide en prod ?

Si vos logs sont difficiles à exploiter, commencez par une maintenance serveurs Linux PME structurée.

Ou démarrer par un audit et plan de gouvernance infrastructure.

Laisser un commentaire