Il ne nous reste plus qu'à créer un utilisateur et un mot de passe valide dans un fichier qui s'appellera
" htpasswd.users " et qui se trouvera dans " /usr/local/nagios/etc ". Pour créer ce fichier, il nous
faut utiliser la commande " htpasswd " qui créée un mot de passe crypté pour un utilisateur donné, voici comment on l'utilise:
Le fichier est maintenant créé et son contenu est crypté au niveau du mot de passe pour l'utilisateur qui s'appelle " utilisateurtest ".
Il ne reste plus qu'à redémarrer le serveur Apache pour que toutes les modifications soient prises en compte.
Maintenant que l'outil Nagios est installé, il nous faut mettre les plugins, cette installation est simple, il suffit de désarchiver le package téléchargé sur le site http://www.nagios.org/ puis de
suivre ce qui est indiqué par le fichier README. Pour vérifier que vos plugins on bien été installés,
il faut aller voir dans " /usr/localnagios/libexec ", et obtenir:

Les fichiers listés ci-dessus sont les commandes que Nagios intègre par défaut avec ses plugins.
A partir d'ici, l'installation de Nagios est terminée, nous pouvons même essayer de nous connecter sur l'interface Web et regarder si tout va bien.
Nagios est désormais un service à part entière de notre système, durant notre stage, nous
avons du à plusieurs reprises démarrer ce service car il n'était pas exécuté au démarrage du serveur. Pour remédier à cela, nous avons effectué la commande suivante:
chkconfig add nagios
Maintenant que notre outil principal est installé, il nous faut installer Oreon pour pouvoir configurer les fichiers de configuration de notre outil principal avec plus de facilité.
4. Installation de Oreon
Avant toutes installation de Oreon, il nous faut s'assurer que les services mysql et https soient bien démarrés, pour cela, on fait un:
service httpd status
service mysql status
Si un de ces services n'est pas démarré, il nous faudra faire:
chkconfig --add httpd ou chkconfig --add mysqld
service httpd start
service mysqld start
Pour qu'Oreon fonctionne bien, il faut qu'il se serve d'une base de données pour recueillir toutes les informations utiles au réseau. De plus Oreon doit se servir d'une autre base de données
qui va enregistrer toutes les valeurs relatives aux services à vérifier sur le réseau. Cette base de
donnée est gérée par l'utilitaire " Perfparse ", il a donc été nécessaire d' installer " Perfparse " avant
Oreon. Lors de nos tests, nous n'avons pas spécifié les bonnes bases, il faut bien faire attention à l'utilité de chacune d'entre elles. Nous avons du revoir les déclarations de nos tables pour un fonctionnement optimal.
On télécharge le dernier package de " Perfparse " sur le site http://perfparse.sourceforge.net/
puis on le désarchive. Suite à cela, nous allons dans le dossier désarchivé et nous tapons la commande suivante:
- ./configure prefix=/usr/local/nagios with-imagedir=/usr/local/nagios/share/images with- cgidir=/usr/local/nagios/sbin with-http_image_path=/nagios/images
Puis " make " et " make install ".
Maintenant que perfparse est installé, nous devons spécifier sa base de données, pour cela, il nous faut déjà créer une base de données pour perfparse:
- mysql -u root
Dans le prompt mysql on tape:
- create database perfparse;
- GRANT ALL PRIVILEGES ON perfparse.* TO 'perfparse'@localhost identified by 'motdepasse';
Il nous faut maintenant spécifier à " perfparse " que nous souhaitons utiliser cette base de données pour entrer ces données:
- cat /dossierdeperfparse/scripts/mysql_crate.sql | mysql -u perfparse -p -D nagios -h 127.0.0.1
- password:
Perfparse est désormais fonctionnel, nous pouvons installer Oreon maintenant.
Dans les aides que l'on a pu voir sur internet, beaucoup conseillaient d'augmenter l'espace mémoire dont se servent les modules PHP, pour se faire, il faut modifier le fichier " /etc/php.ini " et modifier la ligne " memory_limit = 16M " par " memory_limit = 32M ". Ceci n'est pas obligatoire, mais pour plus d'aisance, nous avons préféré le faire.
Maintenant on doit télécharger le package proposé par oreon sur http://www.oreon-
project.org/ . Nous avons décidé de prendre la version 1.3.3 qui selon nous était la plus stable et performante.
Ensuite il nous a fallu désarchiver le package comme toutes les procédures que nous avons suivies jusqu'à présent. Puis dans le dossier désarchiver, il nous faut exécuter le script " install.sh ". A
partir de ce point il va nous être posé plein de question quant à la configuration des chemins de
notre outil principal " Nagios ", de nos services de messagerie, PEAR,... Le service de messagerie sera vu dans la partie suivante concernant la configuration des outils, il faut juste savoir que par défaut, le client de messagerie utilisé par notre système est " Sendmail ". Le script, va par la suite
vérifier si tout les champs que nous avons renseignés sont valides, très pratique pour être sûr que la configuration d'Oreon se fait parfaitement bien.
Après tout ces préliminaires que nous avons effectués, nous n'avons pas eu de problèmes à
ce niveau là. Nous avons été confrontés malgré tout à un problème, ce n'était qu'un champ mal spécifié ou une commande mal écrite. Une fois le script terminé, on a pu se connecter à l'aide d'un navigateur internet sur http://ipdelamachine/oreon/, en effet le script effectue un alias sur cette adresse et nous n'avons pas à le configurer.
Nous obtenons donc ceci lors du premier démarrage d'Oreon.
Cela est tout a fait normal, vu que nous n'avons pas configuré d'utilisateur, de langage, de
base de données, ou de mot de passe pour accéder à cette base de données... Il nous faut donc faire tout cela afin que notre outil Oreon puisse fonctionner normalement.
Nous pouvons ensuite nous authentifier sous Oreon et accéder à la page principale de l'interface Web. La configuration propre à notre réseau se fera dans la partie suivante.
Nous avons donc ici un outil Oreon fonctionnel qui nous servira uniquement à configurer les fichiers de Nagios plus facilement.
Maintenant que notre outil de supervision Nagios est installé et que nous avons un outil Oreon pour le configurer, nous pouvons installer le dernier outil qui nous permettra de créer des comptes clients qui seront limités pour répartir ainsi également le réseau au niveau de plusieurs utilisateurs.
5. Installation de Nareto
Pour que NaReTo focntionne bien, il nous faut nous assurer que nous disposons bien de ces dépendances:
- Apache avec PHP
- MySQL version 4.X
- Nagios version 1.X
-- PHP CLI
- Perl avec les librairies DBI, POSIX et DBD-MySQL
Par défaut, toutes ces dépendances étaient installées dans notre serveur, nous nous en sommes tout de même assurés avec la commande rpm -q.
Ensuite, il nous a fallu télécharger les sources. Pour cela, il suffit de se rendre sur le site http://www.nareto/org . La dernière version se trouve dans la section Downloads . Il suffit de sélectionner l archive puis de la sauvegarder dans un répertoire. Il faut ensuite déplacer l archive dans le répertoire souhaité et la décompresser. On a installé NaReTo dans le dossier
" /usr/local/nareto " comme les autres outils, puis on a effectué ces commandes:
- cp nareto-version.tar.gz /usr/local
- cd /usr/local
- tar xzf nareto-version.tar.gz
- chown -R apache.apache /usr/local/nareto-version
- chmod -R 700 /usr/local/nareto-version
- ln -s nareto-version nareto
- cd nareto
- chmod u+x nagios_alert.pl
NaReTo se sert de sa propre base de données pour effectuer toutes ses modifications au sein
de son arborescence réseau. Nous avons donc crée une base de données NaReTo (comme pour la base de Perfparse antérieurement):
- mysql -u root
Dans le prompt propre à mysql:
- create database nareto;
- nareto script/nareto.sql;
- GRANT ALL PRIVILEGES ON nareto.* TO 'nareto'@localhost identified by 'motdepasse';
Comme pour Nagios, NaReTo doit avoir un alias au niveau du serveur Web afin de pouvoir accéder à la page, nous avons donc utilisé la même méthode que pour Nagios pour déclarer cet
alias.
Pour finir de configurer NaReTo, on a ajouté des tâches qui feront en sorte de récupérer des données relatives aux services et machines du réseau dans la base de données de NaReTo.
Pour se faire, on a crée un fichier " /etc/cron.d/nareto " et ajouté le contenu suivant:
# MaJ temps réel
* * * * * root php /usr/local/nareto/scripts/parser_log.php \
>/dev/null 2>&1
* * * * * root php /usr/local/nareto/scripts/parser_cfg_v2.php \
>/dev/null 2>&1
# Reporting
*/5 * * * * root /usr/bin/php \
/usr/local/nareto/scripts/nareto_dispo_cron_5min.php \
> /dev/null 2>&1
2 * * * * root /usr/bin/php \
/usr/local/nareto/scripts/nareto_dispo_cron_1h.php \
> /dev/null 2>&1
4 14 * * * root /usr/bin/php \
/usr/local/nareto/scripts/nareto_dispo_cron_1jour.php \
>/dev/null 2>&1
# Suivi des alarmes
30 0 * * * root /usr/bin/perl \
/usr/local/nareto/scripts/nagios_alert.pl \
>/dev/null 2>&1
0 1 * * 7 root /usr/bin/php \
/usr/local/nareto/scripts/agregation_mois.php\
>/dev/null 2>&1
Ceci étant fait, il ne nous reste plus qu'à paramétrer le fichier de configuration de base de
NaReTo. Ce fichier est dans le dossier " /usr/local/nareto/include " et il s'appelle
" config.ini.php ", ce fichier permet d'indiquer à NaReTo dans quelle base de données il doit aller et avec quel identifiant et mot de passe, il permet également de rajouter des options tel que l'utilisateur principal ayant accès à la totalité de l'arborescence, ou bien si l'outil doit utiliser Perfparse...
Nous pouvons désormais nous servir de NaReTo en nous rendant à l'adresse http://ipdelamachine/nareto/ . La configuration de l'arborescence et des utilisateurs se fera dans la partie suivante.
Nous avons maintenant nos trois outils nous permettant une bonne supervision du réseau, nous allons donc maintenant voir comment on configure ces derniers afin d'exploiter la puissance
de ces programmes.

