Question Plug-in Nagios générique pour vérifier si un processus / service spécifique est en cours d'exécution?


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, serveur samba et openvpn sont en cours d'exécution.

Bien sûr, tous ces programmes devraient être stables, mais ils sont critiques, je voudrais donc vérifier s’ils fonctionnent.

Question

Existe-t-il un plugin générique pour vérifier des processus spécifiques?


12
2018-05-10 10:25


origine




Réponses:


J'utilise le standard NAGIOS check_procs plugin, avec le -C drapeau, montré ici étant invoqué de 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.


24
2018-05-10 10:39





j'utilise ce script pour vérifier divers processus en cours d'exécution. Vous pouvez éditer ces deux lignes:

PROCLIST_RED="sshd"
PROCLIST_YELLOW="syslogd"

pour changer les processus rouges (critiques) et jaunes (avertissements).

En outre, ce script vérifie les ports ouverts (état d'écoute). Vous pouvez éditer 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.


2
2018-05-10 10:32



Le lien de script est mort - phansen
Pas sûr si ce est le bon script, mais au moins le nom est le même. Peut-être que cela aide. - gf_


Le plugin "check_procs" est ce que vous voulez, il est disponible sur
http://nagiosplugins.org/man/check_procs


2
2018-05-10 10:40





Tous les services qui doivent écouter sur un port TCP peuvent être vérifiés avec check_tcp. En effectuant la vérification de la connexion en externe, vous vérifiez que le pare-feu autorise les connexions via ce port, en plus de vérifier que le processus est en cours d'exécution et qu'il écoute sur le port correct.

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 déjà mentionnés) le feront.


1
2018-05-10 11:39



C'est intéressant! Je vois que le plugin nécessite une chaîne send / expect. Comment puis-je les trouver, par exemple, sendmail et openvpn? - Sandra
Le fait-il exiger la chaîne send / expect? Vous pouvez trouver ce qu’il faut envoyer pour sendmail en consultant le SMTP spec ou en se connectant avec telnet localhost 25 et essayez vous-même. OpenVPN pourrait être un peu plus délicat car il veut être crypté. Cependant, envoyer des sottises et recevoir un message d'erreur pourrait être suffisant pour vos besoins. - Ladadadada
UPS. J'ai essayé le check_udp au lieu de check_tcp. Utiliser telnet pour obtenir l'envoi / l'attente deviendra certainement utile. - Sandra


En règle générale, il est préférable de se connecter à 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 vérifier ceux-ci (même s'ils sont cochés sur "localhost" via NRPE) qui seront plus précis que la simple vérification du port ouvert. De toute évidence, vérifier le port TCP et / ou utiliser check_procs est préférable à rien.


1
2018-05-15 15:56