NAGIOS I/ Installation ( sur CentOS 6.4 32bit ) Il faut d abord exporter les adresses des proxy ( s il y en a ) : # export ftp_proxy=http://(adresse IP du proxy) : (numéro du port) # export http_proxy=http:// (adresse IP du proxy) : (numéro du port) # export https_proxy=http:// (adresse IP du proxy) : (numéro du port) Il faut installer la commande «wget» qui permet de récupérer le contenu d un serveur web : # yum install wget On récupère ensuite les dépôts nécessaires : # wget http://apt.sw.be/redhat/el6/en/i386/rpmforge/rpms/rpmforge-release- 0.5.3-1.el6.rf.i686.rpm # wget http://mirrors.ircam.fr/pub/fedora/epel/6/i386/epel-release-6-8.noarch.rpm # wget http://mirrors.ircam.fr/pub/ius/stable/redhat/6/i386/ius-release-1.0-11.ius.el6.noarch.rpm # wget rpm -ivh epel-release-6-8.noarch.rpm ius-release-1.0-11.ius.el6.noarch.rpm rpmforge-release-o.5.3-1.el6.rf.i686.rpm On effectue les mise à jour et on vide le cache : # yum ugrade # yum update # yum clean all On installe ensuite le serveur web, le compilateur et php-mysql : # Yum install httpd -> apache # Yum install gcc ->compilateur # Yum install php php-mysql On télécharge les sources de NAGIOS: #wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.1.tar.gz #wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.15/nagiosplugins-1.4.15.tar.gz Il faut créer un utilisateur et un groupe pour NAGIOS: # groupadd -g 6000 nagios # groupadd -g 6001 nagcmd # useradd -u 6000 -g nagios -G nagcmd -d /usr/local/nagios c "Nagios Admin" nagios
Compilation et installation de NAGIOS : # tar zxvf nagios-3.4.1.tar.gz # cd nagios #./configure with-command-group=nagcmd # make all # make install # make install-init # make install-config # make install-commandmode # make install-webconf On sécurise l accès à NAGIOS : Création d un fichier des utilisateurs qui ont accès à NAGIOS et définition du mot de passe : # htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin L utilisateur Nagios devient propriétaire du fichier : # chown nagios:nagcmd /usr/local/nagios/etc/htpasswd.users On ajoute l utilisateur apache au groupe Nagios : # usermod -a -G nagios,nagcmd apache On redémarre le server apache: /etc/init.d/httpd restart Installation des plugins de NAGIOS: # tar zxvf nagios-plugins-1.4.15.tar.gz # cd /tmp/nagios-plugins-1.4.15 #./configure --with-nagios-user=nagios --with-nagios-group=nagios # make # make install # chkconfig --add nagios # chkconfig --level 35 nagios on # chkconfig --add httpd # chkconfig --level 35 httpd on
Installation terminée: Pour se connecter à NAGIOS: Ouvrir le navigateur Taper : http:// (adresse IP de serveur apche)/nagios S authentifier : Cette pages s affiche : Les liens «Home» et «Documentation» fonctionnent bien, mais tous les autres vont afficher une erreur. Cette erreur est liée à SElinux qui a une sécurité trop élevée et qui bloque l accès à ces pages, il faut donc le désactiver : # vi /etc/sysconfig/selinux
Passer la variable SELINUX en disabled. Maintenant tout fonctionne. II/ Ajout d un hôte sur NAGIOS : Aller dans le fichier «localhost.cfg» ( usr/local/nagios/etc/object) # vi localhost.cfg pour ajouter un nouvel hôte il faut taper les lignes suivantes : define host{ use linux-server host_name ( nom qu on veut ) alias ( ce que l on veut ) address (adresse IP de la machine que l on veut superviser ) }
III/ Ajout d une commande : Aller dans le fichier «commands.cfg» (/usr/local/nagios/etc/object) # vi commands.cfg Pour ajouter une nouvelle commande il faut taper les lignes suivantes : define command{ command_name (donner le nom que l on veut à la commande) command_line ( mettre le chemin vers le script à utiliser avec les arguments qu il faut passer ) } IV/ Ajouter un hôte à un groupe : Aller dans le fichier «localhost.cfg» ( usr/local/nagios/etc/object ) # vi localhost.cfg Pour ajouter un hôte à un groupe, il faut mettre une virgule «,» après le dernier nom de la ligne «members» et écrire le nom de l hôte que l on veut ajouter sans mettre d espace entre celui-ci et la virgule.
V/ Ajout d un service : Aller dans le fichier «localhost.cfg» ( usr/local/nagios/etc/object) # vi localhost.cfg Pour ajouter un nouveau service : define service{ use host_name local-service (nom de ou des hôtes que l on veut superviser) service_description ( donner un nom à ce service ) check_command (mettre le chemin vers un script ou utiliser une commande déjà prédéfinie ) } VI/ Appeler un script dans NAGIOS et passage d arguments : Pour pouvoir appeler un script dans NAGIOS il faut tout d abord que ce script soit positionner dans le dossier ( /usr/local/nagios ) ; il faut nommer nagios propriétaire du fichier et lui donner les bons droits d accès : Faire nagios propriétaire du fichier : chown nagios:nagios (nom du fichier)
donner les bons droits d accès : chmod 777 (nom du fichier) Ensuite il faut créer un hôte pour un serveur : Il faut créer un service : Et ensuite la commande qui utilise le script : Le nom qui est écrit dans «service_description» est très important car ce nom est récupéré par le script pour pouvoir trouver un processus bien précis : «$HOSTADRESS» est la variable qui récupère l adresse de l hôte. «$SERVICE_DESCRIPTION» est la variable qui récupère le nom du processus. Ces deux variables sont des arguments
Pour passer des arguments, il faut tout d abord les écrirent lorsqu on écrit le chemin vers le script dans nagios : 1 2 1 et 2 correspondent à la position des arguments dans la ligne, et ceci permet de les appeler dans le script : Variable qui prend la valeur de l argument en première position sur la ligne Variable qui prend la valeur de l argument en deuxième position sur la ligne