Installation de NagVis sur CentOS

Aujourd'hui, je vous propose d'installer NagVis 1.6 ! Cette procédure suit celle précédemment rédigée : Installation de Nagios dur CentOS

NagVis_accueil

Installation des prérequis

Comme d'habitude, on installe les paquets qui nous manquent, j'avais déjà installer le dépôt de RPMForge, si besoin, voici la procédure : http://wiki.centos.org/AdditionalResources/Repositories/RPMForge/#head-5aabf02717d5b6b12d47edbc5811404998926a1b !

$ su -

# yum install php php-mysql
# yum install graphviz rsync

Et voilà,passons à l'installation de NagVis.

Installation de NagVis

Nagios étant initialement installé dans /usr/local/nagios, nous allons continuer de mettre les autres composants à coté !

# cd /usr/local/
# wget http://downloads.sourceforge.net/project/nagvis/NagVis%201.6/nagvis-1.6.6.tar.gz?r=http%3A%2F%2Fwww.nagvis.org%2Fdownloads&ts=1342001584&use_mirror=kent

Une fois téléchargé, on décompresse l'archive ( NagVis ) :


# tar xvfz nagvis-1.6.6.tar.gz
# mv nagvis-1.6.6 nagvis

Nous nous retrouvons avec Nagvis, prêt à être compilé dans /usr/local/nagvis/ !

Configuration de NagVis

Attention, c'est ici que ça devient extrêmement technique ^^ ! Il faut juste suivre les questions du script en donnant le chemin de Nagios (/usr/local/nagios) et de bien demander de modifier les fichiers de configuration de Nagios ainsi que de modifier la configuration d'Apache.

# cd nagvis
# ./install.sh

Vous devriez avoir un résultat du genre :

| Installation complete                                                                                                                                             |
|                                                                                                                                                                               |
| You can safely remove this source directory.                                                                                                          |
|                                                                                                                                                                               |
| For later update/upgrade you may use this command to have a faster update:                                                    |
| ./install.sh -n /usr/local/nagios -p /usr/local/nagvis -b ndo2db -u apache -g apache -w /etc/httpd/conf.d -a y         |
|                                                                                                                                                                               |
| What to do next?                                                                                                                                                    |
| - Read the documentation                                                                                                                                      |
| - Maybe you want to edit the main configuration file?                                                                                             |
|   Its location is: /usr/local/nagvis/etc/nagvis.ini.php                                                                                                |
| - Configure NagVis via browser                                                                                                                               |
|   <http://localhost/nagvis/config.php>                                                                                                                   |
| - Initial admin credentials:                                                                                                                                      |
|     Username: admin                                                                                                                                               |
|     Password: admin                                                                                                                                                |   

En ce qui me concerne, j'ai dû modifier directement dans le fichier de configuration de NagVis, les infos pour attaquer la base de données de Nagios alimentée par NDO.

# vi /usr/local/nagvis/etc/nagvis.ini.php

Voici les infos que j'ai modifié (retrouvée dans le fichier ndo2db.cfg) :

;statushost=""
; hostname for NDO-db
dbhost="momn_nom_de_serveur"
; portname for NDO-db
;dbport=3306
; database name for NDO-db
;dbname="nagios"
; username for NDO-db
dbuser="nagios"
; password for NDO-db
dbpass="nagios"
; prefix for tables in NDO-db
dbprefix="npc_"
; instance name for tables in NDO-db
;dbinstancename="default"
; maximum delay of the NDO Database in seconds
;maxtimewithoutupdate=180
; path to the cgi-bin of this backend
;htmlcgi="/nagios/cgi-bin"


Voilà, à priori, après avoir paramétré via la page http://localhost/nagvis/config.php (et notamment définir NDO comme plugin BDD), une modification des droits pour l'utilisateur nagios est nécessaire, puis redémarrage d'Apache et c'est bon !

# chown -Rf nagios:nagios /usr/local/nagvis/
# /etc/init.d/httpd restart

J'ai cependant eu un problème, mes tables alimentées par NDO, n'étaient pas confirme à ce qu'attendait NagVis ...

Il suffit donc d'exécuter via la commande $ mysql -u nagios -pnagios sur les tables de ndo :

ALTER TABLE npc_eventhandlers ADD long_output TEXT NOT NULL after output;
ALTER TABLE npc_hostchecks ADD long_output TEXT NOT NULL after output;
ALTER TABLE npc_hoststatus ADD long_output TEXT NOT NULL after output;
ALTER TABLE npc_notifications ADD long_output TEXT NOT NULL after output;
ALTER TABLE npc_servicechecks ADD long_output TEXT NOT NULL after output;
ALTER TABLE npc_servicestatus ADD long_output TEXT NOT NULL after output;
ALTER TABLE npc_statehistory ADD long_output TEXT NOT NULL after output;
ALTER TABLE npc_systemcommands ADD long_output TEXT NOT NULL after output;

Et voilà ! NagVis est fonctionnel !

En ce qui me concerne, j'ai voulu avoir accès à NagVis depuis l'interface de Nagios (modifiée avec le thème Vautour). Pour cela, un peu de php/html de base afin de modifier les fichiers présent dans /usr/local/nagios/share/ et notamment le menu.html ;)

Seul hic, comment utiliser une même authentification ?

Authentification Nagios / NagVis

Via Apache, comme pour Nagios !

# vi /etc/httpd/conf.d/nagvis.cnf

On ajoute ceci :

AuthName "NagVis Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user

...

SetEnv REMOTE_USER guest
RequestHeader set Cookie "nagvis_session=1"

On recharge la configuration Apache :

# /etc/init.d/httpd reload

Et le tour est joué ! (par défaut on indique que tout utilisateur utilise le login guest, si vous créez l'utilisateur dans NagVis, les droits lui seront alors appliqués !

NagVis_ex1

Aller plus loin ...

Au cas où, on peut ajouter des icônes, des gadgets, des map personnalisées, etc ... Donc voici quelques liens intéressants que je complèterai si besoin :

- Pack d'icônes : http://exchange.nagvis.org/exchange/func-finishdown/9/

Vus : 5876
Publié par Slobberbone : 81