Gérer les journaux d'événements Systemd avec Journalctl Linux

Lorsque nous gérons des systèmes d'exploitation Linux, il existe des centaines de processus que nous devons constamment revoir pour maintenir les meilleurs niveaux de service sur le serveur ou les ordinateurs clients. Dans les environnements Linux, nous trouvons Systemd qui est un système innovant qui nous permet de collecter des informations sur les processus parallèles lors du démarrage du système d'exploitation.

Systemd est présent dans la plupart des distributions Linux telles que Fedora, Debian, Ubuntu, OpenSuSE, Arch, RHEL, CentOS et autres. Avec Systemd, nous avons la possibilité de gérer de manière centralisée tous les services et processus du système. Pour cette analyse, nous utiliserons CentOS 7.

1. Configuration de Journald pour collecter les journaux Systemd


Fondamentalement, journald est responsable de la collecte et de l'écriture des entrées quotidiennes du système d'exploitation telles que les messages de démarrage, les messages du noyau, les messages syslog, les journaux d'application, entre autres. Toutes les informations dans Journald sont hébergées dans le chemin /etc/systemd/journald.conf et les valeurs qui y sont enregistrées sont conformes aux exigences du système local.

Un moyen simple de visualiser le contenu de cette route est d'exécuter la ligne suivante avec le paramètre cat :

 cat /etc/systemd/journald.conf

2. Activer le journal sur le stockage sur disque


La plupart des distributions Linux ne permettent pas de stocker des messages persistants dans leur système de démarrage afin de collecter les informations dudit démarrage.

Pour activer ce log, il faudra accéder au chemin/var/log/journal et y éditer la ligne Storage. Pour y accéder, nous utiliserons des éditeurs tels que nano ou vi comme suit :

 sudo vi /etc/systemd/journald.conf sudo nano /etc/systemd/journald.conf
En accédant à ce fichier, nous verrons ce qui suit :

Là, nous allons modifier la ligne Storage de la valeur auto à la valeur persistent :

Enregistrer les modificationsNous enregistrons les modifications à l'aide des touches Ctrl + O et sortons de l'éditeur à l'aide de Ctrl + X.

Pour obtenir des informations détaillées sur chacun des éléments du Journal, nous pouvons exécuter la ligne suivante :

 homme journald.conf

3. Réglage de la date et de l'heure à l'aide de Timedatectl


Cet aspect est important car en ayant une configuration correcte de la date et de l'heure, les enregistrements seront beaucoup plus fiables et précis.

Pour afficher la date et l'heure actuelles, nous exécuterons l'une des lignes suivantes :

 timedatectl timedatectl état
Le résultat sera le suivant :

En cas de définition d'un fuseau horaire différent, nous exécuterons la syntaxe suivante :

 sudo timedatectl set-timezone (Ville / Pays) sudo timedatectl set-time "HH: MM: SS"

4. Afficher les messages des journaux à l'aide de Journalctl


La commande journalctl est un utilitaire inclus dans Linux qui nous permet de voir le contenu de systemd. Pour afficher tous les enregistrements sans filtrage, nous allons exécuter la ligne suivante :
 journalctl
Le résultat sera le suivant :

Voici maintenant les filtres que nous pouvons utiliser avec Journalctl :

Filtres basés sur le démarrageCe filtre nous permet d'afficher les numéros de démarrage, leur ID, leurs horodatages, entre autres valeurs.
Pour cela, nous utiliserons le paramètre --list-boots :

 journalctl --list-bottes

Si nous voulons voir les enregistrements du démarrage actuel, nous utiliserons la ligne suivante :

 journalctl -b
Pour voir les enregistrements précédents, nous utiliserons la ligne suivante :
 journalctl -b -1

Filtres basés sur le tempsAvec ce filtre, nous pouvons utiliser le format UTC (Coordinated Universal Time - Coordinated Universal Time) en utilisant le paramètre -utc :

 journalctl -utc

De plus, nous pouvons ajouter des filtres comme suit :

 journalctl --since "2017-07-02 08:30:00" (Affiche les résultats de la date indiquée) journalctl --since today (Affiche les résultats de la journée en cours) journalctl --since hier (Affiche les résultats de la jour en cours précédent)

Voir les derniers événementsLa valeur par défaut utilisée par Journalctl est de 10 enregistrements, mais si nous utilisons le paramètre -n, nous pouvons indiquer une quantité plus petite ou plus grande.

 journalctl -n 5

Afficher les événements générés par le noyauPour afficher les messages générés par le noyau, nous utiliserons le paramètre -k comme suit :

 journalctl -k

De la même manière, nous avons les options suivantes :

  • Afficher les événements par unités :
     journalctl -u (service)
  • Afficher les événements par processus :
     journalctl _PID = (# PID), journalctl _PID = (PID) --depuis aujourd'hui, journalctl _PID = (PID) --depuis hier
  • Afficher les événements par ID d'utilisateur ou de groupe :
     journalctl _UID = 1000
  • Afficher les événements générés par un fichier particulier :
     journalctl / usr / bin / bash
  • Voir les événements par priorité : journalctl -p (Code ou terme), les options disponibles sont :
     0 - émergence, 1 - alerte, 2 - critique, 3 - erreur, 4 - avertissement, 5 - avis, 6 - info, 7 - débogage

De cette façon, Journalctl propose de multiples solutions pratiques pour mener à bien cette tâche.

wave wave wave wave wave