Nagios Plugins 2.0.x sur Debian
Après l’installation de Nagios Core, cet article présente maintenant l’installation de Nagios Plugins. En effet, Nagios ne dispose pas vraiment de mécanismes internes pour vérifier l’état d’un équipement, service, protocole, etc. A la place, il se repose sur des plugins afin d’exécuter les contrôles, récupérer les informations et prendre les mesures nécessaires (déclenchements de notifications, d’actions, etc.). Il est toujours possible de scripter ses propres plugins, mais le package Nagios Plugins en contient une cinquantaine qui permettront de bien démarrer.
Préparer la Compilation de Nagios Plugins
On commence par récupérer la dernière version de Nagios Plugins. Il s’agit à l’heure actuelle de la version 2.0.3, là où Debian 7.5 propose la 1.4.16.
1 2 3 4 5 6 7 8 9 10 11 | root@server:~# wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz --2014-06-28 19:02:51-- http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz Resolving nagios-plugins.org (nagios-plugins.org)... 72.14.186.43 Connecting to nagios-plugins.org (nagios-plugins.org)|72.14.186.43|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 2659772 (2,5M) [application/x-gzip] Saving to: `nagios-plugins-2.0.3.tar.gz' 100%[===================================================================================================================>] 2 659 772 1,10M/s in 2,3s 2014-06-28 19:02:54 (1,10 MB/s) - `nagios-plugins-2.0.3.tar.gz' saved [2659772/2659772] |
Et on configure maintenant les options de compilations.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | root@server:~# tar zxvf nagios-plugins-2.0.3.tar.gz root@server:~# cd ./nagios-plugins-2.0.3/ root@server:~# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-perl-modules --enable-libtap [...] config.status: creating po/Makefile --with-apt-get-command: /usr/bin/apt-get --with-ping6-command: /bin/ping6 -n -U -w %d -c %d %s --with-ping-command: /bin/ping -n -U -w %d -c %d %s --with-ipv6: yes --with-mysql: /usr/bin/mysql_config --with-openssl: yes --with-gnutls: no --enable-extra-opts: yes --with-perl: /usr/bin/perl --enable-perl-modules: yes --with-cgiurl: /nagios/cgi-bin --with-trusted-path: /bin:/sbin:/usr/bin:/usr/sbin --enable-libtap: yes |
Quelques Explications sur les Options
–with-mysql: no
Si ce paramètre reste à no, il manque les librairies mysql. Une fois celles-ci installées, le script devrait maintenant les trouver automatiquement.
1 | root@server:~/nagios-plugins-2.0.3# apt-get install libmysqlclient-dev |
–enable-perl-modules
Nagios::Plugin et Nagios::Plugin::* sont une famille de modules perl utilisés pour l’écriture de plugins Nagios. Autant ne pas s’en passer.
–enable-libtap
La librairie libtap est utilisée par Nagios pour tester les routines en C.
–with-openssl ou –with-gnutls
Pour utiliser le ssl, il est nécessaire d’avoir une des librairies OpenSSL ou GnuTLS. Sous debian, un simple apt-get install openssl
a déjà suffi à installer la librairie libssl1.0.0 autant dire qu’elle est « quasi » installée par défaut.
Plus d’information sur chaque option est disponible avec la commande suivante :
1 2 3 4 5 | root@vps62429:~/nagios-plugins-2.0.3# ./configure --help `configure' configures nagios-plugins 2.0.3 to adapt to many kinds of systems. Usage: ./configure [OPTION]... [VAR=VALUE]... [...] |
Mais de manière générale, il est difficile de trouver de la documentation détaillée sur Nagios Plugin. Le mieux que j’ai pu obtenir était la FAQ sur le site officiel de Nagios Plugins. La librairie officielle Nagios dispose d’un chapitre spécifique mais accessible avec une souscription annuelle de $199 …
Compilation de Nagios Plugins
Il ne reste plus maintenant qu’à compiler !
1 2 | root@server:~/nagios-plugins-2.0.3# make root@server:~/nagios-plugins-2.0.3# make install |
De retour sur l’interface de Nagios, https://admin-tools.writesthisblog.com/nagios/
dans mon cas, vous devriez maintenant voir disparaître les erreurs du type :
(No output on stdout) stderr: execvp(/usr/local/nagios/libexec/check_ping, …) failed. errno is 2: No such file or directory
Par défaut, seule la supervision du localhost est configurée. Mais maintenant ça marche, et il ne reste plus qu’à définir les hôtes, services, etc. à superviser… au prochain article.