0x01. PRE-REQUIS
- Les sources I386 du serveur Windows
- Un client ssh (putty) sur le poste de travail
- L'application NSClient ++
0x02. INSTALLATION PARTIE SERVEUR
Il est impératif d'installer un soft coté serveur afin que le serveur de supervision puissent récupérer les informations du serveur windows.
Pour cela on installe l'application " NSClient ++ " :
1. Ramener le dossier NSClient++ qui se trouve dans P:/SOFTWARE/Outils/Réseau/supervision sur le serveur Windows dans D:/Sidetrade/STE/Supervision. Le dossier de configuration est déjà configuré, il est n'est pas nécessaire de le modifié.
2. Ouvrir une fenêtre DOS et lancer l'exécutable : " NSClient++.exe /install "

0x03. NSCLIENT++
3. Ouvrir la console de services et lancer le service " Nsclientpp :

Suite à l'installation de l'application, on peut vérifié que le service est démarré et est en attente de connexion sur le port 1248. Ouvrir une console MSDOS et lancer la commande : netstat -an | find " LISTENING "

0x04. SNMP
Il est nécessaire d'installer des nouveaux composant sur le serveur Windows afin que le serveur de supervision puisse récupérer les trappes snmp. Pour cela il faut se prémunir à l'avance des sources I386 du serveur.
1. Aller dans panneau de configuration > ajout/suppression de programme > Ajouter des composant > Outils de gestion et d'analyse >SNMP

Poursuivre la fin de l'installation en indiquant le chemin si demandé, des sources I386
2. Ouvrir une console de services, et rechercher le service snmp. Puis faire un clic droit sur le services afin d'accéder aux propriétés du services.

La configuration du service est la suivante :
- Onglet Général : le type de démarrage est automatique
- Onglet Connexion : L'ouverture de session se fait avec un compte système local. Le profil courant n'est pas à modifier
- Onglet Agent : il faut cocher toutes les cases. Cela permet de récupérer des trappes snmp aussi bien physique applicative â��
- Onglet Sécurité : La communauté doit être public et seulement en lecture seule. Les paquets peuvent être accepté de n'importe quel hôte
Le autres onglets ne sont pas à modifier, leur configuration est correct par rapport à l'utilisation que nous en faisons actuellement.
On peut vérifier que le service est lancé en vérifiant que le port 161 est bien écoute en UDP : (netstat â��an)

0x05. PARAMÉTRAGE DE NAGIOS SUR LE SERVEUR DE SUPERVISION
Avant de commencer la configuration de nagios pour notre nouveau serveur, vous devez préalablement récoltés quelques informations sur votre serveur. A savoir :
- Le nombre de disque dur
- Service web avec ou sans certificat
Sur votre poste client, lancer l'application " putty " ou votre client ssh favori. A travers cette documentation, j'utiliserais putty soft léger et gratuit.
Une fois installer lancer une connexion en root sur le serveur de supervision qui est STVISION (192.168.100.60). Les mots de passes sont fournis dans les documents STE.

