Introduction

L'objectif de ce billet est de présenter l'installation de la version 4.0.8 de nagios sur CentOS version 6.6. Il existe déjà un billet datant de 2010 ( une éternité ) sur nagios 3 sous Debian. La procédure est assez similaire au détail des packages près.

Installation de CentOS 6

Mise en place d'une configuration minimale de CentOS ( package Core ) et services minimaux :

  • réseau
  • ssh
  • rsyslog
for i in $(chkconfig --list | cut -f1);do chkconfig --del $i;done
chkconfig network on
chkconfig sshd on
chkconfig rsyslog on

Important : désactiver SELinux, sinon l'interface Web de nagios ne répond pas correctement. Positionner à disable la clause SELINUX dans le fichier /etc/selinux/config.

Packages complémentaires

Installation du serveur Web apache + PHP et du compilateur.

yum -y install httpd php
yum -y install gcc

Pour les fonctions graphiques les composant gd sont nécessaires

yum -y install gd gd-devel

Installation de packages utiles

yum -y install vim openssh-clients wget

Sources Nagios

Récupérer les archives tar sur le site de Nagios.

  • nagios-4.0.8.tar.gz
  • nagios-plugins-2.0.3.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz
wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz

Les décompresser

tar -xvzf nagios-4.0.8.tar.gz
tar -xvzf nagios-plugins-2.0.3.tar.gz

Création des comptes Linux

Il faut des comptes dédiés au fonctionnement de Nagios

useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd apache

Donner un mot de passe au user nagios, commande passwd.

Compilation de Nagios

Se positionner dans le répertoire des sources et lancer la commande configure

cd ~/nagios-4.0.8
./configure --with-command-group=nagcmd

Si tout est OK, lancer la compilation

make all

Installation des binaires, des scripts de démarrage, des fichiers de configuration de base ainsi que l'affectation des droits as-hoc.

make install
make install-init
make install-config
make install-commandmode

Interface Web

L'interface Nagios utilise un serveur Web, ici Apache. Mise en place de la confifuration

make install-webconf

Rappel : bien verifier que SELinux est désactivée ou Permissive ( getenforce -> Permissive )

Affecter un mot de passe pour la connexion à l'interface Web. Le login est nagiosadmin

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Dans l'exemple le mot de passe de nagiosadmin est root01

Démarrer le serveur Apache et l'activer au boot.

service httpd start
chkconfig httpd on

Compilation des plugins standards

Se positionner dans le répertoire des soures des plugins et les compiler.

cd ~/nagios-plugins-2.0.3
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install

Fin d'installation

Vérifier la configuration correcte de nagios

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Lancer nagios et l'activer au boot

service nagios start
chkconfig --add nagios
chkconfig nagios on

Se connecter à l'interface Web : http://serveurnagios/nagios et renseigner la connexion : nagiosadmin/root01.

Warning sur processus HTTP : Nagios par défaut recherche une page index.html, or CentOS n'installe pas de page par défaut. Pour éliminer ce warning passer les commandes suivantes :

touch /var/www/html/index.html
service httpd restart
service nagios restart

Conclusion

Il ne reste plus qu'à configurer Nagios, mais c'est une autre tâche.