Syslog


Syslog
Syslog
Fonction Transmission de journaux
Port UDP 514
RFC RFC 3164
RFC 3195
RFC 5426

Syslog est un protocole définissant un service de journaux d'événements d'un système informatique. C'est aussi le nom du format qui permet ces échanges.

Sommaire

Le protocole Syslog

Présentation générale

En tant que protocole, Syslog se compose d'une partie cliente et d'une partie serveur. La partie cliente émet les informations sur le réseau, via le port UDP 514. Les serveurs collectent l'information et se chargent de créer les journaux.

L'intérêt de Syslog est donc de centraliser les journaux d'événements, permettant de repérer plus rapidement et efficacement les défaillances d'ordinateurs présents sur un réseau.

Il existe aussi un logiciel appelé Syslog, qui est responsable de la prise en charge des fichiers de journalisation du système. Ceci inclut aussi le démon klogd, responsable des messages émis par le noyau Linux.

Positionnement système

Le protocole syslog utilise un socket afin de transmettre ses messages. Suivant les systèmes, celui-ci est différent:

Plate-forme Méthode
Linux Un SOCK_STREAM unix nommé /dev/log; certaines distributions utilisent SOCK_DGRAM
BSD Un SOCK_DGRAM unix appelé /var/run/log.
Solaris (2.5 et inférieurs) Un flux SVR4 appelé /dev/log.
Solaris (2.6 et supérieurs) En plus du flux habituel, une porte multithreaded appelée /etc/.syslog_door est utilisée.
HP-UX 11 et supérieur HP-UX utilise le Tube Unix nommé /dev/log de taille 2048 bytes
AIX 5.2 and 5.3 Un SOCK_STREAM ou un SOCK_DGRAM unix appelé /dev/log.

Une problématique nait de ce choix architectural, l'utilisation d'un point d'entrée unique crée des saturations système (buffer overflow) qui ont incité nombre de logiciels à utiliser leur propre système d'enregistrement.

Le format Syslog

Un journal au format syslog comporte dans l'ordre les informations suivantes : la date à laquelle a été émis le log, le nom de l'équipement ayant généré le log (hostname), une information sur le processus qui a déclenché cette émission, le niveau de gravité du log, un identifiant du processus ayant généré le log et enfin un corps de message.

Certaines de ces informations sont optionnelles.

exemple :

Sep 14 14:09:09 machine_de_test dhcp service[warning] 110 corps du message

Niveau de gravité

Les niveaux de gravité Syslog, souvent appelés level sont au nombre de huit représentés par un chiffre de 0 (Emergency) à 7 (Debug):

0 Emerg (emergency)       ⇒ Système inutilisable
1 Alert                   ⇒ Une intervention immédiate est nécessaire
2 Crit (critical)         ⇒ Erreur critique pour le système
3 Err (error)             ⇒ Erreur de fonctionnement
4 Warning                 ⇒ Avertissement
5 Notice                  ⇒ Événement normal méritant d'être signalé
6 Info (informational)    ⇒ pour information seulement
7 Debug                   ⇒ Message de mise au point
8 none                    ⇒ Ignorer ce message

Cette indication est particulièrement importante car elle normalise de fait la représentation de la gravité d'un log, ce qui rend par exemple possible l'interopérabilité entre équipements de collecte de logs et équipements de génération d'alertes.

Facilités

Outre les niveaux de gravité les messages sont orientés au regard de leur origine, dont les codes sont regroupés suivant 24 types ci-dessous énumérés :

Identifiant Origine Identifiant Origine
0 kernel messages 1 user-level messages
2 mail system 3 system daemons
4 security/authorization messages (note 1) 5 messages generated internally by syslogd
6 line printer subsystem 7 network news subsystem
8 UUCP subsystem 9 clock daemon (note 2)
10 security/authorization messages (note 1) 11 FTP daemon
12 NTP subsystem 13 log audit (note 1)
14 log alert (note 1) 15 clock daemon (note 2)
16 local use 0 (local0) 17 local use 1 (local1)
18 local use 2 (local2) 19 local use 3 (local3)
20 local use 4 (local4) 21 local use 5 (local5)
22 local use 6 (local6) 23 local use 7 (local7)

L'écriture dans le journal syslog

La journalisation dans syslog (local ou distant) se fait via

Fichier de configuration (syslog.conf)

Le fichier de configuration syslog est construit sur le mode ligne, chaque ligne est découpée en deux parties :

  • la première indique l'origine du message
  • la seconde la destination

Ce fichier de configuration permet de différencier les messages et de les orienter vers des destinations particulières.

Origine

