Post on 15-Aug-2020
POD4 : Varlin Vincent, Thibaud Boyer et Grosbois Romain
Compte rendu SISR5 :
NagiosNagios est logiciel permettant la supervision de machines, par une interface web.
1ère Partie : Installation et Configuration de Nagios
A) Installation de Nagios
Tout d'abord nous devons installer nagios sur notre machine avec la commande :
A préciser que comme pour toutes les installations sous linux, l'installation doit se faire en administrateur.
B) Configuration de Nagios
La configuration de Nagios se fait à partir de fichiers présent dans le dossier de configuration de nagios qui sont :
– hostgroups_nagios2,cfg :
Dans ce cas là, j'ai crée un groupe du nom de
« nagios », avec l'alias « nag » et les membres correspondent au différentes machines présentes dans le fichier « host.cfg » (que j'explique plus tard dans le compte-rendu).
– services_nagios2.cfg :
POD4 : Varlin Vincent, Thibaud Boyer et Grosbois Romain
Dans ce fichier, on définit les services qui seront appliqués à chaque machine. Pour cela, on doit définir :
– « hostgroup_name » disant de quel groupe fait partie la machine en question.– « service_description » correspondant au nom de la machine dans l'interface Nagios.– « check_command » (qui est là check_mysql), permettant de vérifier la base de donnée.– « use » afin de définir quel type de service c'est>.– « notification_interval » définissant tout les combiens de temps, une alerte est réitérée.
Et d'un dernier fichier, que l'on doit créer afin de configurer les hôtes du serveur Nagios,que j'ai appelé « host.cfg » :
POD4 : Varlin Vincent, Thibaud Boyer et Grosbois Romain
Les hôtes sont définis par plusieurs caractéristiques qui sont :
– « use » correspond à son utilisatio.– « host_name » est le nom de la machine apparaissant dans l'interface de Nagios.– « alias » est le nom raccourci de la machine.– « address » correspond à l'adresse IP de la machine.
Afin d'accéder à l'interface web de Nagios, on passe par un navigateur et on marque dans la barre de recherche :
Cela fait, on nous demande des identifiants :
POD4 : Varlin Vincent, Thibaud Boyer et Grosbois Romain
Une fois les identificants rentrés, on arrive sur la page principale de Nagios :
A partir de cette page, on peut accéder à la page des hôtes :
POD4 : Varlin Vincent, Thibaud Boyer et Grosbois Romain
Celle des groupes :
Et celle des services :
2ème Partie : Centreon, Nagvis
Afin de mettre en place Centreon qui est un dérivé de Nagios, avec une interface permettant de configurer les hôtes, les services et les groupes sans passer par les fichiers de configuration.
A) Configuration de Centreon
En premier lieu, il faut installer une machine FAN (pas de capture de FAN en raison de la simplicité d'installation et du peu d'utilisation de cette machine.).
POD4 : Varlin Vincent, Thibaud Boyer et Grosbois Romain
Puis sur une autre machine, on va dans un navigateur web et dans la barre de recherche, on donne :
Cette adresse IP correspond à celle de la machine FAN. On arrive sur la page principale de FAN nous donnant l'accès au différents services comme Centreon et Nagvis :
Pour Centreon, on doit rentrer des identifiants, qui sont « nagiosadmin » pour le login et le mot de passe :
POD4 : Varlin Vincent, Thibaud Boyer et Grosbois Romain
Afin de rajouter les hôtes sous Centreon, nous allons dans le menu « Configuration » :
On va dans « Add » et on rajoute tous les informations demandées :
Cela ajoutera la machine en temps qu'hôte de Centreon.
Afin de définir les groupes, on va dans « Hosts Group », on va sur Add et on définit le nom du groupe et les machines qui doivent le constituer :
POD4 : Varlin Vincent, Thibaud Boyer et Grosbois Romain
Cette manipulation créera le groupe « Linux_Servers » dans le cas présent, avec les hôtes « Apache », « Centreon-Server » et « Mysql-Server ».
B) Configuration de Nagvis
Nagvis permet de définir sur une carte la localisation des différentes machines monitorés par Centreon.
Tout d'abord Nagvis nous demande de lui mettre à disposition une carte sur laquelle on mettra plus tard les différentes machines :
Avec l'option import, on fournit à Nagvis la carte qui nous servira a permettre la localisation des machines.
POD4 : Varlin Vincent, Thibaud Boyer et Grosbois Romain
Puis on rajoute, les machines :
Après on a le résultat de la carte :
POD4 : Varlin Vincent, Thibaud Boyer et Grosbois Romain
3ème Partie : Plugin
A) Installation du plugin
Pour cet exemple nous allons utiliser un plugin pour vérifier si l'accès anonyme à l'host SMB fonctionne.
On récupère le plugin « check_smb » à cette adresse : http://exchange.nagios.org/directory/Plugins/System-Metrics/File-System/SMB/check_smb/details
Ensuite on place le plugin dans le dossier /usr/lib/nagios/plugins/
Pour éviter tout problème ultérieur on vérifie (avec ls -l check_smb) que l'utilisateur nagios a les droits pour lire (r) et exécuter (x) le script.
Si ce n'est pas le cas on change les permissions du fichier avec :
# chmod 755 check_smb
B) Commande Nagios
Ensuite il faut rajouter la commande à nagios pour pouvoir utiliser le plugin. Il est nécessaire de définir le nom de la commande (on l'utilisera plus tard dans la définition d'un nouveau service) ainsi que le chemin du plugin dans le système de fichiers. Pour cela on ajoute ces lignes au fichier /etc/nagios3/commands.conf :
define command {
command_name check_smb
command_line /usr/lib/nagios/plugins/check_smb -H $HOSTADDRESS$
}
C) Service
Enfin on ajoute le nouveau service pour vérifier que notre serveur SAMBA est fonctionnel grâce au plugin. Ceci dans le fichier /etc/nagios3/conf.d/services_nagios2.cfg :
define service {
host_name samba
service_description Check SMB
check_command check_smb
POD4 : Varlin Vincent, Thibaud Boyer et Grosbois Romain
use generic-service
notification_interval 1 ;
}
D) Vérification
E) Création du pluginOn crée un plugin pour vérifier le nombre d'utilisateurs d'une machine et afficher des notifications différentes en fonction de ce nombre. On nomme ce plugin « check_nb_user », il est écrit en bash. Voici le script :
#!/bin/bash
# Compte le nombre de répertoires utilisateur dans /home
N=`ls /home | wc -l`
# On part du principe que ça va être bon
R=0
# Petit message pour faire joli dans Nagios
echo il y a $N utilisateurs dans /home/
# On teste les conditions limites
if [ $N -gt $2 ] ; then R=2 # S'il y en a plus que la valeur critique
elif [ $N -gt $1 ] ; then R=1 # s'il y en a plus que la valeur d'alerte
elif [ $N -lt 1 ] ; then R=3 # s'il n'y en a pas du tout !! Pas normal !
fi
# valeur de retour
exit $R
POD4 : Varlin Vincent, Thibaud Boyer et Grosbois Romain
On crée la commande dans /etc/nagios3/commands.conf :
define command {
command_name check_nb_user
command_line /usr/lib/nagios/plugins/check_nb_user '$ARG1$' '$ARG2$'
}
Et enfin on configure le service :
define service {
host_name localhost
service_description Nb utilisateurs sur la machine
check_command check_nb_user!1!4
use generic-service
notification_interval 1 ;
}
Ici on choisit de renvoyer une erreur « WARNING » (code 1) s'il y a entre 2 et 4 utilisateurs, et une erreur « CRITICAL » (code 2) s'il y a plus de 4 utilisateurs.
On obtient un WARNING car il y a 2 utilisateurs :