1. 1
LEFEBVRE Charlie
Installation de Nagios et configuration
d’éléments
Installation sur Debian 7 Wheezy :
Ajouter la source dans /etc/apt/sources.list :
deb http://ftp.de.debian.org/debian wheezy main
Paquets nécessaires :
apt-get update
apt-get install apache2
apt-get install libapache2-mod-php5
apt-get install build-essential
apt-get install libgd2-xpm-dev
apt-get install libgd-gd2-perl
apt-get install libxpm-dev
apt-get install libgd2-xpm
apt-get install snmp
apt-get install daemon
apt-get install libssl-dev
apt-get install libnet-snmp-perl
Wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz
wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
Tar –xzvf nagios-4.0.8.tar.gz
Créer un utilisateur nagios :nagios
/usr/sbin/useradd -m -s /bin/bash nagios
passwd nagios
Créer un groupe d’utilisateur
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd www-data
A la base du dossier créer lors de l’extraction, faire ces commandes :
./configure --with-command-group=nagcmd
Make all
make install
make install-init
make install-config
make install-commandmode
2. 2
LEFEBVRE Charlie
Changer l’adresse email ici :
nano /usr/local/nagios/etc/objects/contacts.cfg
Installer le fichier de configuration dans conf.d pour apache
make install-webconf
Créer un compte “nagiosadmin” pour l’identification sur la page web de nagios.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
service apache2 restart
Télécharger les plugins et extraire
tar xzf nagios-plugins-2.0.3.tar.gz
cd nagios-plugins-2.0.3.tar.gz
Compiler et installer les plugins
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
Démarrer Nagios
Créer le démon
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
Vérifier la configuration de nagios.
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Si il n’y a pas d’erreur, lancer nagios.
/etc/init.d/nagios start
ou
service nagios start
Ajout d’éléments
A l’aide d’un logiciel de supervision
Vérifier la connectivité de chaque élément :
- Une station microsoft
- Une station linux
- Un serveur
- Un matériel réseau
3. 3
LEFEBVRE Charlie
En plus, faire une remontée des services sur les clients.
Préparation du NRPE client et serveur pour scanner les services des clients
Installation de NRPE (serveur d’écoute)
apt-get install libssl-dev make gcc build-essential wget libssl-dev snmpd snmp scli xinetd
wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
ln –s /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib/libssl.so
./configure --enable-command-args
Make
Make install
Make install-plugin
Make install-daemon
Make install-daemon-config
Make install-xinetd
On vérifie le fichier /etc/services port 5666
Décommenter la ligne dans le fichier /usr/local/nagios/etc/nrpe.cfg qui permet de vérifier l’espace disque sur
la machine
#command[check_disk]=/usr/local/nagios…….
Redémarrage de xinetd
Test
/usr/local/ngaios/libexec/check_nrpe –H ADRESSEIP_CLIENT –c check_disk –a 50% 100% /
Installation de NRPE (machine cliente linux)
apt-get install libssl-dev make gcc build-essential wget libssl-dev snmpd snmp scli xinetd
Télécharger NRPE + son plugin, extraire
groupadd nagios && useradd nagios –g nagios –p nagios
wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
plugins :
./configure
Make
Make install
Nrpe
Si erreur :
ln –s /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib/libssl.so
./configure –enable-command-args
Make
Make install
Make install-plugin
Make install-daemon
Make install-daemon-config
4. 4
LEFEBVRE Charlie
Make install-xinetd
Modifier fichier /etc/xinetd.d/nrpe
#adresse ip de l’hôte à écouter
Only_from = 127.0.0.1 10.22.100.x
Vérifier ficher /etc/services et que la ligne « nrpe 5666/tcp » soit bien présente
Redémarrer xinetd, service xinetd restart
Tester :
netstat –at | grep nrpe
/usr/local/ngaios/libexec/check_nrpe –H 127.0.0.1
Décommenter la ligne dans le fichier /usr/local/nagios/etc/nrpe.cfg qui permet de vérifier l’espace disque sur
la machine
#command[check_disk]=/usr/local/nagios…….
Tester le fonctionnement de la commande
/usr/local/ngaios/libexec/check_nrpe –H 127.0.0.1 –c check_disk –a 50% 100% /
Intégration sur un client Windows
Partie configuration serveur
Création de dossier /usr/local/nagios/etc/windows
Création du fichier groupe_windows.cfg dans le dossier windows
Création du fichier GSB-PC.cfg
# Definit la machine windows
define host{
use windows ; Inherit default values from a template
host_name GSB-PC ; The name we're giving to this host
alias Client Windows de Test ; A longer name associated with the host
address 10.22.100.99 ; IP address of the host
}
# Verifie la version de NSClient ++
define service{
use generic-service
host_name GSB-PC
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
5. 5
LEFEBVRE Charlie
# Verifie le temps de marche
define service{
use generic-service
host_name GSB-PC
service_description Uptime
check_command check_nt!UPTIME
}
# Verifie la charge CPU
define service{
use generic-service
host_name GSB-PC
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
# Verifie la charge de la RAM
define service{
use generic-service
host_name GSB-PC
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}
# Verifie l'espace disque C
define service{
use generic-service
host_name GSB-PC
service_description C: Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}
# Verifie le bon fonctionnement du processus explorer.exe
define service{
use generic-service
host_name GSB-PC
service_description explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l explorer.exe
}
Modification du fichier /usr/local/nagios/etc/objectstemplates.cfg pour créer le template windows
client
define host{
name windows ; The name of this host template
use generic-host ; Inherit default values from the generic-host template
check_period 24x7 ; By default, Windows servers are monitored round the clock
check_interval 5 ; Actively check the server every 5 minutes
retry_interval 1 ; Schedule host check retries at 1 minute intervals
max_check_attempts 10 ; Check each server 10 times (max)
check_command check-host-alive ; Default command to check if servers are "alive"
notification_period 24x7 ; Send notification out at any time - day or night
6. 6
LEFEBVRE Charlie
notification_interval 30 ; Resend notifications every 30 minutes
notification_options d,r ; Only send notifications for specific host states
contact_groups admins ; Notifications get sent to the admins by default
hostgroups windows ; Host groups that Windows servers should be a member of
register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE
}
Modification du fichier /usr/local/nagios/etc/nagios.cfg
Ajouter la ligne suivante :
cfg_dir=/usr/local/nagios/etc/windows
Mise en place du mot de passe d’accès
Modifier dans /usr/local/nagios/etc/objects/commands.cfg
Ici nous avons mis le mot de passe « test », c’est l’option « -s » qui ajoute le mot de passe
Installation de NSClient ++ sur la machine cliente
Télécharger le fichier d’installation sur le site : http://www.nsclient.org/
Lancez l’installation, typical et arrivé remplissez comme ceci :
L’IP ajoutée dans « allowed hosts » correspond à l’adresse IP du serveur linux
Next, et cliquez sur install
Intégration d’un client Linux avec prise en charge des services dans la configuration
NRPE sur le serveur
Créer un fichier debian-slave.cfg dans le dossier /usr/local/nagios/etc/serveurs_linux contenant :
# definition de la machine
define host{
use linux-server ;
host_name debian-slave ;
alias debian-slave ;
7. 7
LEFEBVRE Charlie
address 10.22.100.215;
}
# Verification de l'espace disque
define service{
use generic-service
host_name debian-slave
service_description Espace disque /
check_command check_nrpe!check_disk!80%!90%!/
}
# Verification de la charge cpu
define service{
use generic-service
host_name debian-slave
service_description Charge CPU
check_command check_nrpe!check_load!80!90
}
# Verification du nombre d'utilisateurs sur le serveur
define service{
use generic-service
host_name debian-slave
service_description Nombre utilisateurs
check_command check_nrpe!check_users!2!10
}
Créer un fichier groupe_serveurs_linux.cfg et y mettre :
Ajouter la ligne dans /usr/local/nagios/etc/nagios.cfg :
cfg_dir=/usr/local/nagios/etc/serveurs_linux
Attribuer les droits Nagios sur les fichiers de configurations
chown -R nagios.nagios /usr/local/nagios/etc/serveurs_*
Redémarrer Nagios
Service nagios restart
Intégration de la borne
Création du dossier /usr/local/nagios/etc/borne/
et y créer un fichier msa-ap-2.cfg ainsi que groupe_borne.cfg
Modifier le fichier groupe_borne.cfg
8. 8
LEFEBVRE Charlie
Modifier le fichier /usr/local/nagios/etc/objects/templates.cfg et ajouter ces lignes
Modifier le fichier /borne/msa-ap-2.cfg
Modifier fichier nagios.cfg et ajouter la ligne
Cfg_dir=usr/local/nagios/etc/borne
Attribuer les droits Nagios sur les fichiers de configurations
chown -R nagios.nagios /usr/local/nagios/etc/borne*
service nagios restart
Ici nous aurons donc juste une requête ping qui sera effectuée pour vérifier si la borne répond ou
non.
Capture d’écrans
Rendons nous dans la gestion WEB de Nagios. Ensuite cliquons sur Hosts
9. 9
LEFEBVRE Charlie
Tous les hôtes que nous avons ajoutés doivent apparaitre en vert, comme ceci :
Voici ce que nous devons obtenir en cliquant sur la petite loupe à côté de GSB-PC :
Maintenant pour debian-slave :
Ici nous avons une ligne rouge avec un statut « critical » dans ce cas-là, il n’y a pas d’erreur, Nagios
nous indique que l’espace disque restant de la machine est faible.
Pour la borne maintenant :