Grâce à l'outil Oreon, nous allons pouvoir configurer Nagios avec une plus grande facilité. Attention toutes les manipulations ou configurations effectuées sous Oreon ne sont pas intégrées par défaut directement dans Nagios. Il faut bien nous assurer que les fichiers générés sous Oreon soient
bien déplacés vers le dossier " /usr/local/nagios/etc/ " et que le service de Nagios soit bien
redémarré. Pour se faire, il faut suivre la manipulation suivante à chaque modification des fichiers
de configuration effectuée sous Oreon:
Tout d'abord, il faut nous rendre sur l'interface Web de Oreon à http://ipdelamachine/oreon/
puis se loguer pour enfin accéder aux différents onglets, là nous devons cliquer sur l'onglet
" Configuration " (onglet nous permettant de toucher à toute la configuration que nous aurons besoin de faire avec cet outil). Puis sur le sous onglet " Nagios ", nous obtenons alors ceci:
Génération des fichiers de configuration sous Oreon vers Nagios

Dans ce menu, il faudra nous assurer que les cases " Déplacer les fichiers " et " Recharger Nagios " sont cochées. C'est ce qui va permettre de rendre fonctionnel toutes les manipulations que nous effectuerons sous Oreon afin qu'elles fonctionnent sous Nagios.
Il faut savoir que pour ajouter des machines, il faut tout d'abord créer dans l'ordre, des
groupes d'utilisateurs, puis des utilisateurs, des groupes de machine, et enfin des machines. En effet
cet ordre est très important car lors de nos tests nous avons vu que que les machines dépendaient d'un groupe de machine, et d'un groupe d'utilisateur. De plus il faut s'assurer que le groupe d'utilisateur dispose bien d'au moins un utilisateur. On verra donc dans cette partie la démarche que nous avons adoptée pour ajouter des composantes réseau et les superviser proprement.
1. Création d'un groupe d'utilisateur
Il nous faut d'abord créer un groupe d'utilisateur qui accueillera des utilisateurs propre au groupe. Pour cela, nous devons, dans l'onglet de configuration vu précédemment, cliquer sur le
sous-onglet " Utilisateurs ", pour enfin voir un menu sur la gauche nous indiquant ce que nous voulons faire.
Fiche d'ajout d'un groupe d'utilisateur

