Centraliser ses logs avec Syslog-ng
[30 mn de lecture - paru le 10/7/2005 11:11:11 AM - Public : Débutant]
|
   
|
Auteur
6 Envoi de mails automatique avec Perl
6.1 Ecriture du script Perl
Afin d'envoyer des mails avec Perl, vous devez préalablement télécharger le module MIME::Lite disponible sur www.cpan.org :
http://search.cpan.org/CPAN/authors/id/Y/YV/YVES/MIME-Lite-3.01.tar.gz
Installation du module Mime Lite
$ gzip –dc MIME-Lite-3.01.tar.gz | tar –xof $ cd MIME-Lite-3.01 # perl Makefile.pl # make # make install
|
Nous pouvons à présent utiliser ce module afin d'écrire notre script permettant d'envoyer un mail.
Script Perl log_mailsend.pl permettant d’envoyer des mails contenant le log
#!/usr/bin/perl # script log_mailsend.pl
use MIME::Lite;
while (<>) {
# $_ est le contenu du Log my $body = "Mail de Syslog-ng $_ "; my $msg = MIME::Lite->new ( From =>'syslog-ng@societe.fr', To =>'flavien.salsmann@societe.fr', Subject =>'Avertissement Syslog-NG', Type =>'multipart/related');
$msg -> attach (Type => 'text/html', Data => qq {$body});
# Ici, 'imap' est le serveur qui va envoyer les mails MIME::Lite->send('smtp','imap', Timeout=>60); $msg -> send or die "Impossible d'envoyer le mail!";
}
|
6.2 Utilisation du script Perl
Il ne nous reste plus qu'à utiliser ce script au sein de la section
"destination" de votre fichier de configuration syslog-ng.conf .
Exemple d’appel d’un script Perl au sein de Syslog-ng (syslog-ng.conf)
# Destination permettant d’envoyer des mails via Perl destination d_mail { program("perl /scripts/log_mailsend.pl $MSG "); };
|
Vous pourrez ainsi être averti lors de la réception de certaines trames
logs critiques, à l'image d'une authentification root erronée sur une
machine sensible.
Vous pouvez considérer votre configuration de base terminée, à vous de jouer à présent!
|