TP sur la mise en place de NAGIOS

Transcription

TP sur la mise en place de NAGIOS
ROSSET GUILLAUME
TP NAGIOS
BTS SIO 2014/2015
Nagios est un logiciel de supervision de réseau. Il permet de vérifier le bon fonctionnement des différents matériels du
réseau (serveurs, PC clients, commutateurs, imprimantes…).
Installation du serveur Nagios
L’installation est faite sur un serveur Debian.
Paquets nécessaires :
Apache2, libapache2-mod-php5, php5-gd, php5, gcc, build-essential, wget, libgd-gd2-perl, libgd2-dev, libgd2-xpm, libgd2xpm-dev, libnet-snmp-perl, libssl-dev, snmp, daemon
Il est nécessaire de créer un utilisateur « nagios » appartenant au groupe « nagios » (pwd : nagios) :
groupadd nagios
useradd –m –g nagios nagios
passwd nagios
Pour permettre l’exécution de commande à travers l’interface Web, les utilisateurs nagios et apache doivent être placés
dans le même groupe nagcmd :
grouppadd nagcmd
usermod –g nagcmd nagios && usermod –g nagcmd www-data
Creation d’un repertoire /nagios/download et téléchargement de Nagios et de ses plugins
Mkdir –p /nagios/download
Cd /nagios/download
Wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz
Wget http://www.nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
Compilation et installation de Nagios
Tar –xzf nagios-4.0.8.tar.gz
Cd nagios-4.0.8/
./configure –with-command-group=nagcmd
Make all
Make install
Make install-init #le fichier /etc/init.d/nagios est installé
Make install-config
Make install-commandmode #installation des permissions
Personnalisation de la configuration de Nagios : les fichiers de configuration se trouvent dans le répertoire
/usr/local/nagios/etc
Configuration de l’interface Web
Make install –webconf
Htpasswd –c /usr/local/nagios/htpasswd.users nagiosadmin
Service apache2 restart
Compilation et installation des plugins Nagios
Cd /nagios/downmoad/
Tar –xvf nagios-plugins-2.0.3.tar.gz
Page 1 sur 5
ROSSET GUILLAUME
TP NAGIOS
BTS SIO 2014/2015
Cd nagios-plugins-2.0.3/
./configure --with-nagios-user=nagios --with-nagios-group=nagios
Make
Make install
Démarrage de Nagios
Chown nagios.nagcmd /usr/local/nagios/var/rw
/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg # permet de vérifier la bonne configuration de Nagios
Nagios doit être lancé au démarrage du serveur :
Dans le fichier /etc/init.d/nagios
Après les lignes #Required-Start et #Required-Stop, ajouter les lignes,
#Default-Start : 2 3 4 5
#Default-Stop : 0 1 6
Lancer la commande
Update-rc.d nagios defaults
La commande ne doit pas renvoyer d’erreurs
Démarrer nagios
/etc/init.d/nagios start
On peut maintenant se connecter à l’interface web via :
http://localhost/nagios
Le serveur est surveillé par Nagios. La configuration de Nagios pour celui-ci se trouve dans le fichier
/usr/local/nagios/etc/objects/localhost.cfg
Installation sur un client Windows
Afin qu’un client Windows puisse être surveillé, l’agent NSClient++ doit y être installé.
Paramétrage du serveur
Cet agent communique avec le plugin Check_nt du serveur paramétré dans le fichier
/usr/local/nagios/etc/objects/commands.cfg (penser à modifier le mot de passe nécessaire à la communication entre les 2
hôtes).
Installation de l’agent
Télécharger le fichier NSClient++-0 .4.3-xXX.msi.
L’installation de l’agent nécessite :
- l’adresse Ip du serveur
- le mot de pass du fichier commands.cfg du serveur
- activation des champs plugins, check_nt et check_nrpe
Le client doit être autorisé à interagir avec le bureau afin de pouvoir être considéré comme un service Windows.
Lancer services.msc
Ouvrir les propriétés de NSClient++
Dans l’onglet Connexion, cocher « Autoriser le service à interagir avec le Bureau »
Page 2 sur 5
ROSSET GUILLAUME
TP NAGIOS
BTS SIO 2014/2015
Connectivité avec le serveur
La connectivité se vérifie sur le serveur Nagios :
/usr/local/nagios/libexec/check_nt –H @ip-client –v CLIENTVERSION –p 12489 –s mdp
Configuration de Nagios
Les configurations des machines Windows sont paramétrables dans le fichier /usr/local/nagios/etc/objects/windows.cfg
La ligne cfg_file=/usr/local/nagios/etc/objects/windows.cfg doit donc être décommentée dans le fichier
/usr/local/nagios/etc/nagios.cfg
Dans le fichier windows.cfg :
Renseigner le nouvel hôte Windows dans « define host »
Renseigner le nom d’hôte de la machine Windows dans les services qu’on souhaite superviser
Lorsque les configurations sont terminées, vérifier le bon fonctionnement de Nagios
/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg
Installation pour un client Linux
Installation sur le serveur client
Paquets necessaires :
Make, gcc, build-essential wget, libssl-dev, snmpd, snmp, scli, xinetd
Créer un lien symbolique pour la librairie SSL afin que NRPE puisse la trouver
Updatedb
Locate libssl.so
Ln –s /usr/lib/i386-linux-gnu/libssl.so /usr/lib/libssl.so #i386-linux-gnu n’est qu’un exemple, mettre adresse trouvée avec
locate
Téléchargement des archives
Cd /usr/local/src
Wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
Wget https://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz
Tar –xzf nagios-plugins-1.5.tar.gz && tar –xzf nrpe-2.15.tar.gz
Creation du compte et du groupe nagios
Groupadd nagios && useradd nagios –g nagios –p nagios
Installation des plugins
Cd nagios-plugins-1.5/
./configure
Make && make install
Installation de NRPE
Cd /usr/local/src/nrpe-2.15
./configure --enable-command-args
Make install-plugin
Cd ./src/ && make install-plugin
Make install-daemon
Make install-daemon-config
Make install xinetd #installe NRPE comme service sous xinetd
Page 3 sur 5
ROSSET GUILLAUME
TP NAGIOS
BTS SIO 2014/2015
Fichiers de configuration
/etc/xinetd.d/nrpe
Dans Service nrpe
Ajouter à la ligne only_from l’adresse ip de l’hôte linux afin de pouvoir lister l’hôte autorisée à contacter
/etc/services
Ajouter la ligne : nrpe 5666/tcp #Nagios Remote Plugin Executor
/usr/local/nagios/etc/nrpe.cfg
Dont_blame_nrpe=1 #active la prise d’arguments
La lecture de l’espace disque, par exemple, est également paramétrable dans ce fichier :
Décommenter la ligne command[check_disk]=
Redémarrer xinetd
Vérifier que NRPE est à l’écoute
Netstat –at | grep nrpe
Attribution de droits
Chmod 664 /usr/local/nagios/etc/nrpe.cfg # on autorise l'accès en écriture et en lecture pour nagios et son groupe, tandis
que seule la lecture est possible pour les autres utilisateurs qui ne sont pas membres du groupe
Chown nagios.nagios /usr/local/nagios/etc/nrpe.cfg
Test local
/usr/local/nagios/libexec/check_nrpe –H 127.0.0.1
/usr/local/nagios/libexec/check_nrpe –H 127.0.0.1 –c check_total_procs
/usr/local/nagios/libexec/check_nrpe –H 127.0.0.1 –c check_disk –a 50% 100%
Installation sur le serveur Nagios
Installer NRPE avec les mêmes méthodes que pour le serveur client
Les serveurs Linux peuvent être paramétrés dans le groupe linux-servers du fichier
/usr/local/nagios/etc/objects/localhost.cfg.
La définition de ce groupe sera effectuée dans un autre fichier, il faut donc commenter sa définition dans le fichier
localhost.cfg
Un répertoire serveurs_linux est créé et contiendra les fichiers de configuration des serveurs
Mkdir /usr/local/nagios/etc/serveurs_linux/
Ce répertoire doit être renseigné dans le fichier /usr/local/nagios/etc/nagios.cfg
Cfg_dir=/usr/local/nagios/etc/serveurs_linux
Créer un objet dans /usr/local/nagios/etc/objects/command.cfg
# 'check_nrep' command definition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -u -c $ARG1$ -a $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$
}
o Créer un fichier /usr/local/naios/etc/groupe_serveurs_linux.cfg
define hostgroup{
hostgroup_name linux-servers ; The name of the hostgroup
alias Serveurs Linux ; Long name of the group
members nom_machine ; séparés par des virgules
}
Page 4 sur 5
ROSSET GUILLAUME
TP NAGIOS
BTS SIO 2014/2015
Créer un fichier /usr/local/nagios/etc/serveurs_linux/nom_machine.cfg
# definition de la machine
define host{
use linux-server ;
host_name nom_machine ;
alias Serveur nom_machine ;
address nom_machine ;
}
# Verification de l'espace disque
define service{
use generic-service
host_name nom_machine
service_description Espace disque /
check_command check_nrpe!check_disk!80%!90%!/
}
# Verification de la charge cpu
define service{
use generic-service
host_name nom_machine
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 nom_machine
service_description Nombre utilisateurs
check_command check_nrpe!check_users!2!10
}
Attribution des droits
Chown –R nagios.nagios /usr/local/nagios/etc/serveurs_*
Vérifier la bonne configuration de Nagios
/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg
Redémarrer le service Nagios
Surveillance d’un commutateur
Un répertoire pour la surveillance existe déjà dans Nagios.
Décommenter, dans /usr/local/nagios/etc/nagios.cfg, la ligne cfg_dir=/usr/local/nagios/etc/switches
Le fichier d’exemple (/usr/local/nagios/etc/objects/switch.cfg) permet de créer le fichier
/usr/local/nagios/etc/switches/nom_switch.cfg ainsi que le fichier de définition du groupe group_switch.cfg
Redémarrer le service Nagios
Page 5 sur 5