Surveillance d’un postfix sur RHEL4 avec Cacti

Publié le 25 juin 2008 par Crocodanser

Téléchargez Mailgraph-cacti ici

Pré-requis :

  • perl doit être installé sur la machine postfix.
  • La machine postfix doit posséder un serveur snmp.
  • elle doit être accessible en snmp (udp 161) par la machine où se trouve cacti.

packages perl :

  • File::Tail
  • Getopt::Long

packages linux :

  • rrdtool-1.0.50-3.el4.rf.i386.rpm
  • perl-rrdtool-1.0.50-3.el4.rf.i386.rpm

Configuration :

Sur le serveur Postfix :

Transferer les fichiers sur le serveur :

  • mailgraph.pl
  • postfixstats.sh
  • mailgraph-init

placer mailgraph.pl dans /usr/local/sbin

donner les droits d’execution au fichier

chmod 755 mailgraph.pl

placer postfixstats.sh dans /usr/local/bin et donnez lui les droits d’éxécution

placer mailgraph-init dans /etc/init.d et donnez lui les droits d’éxécution

modifier le fichier /etc/init.d/mailgraph-init

remplacez :

MAILGRAPH_PL=/usr/bin/mailgraph

par :

MAILGRAPH_PL=/usr/local/sbin/mailgraph.pl

Créer les fichiers de statistique qui servirons à comptabiliser les statistiques :

touch /var/tmp/mailreceived touch /var/tmp/mailsent touch /var/tmp/mailrejected touch /var/tmp/mailbounced touch /var/tmp/mailspam touch /var/tmp/mailvirus

Configurer le fichier /etc/snmpd/snmpd.conf en ajoutant à la fin du fichier :

exec mailcount /usr/local/bin/postfixstats.sh

Redémarrer le service snmpd :

/etc/init.d/snmpd restart

Lancer le service mailgraph.pl

service mailgraph-init start

vérifiez que les fichiers de stats se remplissent bien :

cat /var/tmp/mail*

[root@dns1 bin]# cat /var/tmp/mail*
0
45
0
31
0
0

vérifiez que le script /usr/local/bin/postfixstats.sh fonctionne bien :

[root@dns1 bin]# /usr/local/bin/postfixstats.sh
sent:7 received:10 bounced:1 rejected:0 spam:0 virus:0

Une fois que tous les tests ont été effectué avec succès, nous pouvons passer à la configuration du serveur Cacti

Sur le serveur Cacti

Transferer le fichier postfixcheck.pl sur le serveur cacti puis le placer dans son répertoire scripts. Attribuez lui les droits d’éxécution et changez le propriétaire et le groupe en fonction de l’utilisateur cacti.

Pour moi, l’utilisateur est apache :

chmod 755 postfixcheck.pl

chown apache.apache postfixcheck.pl

[root@admin2 scripts]# ll post*
-rwxr-xr-x  1 apache apache 2052 Dec 28  2005 postfixcheck.pl

testez que la commande fonctionne :

./postfixcheck.pl 192.168.0.1 1 public

192.168.0.1 = adresse ip du serveur postfix

1 = version snmp

public = communauté snmp

[root@cacti scripts]# ./postfixcheck.pl 192.168.0.1 1 public
sent:9 received:15 bounced:1 rejected:0 spam:0 virus:0

Configuration Cacti

Importez le template (xml) dans cacti

  

Créer graph correspondant à votre host postfix et voilà.