login as: root root@192.168.100.61's password: Last login: Thu Jul 5 10:38:58 2007 from 192.168.200.60 Linux stvision 2.6.16-2-686 #1 Sat Jul 15 21:59:21 UTC 2006 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. stvision:~#
3.1 NAGIOS
Une fois connecté on peut passer à la modification de la configuration de nagios pour prendre en compte notre nouveau serveur.
Pour cela il faut aller dans le répertoire /etc/nagios/ :
stvision:~# cd /etc/nagios/ stvision:/etc/nagios#
Ce dossier contient tous les fichiers de configuration nécessaire à la configuration de nagios :
stvision:/etc/nagios# ls -al
total 344 drwxr-xr-x 5 nagios www-data 4096 2007-07-03 14:20 . drwxr-xr-x 71 root root 4096 2007-07-03 11:03 .. -rw-r--r-- 1 nagios www-data 1523 2006-11-16 00:05 apache.conf -rw------- 1 nagios nagios 2407 2007-04-16 14:48 .bash_history -rw-r--r-- 1 root root 11434 2007-04-17 11:46 cgi.cfg -rw-r--r-- 1 nagios www-data 3200 2007-06-06 16:51 checkcommands.cfg -rw-r--r-- 1 nagios www-data 1583 2007-04-18 09:07 contactgroups.cfg -rw-r--r-- 1 nagios www-data 1989 2007-04-17 14:41 contacts.cfg -rw-r--r-- 1 nagios www-data 1662 2006-11-16 00:08 dependencies.cfg -rw-r--r-- 1 nagios www-data 2256 2006-11-16 00:08 escalations.cfg -rw-r--r-- 1 root root 6497 2007-06-06 18:09 hostextinfo.cfg -rw-r--r-- 1 nagios www-data 3213 2007-07-03 11:04 hostgroups.cfg -rw------- 1 nagios www-data 20174 2007-07-03 11:03 hosts.cfg -rw-r----- 1 nagios www-data 26 2006-12-08 11:40 htpasswd.users drwxr-xr-x 2 root root 4096 2007-03-09 15:48 image -rw-r--r-- 1 nagios www-data 13544 2006-11-16 00:08 minimal.cfg -rw-r--r-- 1 nagios www-data 5327 2006-11-16 00:08 misccommands.cfg -rw-r--r-- 1 nagios www-data 21437 2006-12-08 12:03 nagios.cfg -rw-r----- 1 nagios www-data 3065 2006-11-16 00:08 resource.cfg -rw-r--r-- 1 root root 141 2007-04-17 14:39 serviceextinfo.cfg -rw-r--r-- 1 nagios www-data 181491 2007-07-03 14:20 services.cfg drwxr-xr-x 2 nagios www-data 4096 2007-03-30 15:32 .ssh drwxr-xr-x 2 nagios www-data 4096 2006-12-08 12:03 stylesheets -rw-r--r-- 1 nagios www-data 1589 2007-04-13 12:11 timeperiods.cfg -rw------- 1 nagios nagios 1924 2007-03-30 17:46 .viminfo stvision:/etc/nagios#
Les fichiers que nous allons modifiés sont les suivants :
- hosts.cfg
- hostgroups.cfg
- services.cfg
Commençons donc la modification de STVISION :
0x06. NAGIOS - HOSTS.CFG
On doit tout d'abord déclarer notre nouveau serveur. Pour cela nous allons éditer avec " vim " le fichier hosts.cfg :
stvision:/etc/nagios# vi hosts.cfg
Aller à la fin du fichiers et copier le dernier bloc " define host " et le re-copier en dessous en modifiant le " host_name ", " l'alias " et " l'address ".

Dans notre exemple, on a copié la configuration de DEMOPROD pour déclarer TEST, notre nouveau serveur.
Une fois la configuration du fichier modifiée, on peut relancer le service nagios.
stvision:/etc/nagios# /etc/init.d/nagios stop; /etc/init.d/nagios start Stopping nagios monitoring daemon: nagios. Starting nagios monitoring daemon: nagios. stvision:/etc/nagios#
Si vous avez des erreurs après avoir lancé cette commande, c'est que la modification du fichier hosts c'est mal faite. Il faut alors analyser les erreurs renvoyées par nagios et re-modifier le fichier " hosts.cfg " en conséquence.
Si tout c'est bien passé, en allant sur l'url http://192.168.100.60/nagios et en cliquant sur " Host Detail ", vous devriez voir votre nouveau serveur qui en cours de monitoring :

0x07. NAGIOS - HOSTGROUP.CFG
Une fois notre machine déclarée au niveau de hosts.cfg, il faut la rajouter dans un groupe. Cette modification se fait au niveau du fichier " hostgroups.cfg ". De la même façon, il faut éditer le fichier " hostgroups.cfg "
define hostgroup{ hostgroup_name gateways alias Routers and Gateways contact_groups router-admins members gw } define hostgroup{ hostgroup_name FRONTAUX DRP alias SERVEURS FRONTAUX contact_groups router-admins membres SRVF01,SRVF02,SRVF04,SRVF06,SRVF07,SRVF08,SRVF11,SRVF13, SRVF15,SRVF17,SRVF17,SRVF18,SRVF19,SRVF20,SRVF21,SRVF03, SRVF22,SRVF23,SRVF10,SRVF24, DEMOPROD } define hostgroup{ hostgroup_name DORSAUX DRP alias SERVEURS DE BASES DE DONNEES contact_groups router-admins members SRVB05,SRVB06,SRVB07,SRVB08,BCKP01,SRVB09,SRVB10 } define hostgroup{ hostgroup_name FTP DRP alias SERVEURS DE FICHIERS contact_groups router-admins membres FILE2,FILE3 }
Dans le cas présent notre serveur de test est un frontal. Il faut donc rajouter " TEST " à la suite de DEMOPROD .
members SRVF01,SRVF02,SRVF04,SRVF06,SRVF07,SRVF08,SRVF11, SRVF13,SRVF15,SRVF17,SRVF17,SRVF18,SRVF19,SRVF20, SRVF21,SRVF03,SRVF22,SRVF23,SRVF10,SRVF24, DEMOPROD ,TEST }
Pareillement, on relance le service nagios.
stvision:/etc/nagios# /etc/init.d/nagios stop; /etc/init.d/nagios start Stopping nagios monitoring daemon: nagios. Starting nagios monitoring daemon: nagios. stvision:/etc/nagios#
On vérifie si il n'y a pas d'erreurs. Dans le cas contraire on revient sur notre fichier de configuration, sinon on peut vérifier que notre serveur, a bien était ajouté au groupe, en allant sur le site dans " Status Overview "