Les champs à renseigner pour créer un groupe d'utilisateurs sont peu nombreux; il nous suffit de donner un nom et une description du groupe.
Pour information, si nous devions créer un groupe utilisateur sur Nagios directement, il nous faudrait taper ceci dans le fichier contactgroup.cfg:
Script pour rajouter un groupe d'utilisateurs

Suite à cet ajout, ne surtout pas oublier de générer les fichiers de configuration Nagios et redémarrer le service Nagios comme expliqué précédemment.
2. Création d'un utilisateur
Une fois notre groupe d'utilisateurs créé, nous devons ajouter des utilisateurs dedans, chaque utilisateur créé est utilisable depuis Nagios, Oreon, et NaReTo, il convient donc de le créer une
seule fois. Pour créer un utilisateur, nous avons du passer par Oreon comme précédemment, la démarche est assez similaire. Dans le même onglet que la création des " Groupes Utilisateurs " il faut sélectionner " Utilisateurs " dans le menu de gauche et là nous avons le choix de créer et de modifier tous les utilisateurs du serveur de supervision. Voici comment se présente la fiche " Utilisateur " à remplir lorsque nous souhaitons en créer un ou en modifier un:
Fiche d'ajout d'un utilisateur

Il est essentiel pour un nouvel utilisateur de renseigner son nom, son alias, son adresse mail (pour la future notification), le groupe auquel il fait partie (ici, nous pouvons en spécifier un directement car nous avons pris soin de le créer avant), puis s'il possède le droit d'accéder à
l'interface Web, son mot de passe, sa langue, le format du mail, s'il est considéré comme un administrateur, s'il souhaite s'authentifier uniquement en local ou pas. Et pour finir il faut spécifier quels types de notifications l'utilisateur souhaite recevoir.
Pour information, si nous devions créer un utilisateur sur Nagios directement, il nous faudrait taper ceci dans le fichier contacts.cfg:
Script pour rajouter un utilisateur