Les origines peuvent être multiples et sont juxtaposées à l'aide d'un ';'.

Elles sont construites sous la forme :

facility.criticity

La criticité doit être comprise comme la criticité minimale, ainsi user.critical correspond au message d'origine utilisateur pour le niveau de criticité critical et les niveaux supérieurs, en l'occurrence alert et emergency.

Le mot clef "none" peut lui aussi être utilisé afin de filtrer les messages, il est alors utilisé en lieu et place de la criticité.

Destination

Dans syslog classique, la destination peut être soit un fichier soit un serveur distant. La destination peut être précédé d'un - afin d'indiquer la finalité de celle-ci. Le signe « - » est utilisé devant les chemins de fichiers les moins critiques pour améliorer les performances en écriture (pas de synchronisation des fichiers) au risque de perdre des données en cas de crash du système.

Exemple

Extrait d'une partie d'un fichier de configuration :

daemon.*                               -/var/log/daemon.log
user.crit                          @serveurdelog
kern.*                                 -/var/log/kern.log
lpr.*                                  -/var/log/lpr.log
mail.info                              -/var/log/mail.info
mail.warn                              -/var/log/mail.warn
mail.err                               /var/log/mail.err
Auth/authpriv              ⇒ traces sécurité/identifiant ion
cron                       ⇒ traces d'un cron
daemon.*                   ⇒ trace d'un daemon
kern.*                     ⇒ traces du noyau
lpr.*                      ⇒ traces du système d'impression
mail                       ⇒ traces du système de messagerie
news                       ⇒ traces d'un service de news/réseau
syslog                     ⇒ traces du service syslog lui-même
user                       ⇒ trace des processus utilisateur
local0 à 7                 ⇒ traces issues des klogd

Voir aussi

Articles connexes

Liens externes

Notes

  1. logger est une commande Unix de terminal qui interagit avec syslog. Il est utilisé pour créer une entrée dans ces journaux depuis un terminal. Il peut aussi servir à ajouter des informations dans un journal par différents scripts ou logiciels. Par défaut, les messages sont enregistrés dans le fichier /var/log/messages.
  2. * NB : il existe 2 fonctions différentes qui s'appellent syslog() ; l'une est un appel système, l'autre est un appel d'une bibliothèque logicielle, c'est cette deuxième fonction qui permet l'écriture dans le fichier syslog (pour avoir la documentation de celui qui permet l'écriture dans les journaux syslog, il faut taper "man 3 syslog)

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Syslog de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • syslog — (англ. system log системный журнал) стандарт отправки и регистрации сообщений о происходящих в системе событиях (т.е. создания логов), использующийся в компьютерных сетях, работающих по протоколу IP. Термином syslog называют как ныне… …   Википедия

  • Syslog — is a standard for forwarding log messages in an IP network. The term syslog is often used for both the actual syslog protocol, as well as the application or library sendingsyslog messages .Syslog is a client/server protocol: the syslog sender… …   Wikipedia

  • Syslog-ng — is an open source implementation of the Syslog protocol for UNIX and UNIX like systems. It extends the original syslogd model with content based filtering, rich filtering capabilities, flexible configuration options and adds important features to …   Wikipedia

  • Syslog — Familie: TCP/IP Einsatzgebiet: Übermittlung von Log Meldungen in einem IP Rechnernetz Ports: 514/UDP syslog im TCP/IP‑Protokollstapel: Anwendung syslog Transport …   Deutsch Wikipedia

  • Syslog — стандарт отправки сообщений о происходящих в системе событиях (логов), использующийся в компьютерных сетях, работающих по протоколу IP. Протокол syslog прост: отправитель посылает короткое текстовое сообщение, размером меньше 1024 байт получателю …   Википедия

  • Syslog — es un estándar de facto para el envío de mensajes de registro en una red informática IP. Por syslog se conoce tanto al protocolo de red como a la aplicación o biblioteca que envía los mensajes de registro. Un mensaje de registro suele tener… …   Wikipedia Español

  • Syslog-ng — Maintainer Balázs Scheidler Aktuelle Version 3.2.1 Aktuelle Vorabversion 4.7.3 (v4 devel), 25. November 2010; 5.7.2 (v5 devel), 26 November 2010; 6.1.2 (v6 devel), 16 Dezember 2010 Betriebssystem …   Deutsch Wikipedia

  • Syslog-ng — Développeur Balázs Scheidler Première version 1998 …   Wikipédia en Français

  • SYSLOG — System Log file …   Acronyms

  • syslog — ● np. m. ►UNIX►APPLI Démon tenant à jour les journaux systèmes sous Unix …   Dictionnaire d'informatique francophone


Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.