Journalctl

From Manjaro Linux
Jump to: navigation, search

Retour à l'accueil


Visualisation des logs avec systemd

systemd possède son propre système de logs au format binaire journald, il peut être consulté avec l'utilitaire journalctl. De nombreuses options passées en paramètre apportent beaucoup de puissance à cet outil.


Rechercher un programme

Avec l'option -t il est possible de rechercher un programme ou uniquement une unité systemd avec -u

journalctl -u ntpd.service
journalctl -t sudo
journalctl /bin/sudo
note: peu de programmes utilisent journald, penser à regarder aussi /var/log/


Filtre boot

journalctl -b

L’option -b permet de choisir quel boot nous désirons consulter. -b filtre uniquement les messages de la session actuelle. En passant un numéro, nous pouvons définir quel boot nous désirons voir.

journalctl -b 5

retourne les messages du cinquième boot de notre distribution

journalctl -b-1

retourne les messages de notre boot précédent, donc en négatif nous avons un décalage relatif au boot courant.


Il est possible de retrouver la liste de nos boots. La première colonne donne la valeur de l'option -b

 journalctl --list-boots | tail -n12

retourne les 12 derniers boots de notre distribution

Filtres sur les dates

Les options –since ou/et –until permettent de définir une plage sur le temps. cette date est généralement au format {{ic|AAAA-MM-JJ} avec éventuellement un horaire.

journalctl --since "2015-10-10" --until "2015-10-11"
journalctl --since "-2d"
journalctl --since "-4d" --until "-3d"
journalctl --since "2015-10-06 16:30" --until "2015-10-06 16:40"
journalctl --since "-2h" --until "-1h"
journalctl --since 09:00 --until "1 hour ago"


Filtre sur les niveaux de gravité

Avec l'option -p nous pouvons appliquer un filtre sur le niveau des messages, nous en avons 7 : « emerg » (0), « alert » (1), « crit » (2), « err » (3), « warning » (4), »notice » (5), « info » (6), « debug » (7).

journalctl -p err

retour de tous les messages de niveau 0 à 3

journalctl  PRIORITY=2

retour uniquement des erreurs critiques


Filtre système

Il est possible de récupérer les messages du kernel (comme dmesg) en ajoutant l'option -k

journalctl -b-1 -k -n 25

nous avons les 25 dernières lignes du boot précédent


Recherche par champ

Il est possible de faire une recherche sur chaque champ d’un message. Pour voir la structure interne, utiliser l'option -o

journalctl -o verbose -n1

Avec cette particularité, nous pouvons faire une recherche sur PID :

journalctl -b _PID=5225

Avec l’auto complétion, il est possible d'avoir la liste des valeurs d'un champ

journalctl _EXE= [touche TAB]
   /usr/bin/bash  ... /usr/bin/docker                                      
   /usr/bin/pacman ...  /usr/bin/sudo 
journalctl _COM= [touche TAB]
   (sd-pam)         drkonqi          konsole          nginx            rtkit-daemon     systemd-modules
   NetworkManager   gvfs-udisks2-vo  kscreenlocker_g  ntpd             sendmail         systemd-udevd  
   avahi-daemon     kactivitymanage  kwrapper5        pacman           ssmtp            trash.so       
   avahi-dnsconfd   kcheckpass       logger           php-fpm          su               udisksd        
   backlighthelper  kded5            login            pkexec           sudo             wpa_supplicant 
   dhclient         klauncher        mount.ntfs       polkitd          systemd-journal                 
   docker           kmix             mysqld           rpc.statd        systemd-machine
journalctl _TRANSPORT= [touche TAB]
   driver   journal  kernel   stdout   syslog

il existe aussi une recherche de toutes les valeurs possibles d'un champ (obligatoirement dans tout journald) qui retourne les mêmes valeurs de l'auto complétion

journalctl -F _COMM

Visualisation temps réel

journalctl -f

Cette commande va afficher en temps réel les derniers messages dans journald (vous pouvez ajouter d'autres options comme -k).

note: Cette commande ne vous rend pas la main; donc à ouvrir dans une console ou un terminal dédié (tty2 par exemple)


Sauvegarde en texte

journalctl propose dans commandes internes (celles de less), pour accéder à l'aide appuyer sur la touche h. ESC + o va enregistrer automatiquement la sortie dans un fichier dont la position par défaut est le home de l'utilisateur.

Autre technique plus classique est d'utiliser les redirections linux

journalctl -b -p err --no-pager >~/erreurs.log

Il est aussi possible d'utiliser directement votre propre éditeur (mais les codes couleur sont intégrés)

PAGER="nano -" journalctl -b

Retour à l'accueil