Suite à l’article Shinken 2 procédure d’installation il nous faut intégrer à notre environnement de supervision, un outil de monitoring. PNP4Nagios permet de récupérer les valeurs de performance des plugins et de les injecter dans des bases rrdtool puis de créer des graphiques via une interface en PHP. Voir la page consacrée à PNP4nagios sur le site Wiki Monitoring-FR.org.
Cette installation nous permettra d’avoir les graphiques de performances de nos différents plugins directement dans l’interface de Shinken :
Capture de PNP4Nagios dans l’interface de Shinken
Installation :
Les prérequis :
Il nous faut avant tout installer les prérequis. Depuis sa version 2, Shinken utilise son propre moteur d’interface web, apache et php ne sont donc pas encore installés.
1 | apt-get install apache2 php5 libapache2-mod-php5 rrdtool librrds-perl php5-gd -y |
Compilation de Pnp4Nagios :
Dans un premier temps, en root, dans le dossier de votre choix, on se procure les sources :
1 2 3 |
wget http://downloads.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.24.tar.gz tar -xzf pnp4nagios-0.6.24.tar.gz cd pnp4nagios-0.6.24/ |
Lors de l’étape de configuration de la compilation, on indique que l’on veut que PNP s’authentifie avec l’utilisateur Shinken :
1 | ./configure –with-nagios-user=shinken –with-nagios-group=shinken |
Vérifier le résultat de la commande à la fin :
General Options:
————————- ——————-
Nagios user/group: shinken shinken
Install directory: /usr/local/pnp4nagios
HTML Dir: /usr/local/pnp4nagios/share
Config Dir: /usr/local/pnp4nagios/etc
Location of rrdtool binary: /usr/bin/rrdtool Version 1.4.7
RRDs Perl Modules: FOUND (Version 1.4007)
RRD Files stored in: /usr/local/pnp4nagios/var/perfdata
process_perfdata.pl Logfile: /usr/local/pnp4nagios/var/perfdata.log
Perfdata files (NPCD) stored in: /usr/local/pnp4nagios/var/spool
Web Interface Options:
————————- ——————-
HTML URL: http://localhost/pnp4nagios
Apache Config File: /etc/apache2/conf.d/pnp4nagios.conf
Il ne reste plus qu’à compiler et installer.
D’abord la compilation des binaires :
1 | make all |
Puis l’installation de tout ce qu’il faut :
1 | make fullinstall |
Configuration de l’interface Web
Le fichier de configuration d’Apache fourni par défaut utilise l’authentification de Nagios. l’UI de Shinken n’utilise pas Apache, ces directives doivent donc être adaptées en conséquence. Pour simplement supprimer l’authentification, commenter les lignes suivantes dans le fichier de configuration d’Apache /etc/apache2/conf.d/pnp4nagios.conf :
1 2 3 4 |
# AuthName « Nagios Access » # AuthType Basic # AuthUserFile /usr/local/nagios/etc/htpasswd.users # Require valid-user |
Si le fichier n’existe pas (Debian 8), le modifier à cet emplacement : /etc/httpd/conf.d/pnp4nagios.conf et le copier dans le dossier sites-available (voir dans les commentaires, merci Lionel).
cp -a /etc/httpd/conf.d/pnp4nagios.conf /etc/apache2/sites-available/
a2ensite pnp4nagios
On active également le mode rewrite d’Apache qui est utilisé par PNP et on redémarre le service Apache :
1 2 |
a2enmod rewrite service apache2 restart |
On peut maintenant vérifier que tout est correctement installé en se rendant sur l’interface, on doit avoir que du vert : http://LESERVEUR/pnp4nagios
Si vous avez l’erreur 403 « You don’t have permission to access /pnp4nagios on this server », il faut modifier la ligne « Require all denied » par « Require all granted » dans le fichier /etc/apache2/apache2.conf (voir dans les commentaires, merci Romain). Puis
service apache2 restart
Il faut maintenant supprimer ou renommer le fichier install.php :
1 | mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/install.php.old |
Si on retourne maintenant sur l’interface de PNP, on a le message d’erreur suivant : « perfdata directory « /usr/local/pnp4nagios/var/perfdata/ » is empty ». C’est normal, il faut maintenant installer le module Shinken qui va transmettre les données à PNP.
Installation des modules Shinken :
On s’authentifie avec notre utilisateur Shinken puis on installe les modules requis :
1 2 3 |
su shinken shinken install npcdmod shinken install ui-pnp |
On active le module npcmod dans le fichier de configuration du broker /etc/shinken/brokers/broker-master.cfg :
1 | modules webui,npcdmod |
On ajoute la prise en charge du module ui-pnp dans le fichier de configuration de l’interface de Shiken /etc/shinken/modules/webui.cfg :
1 | modules auth-cfg-password,SQLitedb,ui-pnp |
On revient en root et on redémarre les services :
1 2 |
/etc/init.d/npcd restart /etc/init.d/shinken restart |
Vérifications :
On retourne sur l’interface web de PNP4Nagios et on vérifie que le service fonctionne correctement (http://LESERVEUR/pnp4nagios) .
Si vous avez un message d’erreur comme quoi le répertoire perfdata est vide, attendez quelques minutes, s’il n’y a pas de changement, vérifier la configuration de votre Shinken et le bon fonctionnement des checks.
Interface web de PNP4Nagios
On peut maintenant vérifier que l’intégration à Shinken fonctionne correctement :
PNP4Nagios intégré à l’interface de Shinken
Si cela ne fonctionne pas, il se peut que le problème vienne d’une mauvaise résolution du nom de machine. Vous pouvez modifier le fichier /etc/shinken/modules/ui-pnp.cfg et changer l’URL en remplaçant le nom de machine par l’IP.
Un commentaire
Pingback : Shinken 2 procédure d’installation |