Je vois sur http://exchange.nagios.org qu'il n'y a pas de plugins pour vérifier si sendmail, xinetd, automount, ypserv, ypbind, mailscanner, McAfee, clamav, samba server et openvpn fonctionnent .
Bien sûr, tous ces programmes devraient être stables, mais ils sont essentiels, donc je voudrais vérifier s'ils fonctionnent.
Question
Existe-t-il un plugin générique pour vérifier des processus spécifiques?
J'utilise le standard NAGIOS check_procs
plugin, avec le -C
flag, montré ici étant invoqué depuis nrpe.cfg
via NRPE:
command[check_spamd]=/usr/lib/nagios/plugins/check_procs -c 1: -w 3: -C spamd
qui avertira s'il ne trouve pas au moins trois processus avec le nom de l'exécutable (sans compter le chemin) spamd
, et qui CRIT s'il n'en trouve pas au moins un.
J'utilise ce script pour vérifier divers processus en cours d'exécution. Vous pouvez modifier ces deux lignes:
PROCLIST_RED="sshd"
PROCLIST_YELLOW="syslogd"
pour changer les processus rouge (critique) et jaune (avertissement).
De plus, ce script vérifie les ports ouverts (état d'écoute). Vous pouvez modifier la ligne:
PORTLIST="22"
J'ai même modifié le script moi-même en définissant une nouvelle variable UDP_PORTLIST
pour vérifier les sockets UDP.
Le plugin "check_procs" est ce que vous voulez, il est disponible sur
http://nagiosplugins.org/man/check_procs
Tous les services qui devraient écouter sur un port TCP port peuvent être vérifiés avec check_tcp
. En effectuant la vérification de connexion en externe, vous vérifiez que le pare-feu autorise les connexions via ce port en plus de vérifier que le processus s'exécute et d'écouter sur le bon port.
Le check_tcp
check ne vous dira pas si quelqu'un a démarré Postfix au lieu de sendmail ou configuré nginx pour écouter sur le port 80 au lieu d'Apache mais check_procs
(que les autres ont déjà mentionné) le fera.
En règle générale, il est préférable de se connecter réellement à un service réseau et de voir s'il répond comme prévu, au lieu d'utiliser simplement check_tcp ou de vérifier si le service est en cours d'exécution.
Dans le cas de Samba, ClamAV, Sendmail, etc., il existe des plugins spécifiques au service pour les vérifier (même s'ils sont cochés sur "localhost" via NRPE) qui seront plus précis que de simplement vérifier si le port est ouvert. Évidemment, vérifier le port tcp et/ou utiliser check_procs est mieux que rien.
Consultez l'article ci-dessous. Il explique parfaitement comment surveiller des processus spécifiques.
https://support.nagios.com/kb/article/process-checks-782.html