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/
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.
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++.






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:
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 :
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 :

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.
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 :
# /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 :
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 :

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
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/
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.
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.
-Redémarrer nagios.
-Actualiser la page web de nagios.
FIN















Aucun commentaire:
Enregistrer un commentaire