0x08. NAGIOS - SERVICES.CFG
On peut à présent passer à la configuration des services. Il faut éditer le fichier " services.cfg ".
En fonction du nombre de disque dur et de votre service web, vous devrez adapter votre bloc de configuration.
De la même manière que pour la modification du fichier " hosts.cfg ", il faut copier un bloc de configuration existant, et le recopier à la fin du fichier en modifiant le champ du " host-name "
Configuration standard d'un Windows 2000 serveur avec des services STNV3 :
define service{ use generic-service ; Name of service template to use host_name DEMOPROD service_description PING is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 5 retry_check_interval 1 contact_groups router-admins notification_interval 240 notification_period 24x7 notification_options c,r check_command check_ping!100.0,20%!500.0,60% } define service{ use generic-service ; Name of service template to use host_name DEMOPROD service_description HTTP is_volatile 0 check_period workhours max_check_attempts 3 normal_check_interval 5 retry_check_interval 1 contact_groups router-admins notification_interval 120 notification_period 24x7 notification_options w,u,c,r check_command check_http } define service{ use generic-service ; Name of service template to use host_name DEMOPROD service_description DISK C is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 5 retry_check_interval 1 contact_groups router-admins notification_interval 240 notification_period 24x7 notification_options c,r check_command check_disque_nt2!C!90!95 } define service{ use generic-service ; Name of service template to use host_name DEMOPROD service_description DISK D is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 5 retry_check_interval 1 contact_groups router-admins notification_interval 240 notification_period 24x7 notification_options c,r check_command check_disque_nt2!D!90!95 } define service{ use generic-service ; Name of service template to use host_name DEMOPROD service_description OUT_SCH is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 5 retry_check_interval 1 contact_groups router-admins notification_interval 240 notification_period 24x7 notification_options c,r check_command check_process_ntv2!out_sch.exe } define service{ use generic-service ; Name of service template to use host_name DEMOPROD service_description OUT_MAIL_ENV is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 5 retry_check_interval 1 contact_groups router-admins notification_interval 240 notification_period 24x7 notification_options c,r check_command check_process_ntv2!OUT_MAIL_ENV.ex } define service{ use generic-service ; Name of service template to use host_name DEMOPROD service_description OUT_LOG_DEMON is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 5 retry_check_interval 1 contact_groups router-admins notification_interval 240 notification_period 24x7 notification_options c,r check_command check_process_ntv2!OUT_LOG_DEMON.e } define service{ use generic-service ; Name of service template to use host_name DEMOPROD service_description STF_ASYN is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 5 retry_check_interval 1 contact_groups router-admins notification_interval 240 notification_period 24x7 notification_options c,r check_command check_process_ntv2!STF_ASYN.exe } define service{ use generic-service ; Name of service template to use host_name DEMOPROD service_description UPTIME is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 5 retry_check_interval 1 contact_groups router-admins notification_interval 240 notification_period 24x7 check_command check_uptime_ntv2 }
Après avoir recopié la configuration à la fin de notre fichier, il faut modifié les champs qui apparaissent en gras et en italique plus haut. Dans notre exemple, on remplacera DEMPROD par TEST.
Il faut ensuite ajuster le nombre de disque. Dans le cas présent notre serveur possède 2 disques, C et D. Si votre serveur possède un disque E supplémentaire, vous devrez ajouter un bloc " define services " à la suite de votre bloc de disque D comme ceci :
define service{ use generic-service ; Name of service template to use host_name TEST service_description DISK D is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 5 retry_check_interval 1 contact_groups router-admins notification_interval 240 notification_period 24x7 notification_options c,r check_command check_disque_nt2!D!90!95 } define service{ use generic-service ; Name of service template to use host_name TEST service_description DISK E is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 5 retry_check_interval 1 contact_groups router-admins notification_interval 240 notification_period 24x7 notification_options c,r check_command check_disque_nt2!E!90!95 }
Il faut ensuite modifié notre bloc service pour le web. :
- Dans le cas d'un serveur web, on laissera " check_http ".
- Dans le cas d'un serveur web avec un certificat, on remplacera " check_http " par " check_http1 ". Et " HTTP " par " HTTPS " (Voir configuration de SRVF24)
define service{ use generic-service ; Name of service template to use host_name SRVF24 service_description HTTPS is_volatile 0 check_period workhours max_check_attempts 3 normal_check_interval 5 retry_check_interval 1 contact_groups router-admins notification_interval 120 notification_period 24x7 notification_options w,u,c,r check_command check_http1 }
Après avoir enregistré et fermé le fichier " services.cfg ". On relance le service nagios.
stvision:/etc/nagios# /etc/init.d/nagios stop; /etc/init.d/nagios start Stopping nagios monitoring daemon: nagios. Starting nagios monitoring daemon: nagios. stvision:/etc/nagios#
On vérifie si il n'y a pas d'erreurs. Dans le cas contraire on revient sur notre fichier de configuration, sinon on peut vérifier que notre serveur, a bien était ajouté au groupe, en allant sur le site dans " Service Detail "

