Généralités système Linux

syslog : Les journaux système sous Linux

Table des matières

ls_logs



Introduction



Dans un système d'exploitation, il existe des journaux, plus familièrement appelés logs.
Ces journaux sont stockés dans la partition /var/log par défaut.
Le protocole syslog est défini dans la RFC 5424 https://tools.ietf.org/html/rfc5424

Un service peut écrire dans ses propre fichiers de logs, souvent classés dans un dossier dans /var/log (Ex: /var/log/httpd pour apache).

Les niveaux de gravité



Chaque log dispose d'un niveau de gravité (aussi appelé sévérité).

Ils sont triés par ordre :

Code numérique Sévérité Description
0 emerg Système inutilisable (urgence)
1 alert Intervention immédiate nécessaire (Alerte)
2 crit Erreur système critique (Critique)
3 err Erreur de fonctionnement (Erreur)
4 warning Avertissement
5 notice Evénement normal mais devant être signalé
6 info Messages d'information
7 debug Message de débogage



Les services (ou facilities)



Il existe une liste de facilities. Ce sont des types de messages qui sont classés par catégorie.
Voici quelques catégories courantes :

auth : Evénements de sécurité ou d'authentification (comme SSH par exemple)
authpriv : Evénements relatifs aux contrôles d'accès
cron : Evénements relatifs aux tâches planifiées
daemon : Evénements des processus systèmes et applicatifs
kern : Evénements concernant les messages relatifs au noyau
mail : Evénements relatifs aux services mail
local7 : Evénements relatifs au boot
user : Evenements quand aucun service n'est spécifié
none : Désigne "rien"
* : Tous les événements quelques soient leur type

Les destinations



Chaque événement étant catégorisé et ayant une priorité peut être stocké sur différents supports.

Cela peut être :

Un fichier avec synchronisation des écritures : /var/log/journal.log
Un fichier sans synchronisation d'écriture : -/var/log/journal.log
Un périphérique (La 12ème console par exemple) : -/dev/tty12
Ignorer les messages : ~
Sur un serveur en UDP : @server (port par défaut = 514, si port différent @@server:port)
Sur un serveur en TCP : @@server (port par défaut = 514, si port différent @@server:port)

La Syntaxe et exemples



Dans la configuration syslog, la syntaxe est la suivante :
Code TEXT :
service.gravité        destination


Pour vous familiariser avec la configuration, voici quelques exemples :

Code TEXT :
auth,authpriv.*    /var/log/auth.log        #  Stocke tous les messages d’authentification
*.emerg            /var/log/alerte.log        #  Stocke tous les services de niveau emergency
*.*                -/dev/tty12            #  envoie tous les logs de toutes les criticités sur le TTY12
cron.*            ~                    #  Abandon des messages syslog de cron
*.*                @192.168.21.200        # Envoie en UDP vers un serveur syslog


Ecrire dans les logs avec logger



Si vous avez besoin d'écrire dans les logs depuis un script, vous pouvez le faire avec la commande logger !

Voici un exemple pour écrire un texte d'erreur :

Code BASH :
logger -p local0.err "Ceci est un texte d erreur"


Code BASH :
[root@srv-log ~]# tail -1 /var/log/messages
Feb  6 18:29:27 srv-log root: Ceci est un texte d erreur
Cette page a été vue 42468 fois