Un fichier journal est un fichier qui contient un ensemble d'enregistrements (ou une liste d'événements) qui ont été consignés par le système lui-même. À l'aide des fichiers journaux, l'administrateur système peut suivre ce qui s'est passé un jour ou une heure particulière. La plupart des fichiers journaux sont utilisés par les administrateurs à des fins de dépannage. Les fichiers journaux sont générés automatiquement et enregistrés dans un répertoire commun - /var/log/ . Nous pouvons également ajouter manuellement des messages aux fichiers journaux du système Linux. Par exemple, après avoir configuré un serveur Log , vous voudrez peut-être vérifier si le serveur de journalisation fonctionne correctement ou non. Pour ce faire, nous pouvons ajouter manuellement certaines entrées dans les fichiers journaux pour tester le serveur de journalisation. C'est là que se trouvent les enregistreurs la commande est pratique.
Ajouter des messages aux fichiers journaux du système Linux à l'aide de la commande Logger
La commande logger fait partie de util-linux package, alors ne vous embêtez pas à l'installer. Laissez-moi vous montrer quelques exemples.
L'ajout manuel d'entrées aux fichiers journaux du système est absolument simple ! L'utilisation typique de la commande logger est :
logger <message-to-add>
Exemple :
$ logger Welcome to OSTechNix
La commande ci-dessus ajoutera l'entrée "Bienvenue dans OSTechNix" aux fichiers journaux du système.
Vérifions si le message a été ajouté ou non en utilisant 'tail' commande :
$ tail -l /var/log/syslog
Exemple de résultat :
Jan 31 07:19:23 ubuntuserver systemd[1705]: Listening on REST API socket for snapd user session agent. Jan 31 07:19:23 ubuntuserver systemd[1705]: Listening on GnuPG network certificate management daemon. Jan 31 07:19:23 ubuntuserver systemd[1705]: Listening on GnuPG cryptographic agent and passphrase cache. Jan 31 07:19:23 ubuntuserver systemd[1705]: Reached target Sockets. Jan 31 07:19:23 ubuntuserver systemd[1705]: Reached target Timers. Jan 31 07:19:23 ubuntuserver systemd[1705]: Reached target Basic System. Jan 31 07:19:23 ubuntuserver systemd[1]: Started User Manager for UID 1000. Jan 31 07:19:23 ubuntuserver systemd[1705]: Reached target Default. Jan 31 07:19:23 ubuntuserver systemd[1705]: Startup finished in 298ms. Jan 31 07:33:14 ubuntuserver sk: Welcome to OSTechNix
Comme vous le voyez dans la sortie, le message donné a été ajouté au fichier syslog.
Remarque :
Différents systèmes d'exploitation Linux stockent les messages du journal dans différents fichiers. Je vous suggère de regarder dans le /var/log/ répertoire pour savoir dans quels fichiers les journaux sont stockés. Dans les systèmes basés sur RPM comme CentOS, les messages généraux du journal seront stockés dans /var/log/messages fichier au lieu de /var/log/syslog fichier.
Vous pouvez également ajouter les messages en les mettant entre guillemets simples ou doubles.
$ logger "Welcome to OSTechNix blog"
Ou,
$ logger 'Howdy, Welcome to OSTechNix blog'
Vérifiez si les entrées ont été ajoutées au fichier syslog à l'aide de la commande tail :
$ tail -l /var/log/syslog [...] Jan 31 07:40:02 ubuntuserver sk: Welcome to OSTechNix blog Jan 31 07:40:31 ubuntuserver sk: Howdy, Welcome to OSTechNix blog
Ajouter le PID de l'enregistreur aux journaux système
Nous pouvons même enregistrer le PID du processus d'enregistrement avec chaque ligne en utilisant -i drapeau comme ci-dessous.
$ logger -i 'Howdy, Welcome to OSTechNix blog'
Vérifiez les messages du journal à l'aide de la commande tail :
$ tail -l /var/log/syslog [...] Jan 31 07:49:22 ubuntuserver sk[1879]: Howdy, Welcome to OSTechNix blog
Ici, 1879 est l'ID de processus de l'enregistreur.
Ajouter des balises aux messages
Comme vous pouvez le remarquer dans les sorties ci-dessus, les entrées nouvellement ajoutées sont étiquetées avec le nom d'utilisateur actuellement connecté, c'est-à-dire sk . La balise par défaut est le nom de l'utilisateur connecté sur le terminal. Nous pouvons cependant marquer chaque ligne à enregistrer avec une balise spécifique en utilisant -t drapeau.
$ logger -i -t ostechnix 'Howdy, Welcome to OSTechNix blog'
Vérifiez les entrées du journal :
$ tail -l /var/log/syslog [...] Jan 31 07:54:02 ubuntuserver ostechnix[1881]: Howdy, Welcome to OSTechNix blog
Voir? la dernière entrée est étiquetée avec ostechnix et son ID de processus est 1881 .
Ajouter des messages d'un fichier aux fichiers journaux
Il est également possible d'ajouter des entrées d'un fichier à nos fichiers journaux système.
Créons un exemple de fichier texte.
$ echo "This is test file" > file.txt
$ cat file.txt This is test file
Ajoutez maintenant le contenu du fichier.txt aux fichiers journaux du système à l'aide de la commande :
$ logger -f file.txt
Vérifier les fichiers journaux :
$ tail -l /var/log/syslog [...] Jan 31 08:43:06 ubuntuserver sk: This is test file
Si le fichier d'entrée contient des lignes vides, vous pouvez les exclure de l'ajout aux fichiers journaux en utilisant -e drapeau comme ci-dessous.
$ logger -e -f file.txt
Journaliser les messages avec priorité
Il est possible de consigner des messages avec une priorité donnée.
$ logger "Welcome To OSTechNix" --priority user.warning
La priorité par défaut est 'user.notice' . Consultez la page de manuel de l'enregistreur pour connaître toutes les options de priorité disponibles.
Recevoir les entrées de 'stdin' et les messages dans les journaux système
Nous pouvons diriger l'entrée depuis l'entrée stand et les pousser vers le syslog à l'aide de la commande :
$ echo "Welcome to OSTechNix" | logger
Envoyer des messages au serveur de journal distant
Pour envoyer les messages à un serveur syslog distant s'exécutant sur un port spécifique, exécutez :
$ logger "Welcome to OSTechNix" --server <hostname-or-ip> --port <port-no>
Ou,
$ logger "Welcome to OSTechNix" -n <hostname-or-ip> -p <port-no>
Le numéro de port par défaut est 514 .
Limiter la taille des messages
Nous pouvons définir la taille de message maximale autorisée en utilisant --size drapeau.
$ logger --size 5 abcdefghijklmnopqrswxyz
Vérifiez la taille des messages de journal :
$ tail -l /var/log/syslog [...] Jan 31 09:09:02 ubuntuserver sk: abcde
La valeur par défaut est 1Ko caractères.
Pour plus de détails, consultez les pages de manuel.
$ man logger
Suggestion de lecture :
- Comment gérer les fichiers journaux à l'aide de Logrotate sous Linux