Où sommes nous ?

Notification a distance de Nagios

Par NSCA

Il y a beaucoup de tutoriels sur Nagios, que ce soit en français ou en anglais ... mais quasiment rien de vraiment complet sur le plugin NSCA, du coté serveur comme du coté client.
J'espère que ce billet évitera à ceux qui veulent l'installer de perdre leur temps comme je l'ai fait.

Monitoring Actif et monitoring Passif

Actif

Dans le cas d'un monitoring Actif, c'est Nagios lui-même qui ordonne le teste, que ce soit sur la machine sur lequel il fonctionne ou sur une machine distance. C'est le mode le plus utilisé, car le plus simple à mettre en oeuvre, à contrôler et permet le plus de flexibilité.

Passif

Avec un monitoring Passif, c'est l'objet surveillé qui envoie les informations quant bon lui semble.
Ça peut être très utile par exemple pour

Installation côté serveur

Autoriser les commandes externes

La première chose à faire est d'activer la vérification des commandes externes dans Nagios, ce qui consiste en :

/etc/init.d/nagios3 stop
dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
/etc/init.d/nagios3 start

Source : /usr/share/doc/nagios3-common/README.Debian

Dans le fichier /etc/nagios3/nagios.cfg, il faut vérifier ou modifier les lignes suivantes :

check_external_commands=1
accept_passive_service_checks=1

Le démon NSCA

Par défaut, ce plugin n'est pas installé car il appartient à son propre package ... qu'il nous faut bien sûr installer :

apt-get install nsca

La configuration se fait par le fichier /etc/nsca.cfg. J'ai laissé les options par défaut sauf évidement le mot de passe et le port ... par mesure de sécurité (ce qui fait que j'ai créé une entrée lfnsca dans /etc/services).

inetd

Comme souvent, NSCA peut fonctionner comme un démon, c'est-à-dire tourner en tâche de fond. L'autre solution, que j'ai choisi, consiste à le lancer à la demande par inetd. Il faut ajouter dans /etc/inetd.conf la ligne :

lfnsca	stream	tcp	nowait	nagios	/usr/sbin/nsca -c /etc/nsca.cfg --inetd

et redémarrer par

/etc/init.d/openbsd-inetd restart

et on voit que le port est maintenant occupé :

# lsof -i tcp:lfnsca
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
inetd 31207 root 5u IPv4 1597226 0t0 TCP *:lfnsca (LISTEN)

ou en temps que deamon

Pour une raison que j'ignore, ça ne marche pas chez moi avec inetd. La solution est alors de lancer nsca directement en temps que deamon.

update-rc.d -f nsca remove
update-rc.d nsca defaults

Installation côté client

installation du client NSCA

Comme sur le serveur, il faut installer le package NSCA qui contient aussi le script nsca_send qui nous servira à envoyer le résultat de nos tests à Nagios.

apt-get install nsca

et de quelques scripts

Plutôt que s'embêter à tous les recréer, autant utiliser ceux qui ont déjà été fait pour Nagios ... ça tombe bien, eux aussi font partie d'un package dédié.

apt-get install nagios-plugins

Ces scripts se trouvent dans /usr/lib/nagios/plugins/


Visitez :
La liste de nos voyages
Nos sorties Ski et rando
Copyright Laurent Faillie 2001-2024
N'oubliez pas d'entrer le mot de passe pour voir aussi les photos perso.
Contactez moi si vous souhaitez réutiliser ces photos et pour les obtenir avec une plus grande résolution.
Visites durant les 7 derniers jours Nombre de visites au total.

Vous pouvez laissez un commentaire sur cette page.