Suite à cet ajout, ne surtout pas oublier de générer les fichiers de configuration Nagios et redémarrer le service Nagios comme expliqué précédemment.
3. Création de groupe de machine
Afin de pouvoir rajouter une machine dans le serveur de supervision, il faut ajouter tout
d'abord comme pour les utilisateurs, un groupe, en l'occurrence un groupe de machine ici. Pour cela,
il suffit dans l'onglet " Configuration " comme précédemment, de cliquer cette fois ci sur " Hosts "
puis dans le menu de gauche, sur " HostGroups ". Tout comme un groupe d'utilisateur, les champs
à spécifier lors de la création d'un groupement de machine ne requiert uniquement un nom, un alias, nous pouvons également spécifier une communauté snmp et un pays contrairement au groupe d'utilisateurs.
Pour information, si nous devions créer un groupe de machines sur Nagios directement, il nous faudrait taper ceci dans le fichier hostgroups.cfg:
Script pour rajouter un groupement de machine

(" members " permet de spécifier quelles machines appartiennent à ce groupe)
Suite à cet ajout, ne surtout pas oublier de générer les fichiers de configuration Nagios et redémarrer le service Nagios comme expliqué précédemment.
4. Ajout des machines
Maintenant que nous avons créé des utilisateurs et des groupement de machine, nous allons pouvoir rajouter des machines. Pour le faire, il nous suffit d'aller dans l'onglet " Configuration " puis dans le sous-onglet " Hosts " puis là nous arrivons à un menu, il faut donc cliquer sur
" ajouter " pour configurer une nouvelle machine. Les champs de saisie propre à une machine sont décrit ci après:
Champs de saisie de l'ajout d'une nouvelle machine

