Rechercher dans ce blog

jeudi 3 novembre 2016

Installation Nagios V3.5.1 sur CentOS 6.5


Dans ce post, nous allons mettre en place l'outil de supervision Nagios en décrivant toutes les étapes nécessaires. Par la suite, nous allons le configurer pour qu'il puisse superviser les machines Windows ainsi que les machines Linux, configurer aussi les plugins avec lesquelles nous pouvons superviser des imprimantes et des téléphones IP.

Après avoir installé CentOS 6.5 sur une VM ou bien un serveur physique, vous pouvez commencer l'installation. Je vous conseille d'utiliser WinSCP et Putty, ça va faciliter votre mission.

1/ Installation :

-Installer les paquets nécessaires :
#yum install httpd gcc glibc glibc-common gd gd-devel php
- Créer un compte d'utilisateur "nagios" et un groupe "nagcmd" : 
#useradd -m nagios
#groupadd nagcmd
-Affecter l'utilisateur "nagios et "apache" au même groupe créé "nagcmd" :
#usermod -a -G nagcmd nagios
#usermod -a -G nagcmd apache
-Créer un répertoire pour stocker les fichiers d'installation de Nagios : 
#mkdir /opt/nagios
-Procéder au téléchargement de nagios et nagios-plugins depuis ce lien : 
NB : La version de nagios-plugins utilisée dans ce tuto est 2.0.3.
-Extraire les fichiers : 
#cd /opt/Nagios
#tar xzf nagios-3.5.1.tar.gz
#cd nagios
-Compilation et configuration de nagios : 
#./configure --with-command-group=nagcmd
#make all
-Compiler les fichiers binaires, init scripts, les fichiers de config:
#make install
#make install-init
#make install-config
#make install-commandmode
-Nagios est maintenant installé dans le répertoire /usr/local/nagios/
-Installer l’interface web de Nagios:
#make install-webconf
-Nous allons créer maintenant l'utilisateur avec lequel on va se connecter à l'interface web de nagios:
#htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
L’exécution de cette commande nous demande de taper un mot de passe pour l’utilisateur
«nagiosadmin», il faut bien se souvenir de ce mot de passe pour pouvoir se connecter
à l’interface web de nagios. Dans notre cas, on l’a accordé « nagiosadmin ».
-Redémarrer Apache:
#service httpd restart
2/ Installation de Nagios-Plugins :
-Extraction des fichiers :
#cd /opt/Nagios
#tar xzf nagios-plugins-2.0.3.tar.gz
#cd nagios-plugins-2.0.3
-Compilation et Configuration Nagios Plugins :
#./configure --with-nagios-user=nagios --with-nagios-group=nagios
#make
#make install
-Vous devez à cette étape vérifier que l'installation est bien effectuée sans aucune erreur, pour ce faire, exécutez cette commande : 
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
-Pour le bon fonctionnement de Nagios, il faut absolument trouver 0 avertissement et 0 erreurs :






-Activer Nagios pour qu’il se lance au démarrage du système
#chkconfig --add nagios
#chkconfig nagios on
#chkconfig httpd on
-Démarrer Nagios :
#service nagios start
-Étiqueter tous les fichiers nagios par le type "httpd_sys_content_t" pour qu'ils ne soient pas écrits ou modifiés par httpd ou d'autres processus : 
#chcon -R  -t httpd_sys_content_t /usr/local/nagios
Nous pouvons désormais nous connecter à nagios via un navigateur web en écrivant l'adresse IP du serveur suivi par /nagios dans la barre d'adresses : http://adresseIP/nagios/
Si tout va bien, on aura cette interface : 

3/ Supervision des serveurs Windows : 

Pour pouvoir surveiller une machine Windows, il faut y installer le plugin NSClient qui va récupérer les informations sur la RAM, la charge CPU, l'espace disque... etc.


Installation de NSClient++ : 

Vous pouvez télécharger la version la plus récente de NSClient depuis ce lien: https://www.nsclient.org/download/

NB : Version utilisé dans ce Tuto est 0.3.8-x64






















-Entrer l'adresse IP du serveur Nagios et accorder un mot de passe à NSClient pour qu'il puisse communiquer ensuite avec check_nt.




















