Systemd : Utiliser journalctl, les logs de systemd
Table des matières
systemd possède son propre mécanisme de journalisation, syslog n'est plus requis par défaut.
Voici quelques commandes utiles pour se repérer ....
Pour voir les logs :
De manière "tail -f", continue sur la console jusqu'à ctrl+C :
Filtrer par service
Filtrer par PID :
Filtrer par programme :
Filtrer par niveau de log (ici que les erreurs) :
On peut évidemment combiner toutes ces options :
On peut imiter la taille maximum du journal (par défaut à 10% de la taille du système de fichier). Pour la fixer à 500 Mo par exemple, on édite le fichier /etc/systemd/journald.conf :
En fixant une limite par fichier, on a un équivalent de logrotate (par défaut, il garde 7 rotations) :
On peut aussi faire en sorte que les journaux ne soient pas conservés sur le disque au redémarrage (machine non critique) :
Introduction
systemd possède son propre mécanisme de journalisation, syslog n'est plus requis par défaut.
Voici quelques commandes utiles pour se repérer ....
Visualiser les logs : Utiliser journalctl
Pour voir les logs :
Code BASH :
journalctl
Code BASH :
mai 21 21:24:21 localhost.localdomain systemd[2396]: Startup finished in 1.216s. mai 21 21:24:21 localhost.localdomain sshd[1695]: pam_tcb(sshd:session): Session opened fo mai 21 21:24:24 localhost.localdomain su[2452]: pam_tcb(su:auth): Authentication passed fo mai 21 21:24:24 localhost.localdomain su[2452]: (to root) adrien on pts/0 mai 21 21:24:24 localhost.localdomain su[2452]: pam_tcb(su:session): Session opened for ro
De manière "tail -f", continue sur la console jusqu'à ctrl+C :
Code BASH :
journalctl -f
Code BASH :
-- Logs begin at dim. 2015-03-29 22:59:55 CEST. -- mai 21 21:24:21 localhost.localdomain systemd[2396]: Starting Default. mai 21 21:24:21 localhost.localdomain systemd[2396]: Reached target Default. mai 21 21:24:21 localhost.localdomain systemd[2396]: Startup finished in 1.216s. mai 21 21:24:21 localhost.localdomain sshd[1695]: pam_tcb(sshd:session): Session opened fo
Filtrer par service
Code BASH :
journalctl -u crond
Code BASH :
mai 21 21:23:43 localhost.localdomain crond[624]: (CRON) INFO (Syslog will be used instead mai 21 21:23:43 localhost.localdomain crond[624]: (CRON) INFO (RANDOM_DELAY will be scaled mai 21 21:23:44 localhost.localdomain crond[624]: (CRON) INFO (running with inotify suppor
Filtrer par PID :
Code BASH :
journalctl _PID=1
Code BASH :
mai 21 21:23:51 localhost.localdomain systemd[1]: lm_sensors.service failed. mai 21 21:24:03 localhost.localdomain systemd[1]: plymouth-quit-wait.service start operati mai 21 21:24:03 localhost.localdomain systemd[1]: Failed to start Wait for Plymouth Boot S mai 21 21:24:03 localhost.localdomain systemd[1]: Unit plymouth-quit-wait.service entered mai 21 21:24:03 localhost.localdomain systemd[1]: plymouth-quit-wait.service failed.
Filtrer par programme :
Code BASH :
journalctl /usr/sbin/sshd
Code BASH :
mai 21 21:24:06 localhost.localdomain sshd[1268]: Server listening on 0.0.0.0 port 22. mai 21 21:24:06 localhost.localdomain sshd[1268]: Server listening on :: port 22. mai 21 21:24:19 localhost.localdomain sshd[1836]: pam_tcb(sshd:auth): Authentication passe mai 21 21:24:19 localhost.localdomain sshd[1695]: Accepted keyboard-interactive/pam for ad mai 21 21:24:21 localhost.localdomain sshd[1695]: pam_tcb(sshd:session): Session opened fo
Filtrer par niveau de log (ici que les erreurs) :
Code BASH :
journalctl -p err
Code BASH :
mai 21 21:24:06 localhost.localdomain rpcbind[1278]: Cannot open '/var/lib/rpcbind/rpcbind mai 21 21:24:06 localhost.localdomain rpcbind[1278]: Cannot open '/var/lib/rpcbind/portmap mai 21 21:24:14 localhost.localdomain kernel: xt_addrtype: ipv6 does not support BROADCAS
On peut évidemment combiner toutes ces options :
Code BASH :
journalctl -f /usr/sbin/urpmi -p info
Code BASH :
-- Logs begin at dim. 2015-03-29 22:59:55 CEST. -- mai 21 21:19:27 localhost.localdomain [RPM][9040]: erase lib64kwinglutils1-2:4.11.16-2.mga5.x86_64: success mai 21 21:19:28 localhost.localdomain [RPM][9040]: erase lib64kephal4-2:4.11.16-2.mga5.x86_64: success mai 21 21:19:29 localhost.localdomain [RPM][9040]: erase lib64plasma_applet_system_monitor4-2:4.11.16-2.mga5.x86_64: success mai 21 21:19:29 localhost.localdomain [RPM][9040]: erase lib64kwineffects1-2:4.11.16-2.mga5.x86_64: success mai 21 21:19:29 localhost.localdomain [RPM][9040]: erase lib64kwinglesutils1-2:4.11.16-2.mga5.x86_64: success mai 21 21:19:29 localhost.localdomain [RPM][9040]: Transaction ID 555e2fb9 finished: 0 - - Reboot - - mai 21 21:34:03 localhost.localdomain urpmi[8355]: called with: hnghggjh
A propos de la taille
On peut imiter la taille maximum du journal (par défaut à 10% de la taille du système de fichier). Pour la fixer à 500 Mo par exemple, on édite le fichier /etc/systemd/journald.conf :
Code BASH :
SystemMaxUse=500M
En fixant une limite par fichier, on a un équivalent de logrotate (par défaut, il garde 7 rotations) :
Code BASH :
SystemMaxUse=500M SystemMaxFileSize=100M
On peut aussi faire en sorte que les journaux ne soient pas conservés sur le disque au redémarrage (machine non critique) :
Code BASH :
[Journal] Storage=volatile