Monitoring efficace avec Mon - Alertes via mail
Voici un petit logiciel bien sympa que je viens de découvrir. Il permet de faire du monitoring ("surveillance" en français) efficace sur différents services sur différents serveurs.
Son installation sous debian et sa configuration sont très simples une fois le principe de configuration compris !
Nous allons dans ce qui suit surveiller le serveur B, à partir du serveur A.
I - Installation du paquet sur le serveur A
Via aptitude :
aptitude install mon
II - Configuration sur le serveur A
Le fichier de configuration est : /etc/mon/mon.cf
Alors commençons par le début :
alertdir = /usr/lib/mon/alert.d
ici se trouvent les templates pour le mail (par exemple) "type" envoyé pour les alertes
mondir = /usr/lib/mon/mon.d
se trouvent ici les codes sources des alertes (allez y jetter un oeil !)
logdir = /var/log/mon
le repertoire de log
Maintenant, nous devons créer un "host" (le serveur à surveiller) que nous allons appeler TESTB avec pour ip : 192.168.1.5
hostgroup TESTB 192.168.1.5
La configuration de cet host commence ici, nous enchainons deux services, ping du serveur + vérification du service FTP du serveur distant :
watch TESTB service ping interval 15s monitor ping.monitor period wd {Mon-Sun} alert mail.alert -S "The serve is down !" VOTRE_EMAIL upalert mail.alert -S "The server is now up !" VOTRE_EMAIL alert hb_standby alertafter 5s alertevery 10m service ftp interval 30s # intervalle entre chaque vérification monitor ftp.monitor -p 21 TESTB.org # le port + l'adresse du FTP period wd {Mon-Sun} # surveillance du lundi au dimanche alert mail.alert -S "The FTP server is down !" VOTRE_EMAIL, VOTRE_SECOND_EMAIL alert hb_takeover upalert mail.alert -S "The FTP server is now up" VOTRE_EMAIL, VOTRE_SECOND_EMAIL alertafter 5s # alerter 5 secondes après la vérification (que le service soit devenu down ou up) alertevery 10m # alerter toutes les 10 minutes si le service est down
Attention, j'ai eu le droit à un problème de taille : les services que j'ai mis dans le fichier de conf n'étaient pas surveillés pour la bonne raison qu'il ne faut apparemment pas séparer les lignes (il faut tout coller, comme dans mon exemple). D'ailleurs, un résumé du fichier de configuration est disponible là.
Mon fichier de configuration est ici plus que court, mais libre à vous d'ajouter des services en allant jetter un coup d'oeil dans le dossier "/usr/lib/mon/mon.d" ! D'ailleurs pour ce qui est des alertes, j'ai lu qu'il était peut-être possible de lançer des scripts (un script pour envoyer un sms ?), à approfondir...