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.