Unix / Linux - Journalisation du système

Bonjour à tous, futurs magiciens Unix/Linux ! Aujourd'hui, nous plongeons dans le monde fascinant de la journalisation du système. Ne vous inquiétez pas si vous êtes nouveau dans ce domaine - je serai votre guide amical tout au long de ce voyage, tout comme j'ai été pour des centaines d'étudiants au fil des ans. C'est parti !

Unix / Linux - System Logging

Qu'est-ce que la journalisation du système ?

Avant de rentrer dans les détails, comprenons ce qu'est la journalisation du système. Imaginez que vous êtes un détective essayant de résoudre un mystère dans votre ordinateur. Les journaux système sont comme votre carnet de confiance, enregistrant tout ce qui se passe dans votre système. Cool, non ?

Pourquoi est-ce important ?

La journalisation du système est cruciale pour :

  1. Dépanner les problèmes
  2. Surveiller la santé du système
  3. Détecter les violations de sécurité
  4. Respecter les réglementations

Maintenant que nous savons pourquoi c'est important, explorons les composants de la journalisation du système.

Les Facilities Syslog

Les facilities Syslog sont comme les différents départements dans une grande entreprise. Chaque département gère des informations spécifiques. Voici un tableau de certaines facilities Syslog courantes :

Facility Description
auth Événements d'authentification et de sécurité
cron Démon Cron (tâches planifiées)
daemon Divers démons système
kern Messages du noyau
mail Système de messagerie
user Messages de niveau utilisateur

Par exemple, si vous voyez une entrée de journal avec "mail" comme facility, vous savez qu'elle est liée à votre système de messagerie. Très pratique, n'est-ce pas ?

Les Priorités Syslog

Les journaux ne sont pas tous créés égaux. Certains sont plus urgents que d'autres. C'est là que les priorités Syslog entrent en jeu. Pensez-y comme les niveaux d'urgence d'un hôpital.

Voici un tableau des priorités Syslog, du plus au moins sévère :

Priorité Mot-clé Description
0 emerg Le système est inutilisable
1 alert Une action doit être prise immédiatement
2 crit Conditions critiques
3 err Conditions d'erreur
4 warning Conditions d'avertissement
5 notice Conditions normales mais significatives
6 info Messages d'information
7 debug Messages de débogage

Par exemple, si votre système rencontre un événement "crit" (critique), c'est le moment de enfiler votre cape de super-héros et de sauver la situation !

Le Fichier /etc/syslog.conf

Maintenant, parlons du cerveau derrière la journalisation du système : le fichier /etc/syslog.conf. Ce fichier est comme le metteur en scène d'une pièce de théâtre, indiquant à chaque acteur (journal) où aller et quoi faire.

Voici un exemple de ce que vous pourriez trouver dans ce fichier :

mail.*                  /var/log/mail
*.err                   /var/log/errors
kern.*                  /var/log/kernel

Décomposons cela :

  • mail.* signifie "tous les journaux de facility mail"
  • *.err signifie "tous les journaux de priorité erreur de toute facility"
  • kern.* signifie "tous les journaux de facility kernel"

La partie après l'espace indique où ces journaux devraient être stockés. Cool, non ?

Les Actions de Journalisation

Les actions de journalisation déterminent ce qui arrive aux journaux. Voici quelques actions courantes :

  1. Journalisation dans un fichier : Les journaux sont écrits dans un fichier Exemple : mail.* /var/log/mail

  2. Tubes nommés : Les journaux sont envoyés à un tube nommé Exemple : mail.* |/usr/bin/mypipe

  3. Console/terminal : Les journaux sont affichés sur la console Exemple : *.emerg *

  4. Machine distante : Les journaux sont envoyés à une autre machine Exemple : *.* @192.168.1.100

La Commande logger

La commande logger est comme votre messager personnel pour le système Syslog. Vous pouvez l'utiliser pour créer vos propres entrées de journal. Voici comment :

logger "Bonjour, syslog!"

Cela créera une entrée de journal avec le message "Bonjour, syslog!". Vous pouvez le vérifier dans /var/log/messages ou où que votre système stocke les journaux utilisateur.

Vous pouvez également spécifier la priorité :

logger -p user.err "Oups, quelque chose s'est mal passé !"

Cela crée une entrée de journal de niveau erreur dans la facility utilisateur.

La Rotation des Journaux

Imaginez si nous ne nettoyions jamais nos placards - ils deviendraient très pleins, n'est-ce pas ? La même chose se produit pour les fichiers de journal. C'est là que la rotation des journaux entre en jeu. C'est comme un nettoyage de printemps régulier pour vos journaux.

La rotation des journaux généralement :

  1. Renomme le fichier journal actuel
  2. Crée un nouveau fichier journal vide
  3. Comprime les anciens fichiers journaux
  4. Supprime les très anciens fichiers journaux

Voici un exemple simple d'une configuration de rotation des journaux (/etc/logrotate.d/myapp) :

/var/log/myapp.log {
weekly
rotate 4
compress
missingok
notifempty
}

Cette configuration :

  • Rotation du journal hebdomadaire
  • Conserve 4 anciennes versions
  • Comprime les anciens journaux
  • Ne se plaint pas si le journal est manquant
  • Ne rotationne pas les journaux vides

Emplacements Importants des Journaux

Enfin, regardons où vous pouvez trouver certains journaux importants. C'est comme une carte au trésor pour les informations système !

Fichier Journal Description
/var/log/messages Messages généraux du système
/var/log/auth.log Journaux d'authentification
/var/log/kern.log Journaux du noyau
/var/log/cron.log Journaux des tâches Cron
/var/log/maillog Journaux du serveur de messagerie
/var/log/apache2/error.log Journaux d'erreur Apache
/var/log/mysql/error.log Journaux d'erreur MySQL

Souvenez-vous, ces emplacements peuvent varier en fonction de votre distribution Linux spécifique.

Et voilà, les amis ! Vous venez de terminer une visite express du monde de la journalisation Unix/Linux. Du comprehension de ce qu'est la journalisation et pourquoi elle est importante, à l'exploration des divers composants comme les facilities, les priorités et la rotation des journaux, vous êtes maintenant équipé des connaissances pour commencer votre aventure de journalisation du système.

Souvenez-vous, la meilleure façon d'apprendre est de faire. Alors n'ayez pas peur d'explorer les journaux de votre système, d'essayer la commande logger, et peut-être même de configurer quelques règles de journalisation personnalisées. Bonne journalisation, et que vos systèmes fonctionnent toujours sans problème !

Credits: Image by storyset