Syslog : La puissance de la journalisation sous Linux pour une gestion optimale des données

La journalisation est un processus essentiel dans un système d'exploitation qui permet d'enregistrer les actions d'un événement. Elle est utilisée pour localiser plus rapidement les défaillances d'un système et pour analyser les problèmes potentiels. Sous Linux, le service http, par exemple, envoie des messages vers un fichier log en cas de problème.


Le système de journalisation utilisé sur Linux s'appelle syslog. Il collecte les messages des services et les enregistre dans des fichiers log. Les fichiers log sont situés dans le répertoire /var/log. Parmi les fichiers log les plus couramment utilisés, on retrouve /var/log/secure, /var/log/maillog, /var/log/cron, /var/log/boot.log et /var/log/messages.

Syslog utilise des installations et des priorités pour enregistrer les messages. La rotation de log est effectuée pour éviter la saturation du système de fichiers. Ce processus est géré par le programme Logrotate.

Les enregistrements de syslog sont dans un format standard avec une horodatage, le host, le programme et le message. On peut également envoyer ses propres messages log vers syslog en utilisant la commande logger.

Les journaux (logs) dans un système d'exploitation

Les journaux (logs) dans un système d'exploitation sont stockés par défaut dans la partition /var/log. Le protocole syslog, qui est défini dans la RFC, est utilisé pour collecter les logs de différents programmes et services, y compris le noyau du système.

Un service peut écrire dans ses propres fichiers de logs, souvent classés dans un dossier dans /var/log, comme par exemple /var/log/httpd pour Apache. Les logs sont triés par ordre de niveau de gravité (sévérité) et il existe une liste de "facilities", qui sont des catégories de messages. Exemples de catégories courantes : auth, authpriv, cron, daemon, kern, mail, local7, user, none, *.

Chaque log peut être stocké sur différents supports : fichier avec ou sans synchronisation d'écriture, périphérique, ignorer les messages, serveur en UDP ou TCP. La syntaxe de la configuration syslog est : service.gravité destination. Voici quelques exemples de configuration syslog : auth,authpriv.* /var/log/auth.log, *.emerg /var/log/alerte.log, *.* -/dev/tty12, cron.* ~, *.* @192.168.

[enlazatom_show_links]

On peut également écrire dans les logs avec la commande logger, par exemple : logger -p local0.err "Ceci est un texte d'erreur".

Utilisation de syslog sous Linux

Le système d'exploitation GNU-Linux utilise le daemon syslog pour enregistrer les journaux (log) dans le répertoire /var/log. Les journaux log sont des fichiers texte dans lesquels les événements sont enregistrés, un par ligne.

Chaque ligne d'événement dans le journal log contient la date, le processus déclencheur, le processus ayant ajouté le message correspondant et le niveau de gravité du message.

Pour afficher les dernières procédures de login, l'heure des tentatives et leur succès ou échec, on utilise la commande "tail -f /var/log/auth.log".

Le fichier de configuration de syslog est syslog.conf et il est stocké dans /etc. Ce fichier permet de modifier les messages d'événements survenus sur le système, comme l'envoi de mail ou l'authentification.

L'utilitaire swatch peut surveiller un fichier de log et réaliser une action si un mot-clé est détecté.

On peut également créer un serveur de log pour centraliser les logs de plusieurs serveurs en ajoutant une ligne dans le syslog.conf de chaque serveur mentionnant le processus envoyant les messages et le nom ou l'adresse IP du serveur de log.

La commande logger permet d'envoyer un message à syslog même en tant qu'utilisateur.

Le fichier logrotate sert à configurer la rotation des logs, en archivant les fichiers log récents et en supprimant les anciens avec une périodicité définie. Les lignes importantes à configurer dans logrotate.conf sont monthly, rotate n, create et compress.

Pour tester les fichiers de configuration de logrotate, on utilise la commande "/usr/sbin/logrotate -dv /etc/logrotate.conf".

Les fichiers log sous Linux

Les fichiers contenant les logs sont stockés sous /var/log. Pour afficher les logs par ordre anti-chronologique, on peut utiliser la commande "ls -lrt /var/log".

Les logs par défaut sont principalement situés dans /var/log/messages et /var/log/syslog. Le journal de log le plus courant sous Linux est /var/log/messages. Pour voir les derniers événements en temps réel, on peut utiliser la commande "tail -f /var/log/messages".

Syslog est un protocole de journaux d'événements qui collecte les logs de différents programmes et services, y compris le noyau. Son fichier de configuration est /etc/syslog.conf ou /etc/rsyslog.conf. Consulter ce fichier permet de voir les différents logs collectés et les fichiers dans lesquels ils sont écrits.

Par exemple, le fichier /var/log/messages contient des messages systèmes globaux, y compris ceux écrits lors du démarrage du système. Pour afficher uniquement ce qui ne commence pas par ";" ou "#", on peut utiliser la commande "cat /etc/ansible/ansible.cfg | egrep -v "^(;|#)".

Le site Thegeekstuff.com a un article intitulé "20 Linux Log Files that are Located under /var/log Directory", qui répertorie les différents fichiers logs sous /var/log.

Index
  1. Les journaux (logs) dans un système d'exploitation
  • On peut également écrire dans les logs avec la commande logger, par exemple : logger -p local0.err "Ceci est un texte d'erreur".
    1. Utilisation de syslog sous Linux
    2. Les fichiers log sous Linux
  • Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Go up