Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Syslog — Wikipédia
Syslog — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
Syslog

Informations
Fonction Transmission de journaux
Port TCP 6514, UDP 514
RFC RFC 3164[1]
RFC 3195[2]
RFC 5424[3]
RFC 5425[4]
RFC 5426[5]

modifier

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.

Historique

[modifier | modifier le code]

Syslog a été développé dans les années 1980 par Eric Allman dans le cadre du projet Sendmail[6], et n'était initialement prévu que pour Sendmail. Il s'est avéré si utile que d'autres applications ont commencé à l'utiliser. Syslog est depuis devenu la solution de journalisation standard sur les systèmes Unix et Linux[7], il y a également une variété d'implémentations syslog sur d'autres systèmes d'exploitation (Windows notamment[8]) et est généralement trouvé dans les périphériques réseau tels que les commutateurs ou routeurs.

Le protocole Syslog

[modifier | modifier le code]

Présentation générale

[modifier | modifier le code]

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, à destination du port TCP 6514 ou éventuellement UDP 514 était utilisé ; seul le port UDP était présent dans la RFC 3164[9] aussi il reste souvent utilisé. Les serveurs collectent l'information et se chargent de créer les journaux. Un serveur syslog peut également se comporter comme un relai et retransmettre à nouveau l'information reçue du client, on le qualifie de serveur proxy.

L'intérêt du protocole Syslog est donc de centraliser les journaux d'événements, permettant de repérer plus rapidement et efficacement les défaillances d'équipements 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

[modifier | modifier le code]

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 qui ont incité nombre de logiciels à utiliser leur propre système d'enregistrement.

Le format Syslog

[modifier | modifier le code]

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 priorité 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

Le format de ces messages formalisé tardivement. Initialement, selon la RFC 3164, ce format n'est qu'indicatif, tandis que la RFC 3195 suivante propose un format plus strict. Ce n'est qu'avec la RFC 5424 que le format est normalisé suivant une définition ABNF. Il en résulte des problématiques sur l’interprétation des données par les serveurs réceptionnant ces messages[10].

Niveau de priorité

[modifier | modifier le code]

La priorité du message permet de déterminer la catégorie et la gravité du journal, elle est entre chevrons dans le journal syslog[7] : priorité = (catégorie × 8) + gravité.

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

Catégories

[modifier | modifier le code]

Les messages sont orientés au regard de leur origine, dont les codes sont regroupés suivant 24 types ci-dessous énumérés[7] :

Codes de catégorie
Code Mot-clé Description
0 kern messages du noyau
1 user messages de l'espace utilisateur
2 mail messages du système de messagerie
3 daemon messages des processus d'arrière plan
4 auth messages d'authentification
5 syslog messages générés par syslogd lui-même
6 lpr messages d'impressions
7 news messages d'actualités
8 uucp messages UUCP
9 cron Taches planifiées (at/cron)
10 authpriv sécurité / élévation de privilèges
11 ftp logiciel FTP
12 ntp Synchronisation du temps NTP
13 security log audit
14 console log alert
15 solaris-cron Taches planifiées (at/cron)
16 local0 Utilisation locale libre 0 (local0)
17 local1 Utilisation locale libre 1 (local1)
18 local2 Utilisation locale libre 2 (local2)
19 local3 Utilisation locale libre 3 (local3)
20 local4 Utilisation locale libre 4 (local4)
21 local5 Utilisation locale libre 5 (local5)
22 local6 Utilisation locale libre 6 (local6)
23 local7 Utilisation locale libre 7 (local7)

Les catégories 9 et 15 sont toutes deux destinées à la gestion des tâches planifiées, aussi certains systèmes d'exploitation journalisent sur l'un ou l'autre, ou les deux catégories en même temps. Il en va de même pour les catégories auth, authpriv, log audit et log alert pour l'authentification et les autorisations utilisateurs.

Niveau de gravité

[modifier | modifier le code]

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

Codes de gravité
Code Gravité Mot-clé Description
0 Emergency emerg (panic) Système inutilisable.
1 Alert alert Une intervention immédiate est nécessaire.
2 Critical crit Erreur critique pour le système.
3 Error err (error) Erreur de fonctionnement.
4 Warning warn (warning) Avertissement (une erreur peut intervenir si aucune action n'est prise).
5 Notice notice Événement normal méritant d'être signalé.
6 Informational info Pour information.
7 Debugging debug Message de mise au point.

L'écriture dans le journal syslog

[modifier | modifier le code]

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

  • logger[11] (commande Unix) pour les scripts shell
  • vsyslog() ou syslog()[12] pour les programmes compilés ; ce sont des fonctions implémentées dans des bibliothèques logicielles

Fichier de configuration (syslog.conf)

[modifier | modifier le code]

À l'origine, le fichier de configuration syslog était construit sur le mode ligne, chaque ligne était 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.

Dans les versions récentes (rsyslog, syslog-ng, nxlog ...), la configuration est plus évoluée et permet des filtrages plus élaborés, bien que dans certains cas la configuration basique soit encore utilisée.

Origine

[modifier | modifier le code]

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.crit 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

[modifier | modifier le code]

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

[modifier | modifier le code]

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

[modifier | modifier le code]

Articles connexes

[modifier | modifier le code]
  • GNU inetutils

Liens externes

[modifier | modifier le code]
  • RFC 3164 - Le protocole syslog de BSD
  • RFC 5424 - La mise à jour du protocole syslog qui remplace la RFC 3164
  • RFC 3195 - Reliable Delivery for syslog
  • (en) Groupe de travail sur syslog de l'IETF
  • Implémentation d'un client syslog en classe PHP pure

Notes

[modifier | modifier le code]
  1. ↑ (en) « The BSD syslog Protocol », Request for comments no 3164, août 2001
  2. ↑ (en) « Reliable Delivery for syslog », Request for comments no 3195, novembre 2001
  3. ↑ (en) « The Syslog Protocol », Request for comments no 5424, mars 2009
  4. ↑ (en) « TLS Transport Mapping for Syslogl », Request for comments no 5425, mars 2009
  5. ↑ (en) « Transmission of Syslog Messages over UDP », Request for comments no 5426, mars 2009
  6. ↑ (en) « Syslog ... 20 Years Later -- Redmondmag.com », sur Redmondmag (consulté le 18 septembre 2020).
  7. ↑ a b c et d (en) Rainer Gerhards, « RFC ft-ietf-syslog-protocol : The Syslog Protocol », sur IETF Datatracker, 10 mars 2009 (consulté le 21 avril 2023).
  8. ↑ (en) « SolarWinds », sur kiwisyslog.com (consulté le 21 avril 2023).
  9. ↑ (en) Request for comments no 3164
  10. ↑ « syslog parsing in rsyslog — rsyslog 8.18.0.master documentation », sur rsyslog.readthedocs.io (consulté le 30 mai 2024)
  11. ↑ 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.
  12. ↑ * 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)
  • icône décorative Portail de l’informatique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Syslog&oldid=230019563 ».
Catégories :
  • Administration réseau
  • Administration système
Catégories cachées :
  • Article utilisant une Infobox
  • Portail:Informatique/Articles liés
  • Portail:Technologies/Articles liés
  • Page utilisant des liens magiques RFC

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id