Pour information, si nous devions créer une machine sur Nagios directement, il nous faudrait taper ceci dans le fichier hosts.cfg:
Script pour rajouter une machine
Suite à cet ajout, ne surtout pas oublier de générer les fichiers de configuration Nagios et redémarrer le service Nagios comme expliqué précédemment.
Nous avons découvert la possibilité de créer une machine template, son principe est que l'on associe plusieurs machines à une seule. Lorsque l'on créé une machine template, on peut se servir
des champs renseignés dans sa configuration pour configurer plus rapidement une autre machine, ainsi nous pouvons créer beaucoup de machine assez rapidement en utilisant une de ces machines templates. Une machine template se compose exactement comme une machine si ce n'est que l'on
ne renseigne pas le nom, l'alias et l'adresse de la machine, en effet ces renseignement sont propres à une machine unique. Suite à cela, il ne restera plus qu'à associer une de ces machines templates lorsqu'il faudra créer une machine.
5. Ajout des services
Comme pour les ajouts de machine, les services s'ajoutent également via Oreon de la même façon qu'une machine en cliquant sur le sous onglet " Services ". La fiche descriptive d'un service
se présente sous la forme suivante:
Fiche descriptive d'un service
Un service peut être associé à plusieurs machines et comme pour la création des machines, nous pouvons associer un service template à plusieurs services, ce qui réduit beaucoup nos champs
de saisie pour les services.
6. Ajout des notifications par e-mail
Pour ajouter des notifications par e-mail, il faut tout d'abord configurer notre client de messagerie présent sur le serveur de supervision. Par défaut " Sendmail " est installé sur les distribution " Fedora Core 6 ", il ne nous reste plus qu'à configurer ce dernier. De plus nous avons trouvé suite à nos recherche que Nagios se servait de la commande " mail " pour effectuer ses notifications. C'est la raison pour laquelle lors de nos tests, avant toute notification de la part de Nagios, nous avons effectué des tests sur la commande afin de savoir si notre configuration du
client de messagerie était correct.
Pour configurer notre client de messagerie, nous avons utilisé " webmin " préalablement installé comme nous avons pu le voir avant. Lorsque nous nous identifions sous webmin, nous avons accès à un onglet serveurs, là un icône nous indiquant la configuration de sendmail nous permet de configurer ce dernier très facilement. Il nous a suffit ensuite de renseigner les champs demandés, comme le domaine d'émission, l'adresse du serveur de messagerie...
Une fois la configuration terminée, nous redémarrons le service de messagerie puis nous effectuons la commande " mail " comme ci-dessous afin de nous envoyer un mail et déterminer si Nagios sera capable d'utiliser cette commande à bien:
Envoi d'un e-mail avec la commande " mail "

Ensuite il faut configurer les notifications aux niveaux des machines, des services, des utilisateurs, comme nous l'avons vu précédemment, nous sommes ainsi alertés précisément de ce que nous voulons, dans le moindre détail et pour les personnes concernées.
7. Création de compte limité avec NaReTo
Nous voici, à la fin de notre configuration de notre serveur de supervision, si un utilisateur veut en plus de ses notifications, vérifier d'un aspect général ou en particulier une partie de son réseau, il faut lui créer un compte limité sous NaReTo, comme nous l'avons vu précédemment,
NaReTo va nous permettre de créer une arborescence du réseau et d'attribuer une partie du réseau à
un utilisateur, les utilisateurs de NaReTo sont les mêmes que Oreon, il nous suffit donc d'attribuer
le morceau du réseau général approprié à l'utilisateur en question.
1. Pour configurer les comptes limités, nous nous sommes servi du manuel d'installation et d'utilisateur disponible sur le site. Un exemplaire se trouve dans l'annexe D.
Nous voici donc à la fin de notre configuration de l'outil de supervision. Il ne reste plus qu'à
ce dernier d'effectuer toutes les requêtes que l'on a configurées et de nous offrir une interface Web conviviale afin de voir en un coup d'oeil les éventuels problèmes sur le réseau et ainsi agir en conséquence.
