
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)
- grep regex Linux : guide pratique
- grep vs ripgrep : comparatif
- journalctl pour debug systemd
- ss + journalctl : diagnostic réseau
- Ansible Vault : guide pratique
- Structure de playbook Ansible en production
- Durcir un serveur Debian avec Ansible
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.
