Août 29 2008

Centralisation des logs avec Cacti

Publié par à 8:09 sous Linux




J’ai cherché pendant longtemps un bon outil permettant de gérer les messages envoyés vers un serveur central de logs. Logwatch envoie des rapports par email contenant des tonnes de messages, ou alors trop axés sur certaine applications. Les logs ne sont plus passés en revue en général puis oubliés. J’ai ensuite trouvé un module Cacti qui fait exactement ce que je cherchais, rapidement et facilement.
 

Installation

Les étapes d’installation sont clairement décrites sur le forum cacti.
Je devrais mentionner que le module ne supporte que syslog-ng, et non pas syslog.
 

Configuration

J’ai filtré uniquement les messages à en ne gardant que les erreurs et les critiques. Il suffit de modifier la configuration de syslog-ng:

filter f_cacti  { level(error..emerg) and
                        not (facility(mail)
                        or facility(authpriv)
                        or facility(cron)); };

source net {
    udp();
};

destination d_mysql {
    pipe("/tmp/mysql.pipe"
    template("INSERT INTO syslog_incoming (host, facility, priority, date, time, message) VALUES ( '$HOST', '$
FACILITY', '$PRIORITY', '$YEAR-$MONTH-$DAY', '$HOUR:$MIN:$SEC', '$MSG' );\n")
    template-escape(yes)
     );
};

log { source(net); filter(f_cacti); destination(d_mysql); };
log { source(s_sys); filter(f_cacti); destination(d_mysql); };

 
Il est ensuite possible de filtre les logs en utilisant des « patterns », les trier par serveur, criticité ou date, ou recevoir des alertes, comme montré sur la capture d’écran:
 
Syslog plugin for Cacti
 
Un seul regret: Il n’y a pas d’option pour marquer un log comme « En cours de traitement » ou « traité » par exemple.


No responses yet

Comments RSS

Leave a Reply