0x09. PARAMÉTRAGE DE CACTI SUR LE SERVEUR DE SUPERVISION
La configuration de " Cacti " se fait sur le site à cette adresse à cette adresse http://192.168.100.61/cacti . Les comptes pour se connecter au site se trouvent dans les documents STE.
Pour configurer un nouveau serveur dans Cacti, vous devez préalablement installer le service snmp sur le serveur Windows.
0x010. CACTI - DÉCLARATION DE LA MACHINE
Une fois authentifié en administrateur, il faut :
1- Cliquer sur devices

2- Dans le type, choisir Windows 2000/XP Host

3- Puis cliquer sur Add

La configuration d'une nouvelle machine se présente comme ceci :

4- Terminer en cliquant sur " create "

Après avoir ajouter notre nouvelle machine, on peut vérifié que le serveur de supervision récupère bien des trappes snmp en vérifiant le message suivant :

A cette étape, si tout c bien passé, notre machine est déclaré au niveau de Cacti. Il suffit maintenant de créer les graphes pour notre nouveau serveur.
0x011. CACTI - CRÉATION DES GRAPHES
1- Cliquer sur devices

2- Dans " description, choisir la machine ajouté

3- Puis, cliquez sur " Create Graphs for this Host "

Après avoir cliquer sur " create Graphs for this host ", la page suivante nous propose les différents éléments du serveur que nous pouvons monitorer (disque, cpu, carte réseaux, services)
4- Sélectionner les éléments à grapher

Après avoir ajouter notre nouvelle machine, on peut vérifié que le serveur de supervision récupère bien des trappes snmp en vérifiant le message suivant :

5- Terminer en cliquant sur " create "

Après avoir valider en cliquant sur " create " l'invite vous demandera quels sont le couleurs que vous vous voulez pour chaque graphe :

Sélectionner la couleur pour votre graphe puis cliquer sur create. On peut vérifié que l'opération s'est bien effectué à travers le message :

Il faut ensuite cliquer en bas à droite sur " create "
A présent nos graphes sont créés. Le serveur de supervision va commencer à récupérer les trappes snmp sur notre serveur, afin de les stocker dans la base " mysql "et les restituer sur l'écran de monitoring. Il nous reste plus qu'à rajouter notre serveur dans le groupe de serveur déjà existant, afin de pouvoir visualiser nos graphes pour notre serveur " TEST ".
0x012. CACTI - INTRODUIRE LE SERVEUR DANS L'ARBRE DES GRAPHES
1- Cliquer sur " Graph Trees "

2- Choisir le groupe du nouveau serveur

3- Ajouter le nouveau serveur à la liste existante

4- Choisir " host " comme type

5- Dans le menu déroulant, sélectionner le serveur

6- Puis cliquer sur " create "

Voila, la configuration de notre outils Cacti est terminé. On peut vérifier que le nouveau serveur graphe bien :

=> Écrit par : Kayne, le 03 juillet 2015