Après l'installation, ouvrez les services Windows ,faites un clic droit sur le service NSClient++ puis propriétés et cocher "Autoriser le service à interagir avec le bureau" :

























Vous devez éditer par la suite le fichier NSC.ini que vous le trouvez sous C:\Programmes\NSClient++\ et décommenter les lignes encadrées en noir sous la section [modules] :



















Dé-commentez "allowed_hosts" sous la section [settings] et ajoutez l'adresse IP du serveur Nagios :

Dé-commentez le port sous la section [NSClient] :













Enregistrez le fichier et redémarrez le service NSClient++.
En revenant au serveur Nagios, vérifiez que "check_nt" est activé dans 
usr/local/nagios/etc/objects/commands.cfg, il faut modifier l'argument de l'option '-s' et mettre le mot 
de passe de NSClient :



Vérifiez que le modèle Windows-server est activé dans /usr/local/nagios/etc/objects/templates.cfg:

Dé-commentez windows.cfg dans /usr/local/nagios/etc/nagios.cfg :

Ajout de Hosts à Nagios:
Pour que nagios supervise une machine Windows, il faut modifier
/usr/local/nagios/etc/objects/windows.cfg
en respectant le syntaxe de fichier. La definition de Host s’applique en ajoutant :
Hostname
Alias
L’adresse IP

-Définir les services de Windows qui doivent être surveillés:
Pour chaque host, on doit configurer les services qui sont déjà activés dans windows.cfg,
On doit s’assurer de mettre le même hostname qu’on a accordé dans l’étape ci-dessus dans chacun
des services définis.




-Vérification de la configuration :
Après chaque modification dans les fichiers de configuration de nagios, et pour que nagios
prenne en charge les nouvelles modifications, il faut le redémarrer, mais avant ça, on vérifie
s’il y’a des erreurs au niveau de la configuration.
On exécute cette commande:

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










-Redémarrer Nagios :




-





-Accès à l'interface web de Nagios :
Après avoir suivi les étapes de l’accès web à nagios, on trouve Host qu’on a défini dans le 
fichier windows.cfg est bien ajouté et supervisé par ses services :




- Etat des services nagios : 
  Un service dans nagios peut être en cinq états : 

 

4/ Supervision des serveurs Linux : 


Contrairement aux machines Windows , les machines Linux communiquent automatiquement avec
le serveur nagios sans le besoin d’installer un plugin dans chaque Host.
Vérifiez que le modèle Linux-server est activé dans /usr/local/nagios/etc/objects/templates.cfg :


Dé-commentez localhost.cfg dans /usr/local/nagios/etc/nagios.cfg :



Ajout de hosts à Nagios : 

Les machines linux vont être définis dans le fichier localhost.cfg :



Définir les services qui doivent être surveillés:

Comme les machines Windows, les machines linux vont être supervisées via des services bien précis
qui sont par défaut activés dans localhost.cfg.
Req : on garde toujours le même hostname qu’on a utilisé lors de la définition du Host.

La liste des services pour une machine Linux : 
-Ping
-Root Partition : indique le pourcentage de l'espace disque libre.
-Current Users : Le nombre d'utilisateurs connectés.
-Total Processes : Le nombre des processus en cours d'exécution.
-Swap Usage : ce service indique le swap utilisé par le système d'exploitation.
-SSH : Ce service vérifie si SSH est démarré sur la machine.

NB : Assurez vous que vous avez utilisé le même hostname dans la définition du Host et
la définition des services.

Vérifiez la configuration et redémarrez le service nagios.
Si tout est OK, le Host définit va être affiché dans le tableau de bord de nagios.


5/ Surveillance d'une imprimante : 


Vérifiez que le modèle generic-printer est activé dans /usr/local/nagios/etc/objects/templates.cfg:



Dé-commentez printer.cfg dans /usr/local/nagios/etc/nagios.cfg :



Ajout d’une imprimante à Nagios:

La définition des imprimantes dans nagios est similaire à l’ajout de hosts (Linux , Windows)
avec le même syntaxe sauf que les imprimantes vont être configurées dans le fichier printer.cfg:



Surveillance des Toners:

