Next Previous Contents

7. Syslog-ng

Par Balazs Sheidler bazsi@balabit.hu

http://www.balabit.hu/products/syslog-ng et sélectionnez le lien vers la documentation.

7.2 Chemin des Messages

Dans Syslog-ng le chemin des messages (ou la route des messages) consiste en une ou plusieurs sources, une ou plusieures règles de filtrage et une ou plusieures destinations (trappes). Un message rentre dans syslog-ng par l'une de ses sources, si ce message correspond au règles de filtrages, il part alors vers l'une des destinations.

Sources

Une source est un ensemble de pilotes de sources, qui rassemblent les messages en utilisant une méthode donnée. Dans le cas présent, il s'agit d'un pilote de source pour les sockets de type AF_UNIX, SOCK_STREAM, qui est utilisé par l'appel système syslog() de Linux. Des plateformes différentes utilisent differentes manières d'envoyer les fichiers de rapports vers le démon de connexion, et pour être opérationel sur tous les système d'exploitation, syslog-ng reconnait les méthodes les plus employées. Syslog-ng tourne sur Linux, BSDi, et un support expérimental existe pour Solaris (pour la version 1.1.22).

Destinations

Une destination est une trappe à messages, où le rapport est envoyé si il satisfait aux règles de filtrage. Comme pour les sources, la destination peut inclure beaucoup de drivers qui définissent comment les messages sont affichés.

Pour l'instant il existe un pilote pour fichier, qui écrit les messages vers un fichier donné, mais le support existe pour envoyer les messages vers des sockets Unix, udp et tcp.

Filtres

Les filtres éxecutent des routages de rapports à l'intérieur de syslog-ng. Vous pouvez écrire une expression booléenne utilisant les fonctions internes. Si elle est évalue à vrai, le message passe.

Une expression peut contenir les opérateurs "et", "ou" et "non", et les instructions suivantes:

Chacune de ces fonctions vérifie les champs correspondants dans le fichier log. Par exemple program() vérifie si oui ou non le dit programme a envoyé le message. Vous pouvez utiliser des expressions régulières étendues pour les tests.

Configuration

Maintenant que vous avez les sources, les destinations et les filtres, il vous reste à les lier ensemble, grâce à la commande suivante :


log{ source s1;source s2; ...
     filter f1; filter f2; ... 
     destination d1; destination d2; ... };

Les messages peuvent provenir de n'importe laquelle des sources, et doivent passer tous les filtres énumérés (ce qui équivaut à un ET) pour être envoyés vers toutes les destinations.

7.3 Configuration exemple

Ce fichier de configuration nous montre les services et les caractéristiques de syslog-ng. Il recoit les messages du réseau, et les messages locaux. 3 formes distinctes de fichiers de sortie sont utilisés : un pour les messages de sendmail, un deuxième pour les messages provenant de host1, et le troisième provenant de host2.


options { long_hostnames(on); sync(0); };

source src { udp 0.0.0.0,514; unix-stream /dev/log; internal; };

filter f_sendmail { program("sendmail"); };
filter f_host1 { host("host1"); };
filter f_host2 { host("host2"); };

destination sendmail { file /var/log/sendmail; };
destination host1 { file /var/log/host1; };
destination host2 { file /var/log/host2; };

log { source src; filter f_sendmail; destination sendmail; };
log { source src; filter f_host1; destination host1; };
log { source src; filter f_host2; destination host2; };

7.4 Références

Syslog-ng est un produit de BalaBit Computing, et est distribué en GPL. Si vous êtes interessé, allez visiter le site : http://www.balabit.hu

Copyright 1999, Balazs Sheidler. Paru dans le numéro 43 de la Linux Gazette de Juillet/Aout 1999.

Traduction française de David Le Roy <david.leroy@free.fr>.


Next Previous Contents