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
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 :
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.| 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 |
# 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 :
Et voilà ! NagVis est fonctionnel !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;
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 !
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/