Pour surveiller les cartouches de n’importe quelle imprimante sur le réseau, il faut utiliser un plugin
dédié à la supervision des toners.
Etape 1 : Télécharger « check_snmp_printer » depuis le site www.monitoringexchange.org
REQ : il existe plusieurs plugins qui peuvent superviser les toners.
Etape 2 : Copier le plugin téléchargé sous le répertoire : /usr/local/nagios/libexec.
Etape 3 : Exécuter la commande ./check_snmp_printer -h
Cette commande nous informe la méthode de l’utilisation de ce plugin comme indique le deuxième
rectangle rouge.


Etape 4 : Définir « check_snmp_printer » dans commands.cfg :

Les options :

-H : L’adresse IP de l’imprimante.
-x : « CONSUM ALL » SI on veux superviser tous les toners de l’imprimante (cas d’une imprimante couleur)
« CONSUM ‘référence toner’ » Si on veux superviser un toner bien spécifique.
-w : L’argument ici est un nombre, le statut du service devient Warning si cette valeur est dépassée.
-c : Le statut du service devient Critical si cette valeur est dépassée.

Etape 5 : Superviser les toners en ligne de commande :
Pour s’assurer que le plugin fonctionne correctement et il n’existe pas de problèmes au niveau
de sa définition dans commands.cfg, il suffit de lancer un test en ligne de commande:



Alors le résultat ici nous informe la référence du toner ainsi que son niveau d’encre en pourcentage.

-Définir les services de l’imprimante qui doivent être surveillés:

Rien n’est important pour une imprimante que de s’assurer qu’elle soit toujours connectée sur le réseau et de superviser le niveau d’encre de sa cartouche.
Pour cela, on va utiliser ces deux plugins :

-PING
-CHECK_SNMP_PRINTER









-Vérifier la configuration des fichiers.
-Redémarrer nagios.
-Actualiser la page web de nagios.






Après L’actualisation de la page web de nagios, et si tout va bien, l’imprimante alors est ajoutée
et supervisée, là on remarque que le plugin fonctionne correctement et donne un résultat
presque exacte..

6/ Supervision d' un Téléphone IP (VOIP):

Définir sip.cfg dans /usr/local/nagios/etc/nagios.cfg












NB : Par défaut, le fichier sip.cfg n'existe pas dans nagios donc vous devez le créer et le mettre sous /usr/local/nagios/etc/objects/

- Ajout d’un téléphone IP à Nagios:

Les téléphones VOIP seront ajoutés dans le fichier sip.cfg :



Comme toutes autres définitions de Host, le syntaxe est toujours le même.
Il faut bien spécifier l’adresse IP du téléphone comme indiqué dans le rectangle rouge ci-dessus.

Surveillance à l’aide du plugin check_sip :

Etape 1 : Télécharger « check_sip » depuis le site www.monitoringexchange.org.
Etape 2 : Copier le plugin téléchargé sous le répertoire : /usr/local/nagios/libexec.
Etape 3 : Exécuter la commande ./check_sip -h
L’exécution de cette commande nous permet d’avoir la méthode d’utilisation de ce plugin.



Comme on a fait avec le plugin de supervision des toners, on doit définir ce plugin aussi dans le fichier commands.cfg.




Etape 4 : Superviser un téléphone Voip en ligne de commande :

En respectant le syntaxe d’exécution de ce plugin et pour voir si le protocole sip fonctionne
Correctement, il suffit de lancer un test en ligne de commande.



NB : 192.168.1.28 : c'est l'adresse IP du serveur Voip
         100 : c'est l'extension du téléphone à superviser.

./check_sip –u sip:100@192.168.1.28 : c’est la méthode qu’on va respecter en définissant le service.

Définir les services du téléphone IP qui doivent être surveillés: 

Pour un téléphone IP, il suffit de contrôler sa connectivité sur le réseau et de voir s’il y’a un
problème au niveau du protocole SIP (Session Initiation Protocol).
De ce fait, on utilise ces deux plugins :

-PING
-CHECK_SIP



Comme on a remarqué précédemment, il faut absolument respecter la syntaxe de l’exécution
du plugin en mentionnant l’extension du téléphone et l’adresse IP du serveur VOIP.

-Vérifier la configuration des fichiers.
-Redémarrer nagios.
-Actualiser la page web de nagios.   



FIN

Aucun commentaire:

Enregistrer un commentaire