Datasheet/Journalctl

De TartareFR
Aller à la navigation Aller à la recherche

__NOTITLE__

Logo Wiki Didier

journalctl

Description

Cette commande lancée avec le super-utilisateur root, permet de voir tous les logs générés par le système et par les utilisateurs de celui-ci. A contrario, lancée avec un utilisateur basique, seuls les logs lui appartenant seront visibles. C'est une amélioration du traditionnel format de <path>/var/log/messages</path>:

  • Les lignes de priorité erreur (ou supérieur) sont affiché en rouge
  • Les lignes de priorité notice/warning sont affiché en gras
  • Les timestamps sont convertis en date/heure locale
  • La sortie est utilise automatiquement un pager ( <app>less</app> par défaut)
  • Affiche toutes les traces, même celles qui ont subies une rotation de logs.
  • Un démarrage du système est clairement identifié

Les logs contiennent les trois sources possibles de messages du daemon:

  • Appel depuis la GLibc syslog
  • Appel à l'API native de Journal
  • Écriture sur STDOUT et STDERR

Contrôle d'accès

Afin d'autoriser un utilisateur à visualiser les logs du système, sans devoir devenir le super-utilisateur root, il est prévu que les logs soient lisibles par les membres du groupe adm:

usermod -a -G adm didier

Temps réel

Le lancement de cette commande sans argument affiche tous les logs et peut contenir beaucoup de traces. Pour afficher les traces en temps réel, on ajoute l'option -f comme pour la commande <app>tail</app>. Cette commande est équivalente à <app>tail -f /var/log/messages</app>

journalctl -f

Cela affiche les dix dernières lignes et se rafraichie en temps réel.

Filtrage Basique

  • Pour visualiser uniquement les logs depuis le démarrage
    journalctl -b
  • On peut coupler les filtres: affichage des logs générés depuis le démarrage et de priorité erreur
    journalctl -b -p err
  • Si la période entre deux démarrage est longue, filtrer sur une date est plus intéressant
    journalctl --since=yesterday
  • Pour chercher les traces générées le 15 et 16 octobre 2012
    journalctl --since=2012-10-15 --until="2011-10-16 23:59:59"
  • Pour chercher les traces générées par apache aujourd'hui entre minuit et 09h30
    journalctl -u httpd --since=00:00 --until=9:30
  • Pour chercher les traces générées par le disque /dev/sda
    journalctl /dev/sda
  • Pour chercher les traces générées par l'application dhclient
    journalctl /usr/sbin/vpnc
  • On peut spécifier plus d'une application
    journalctl /sbin/dhclient /sbin/bridge