Upload
hanguyet
View
236
Download
0
Embed Size (px)
Citation preview
Nagios 3 sur Debian Installation & Configuration 29/11/2013 BOUGHABA / MICHEL / ADOLPHE / HOXHA SIO2
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 2
Table des matières Présentation ............................................................................................................................................ 3
Explication .................................................................................................................................. 4
Moniteur de supervision :.............................................................................................. 4
Ordonnanceur et analyseur gérant les actions :............................................................ 5
Installation ............................................................................................................................................... 5
Pré-Requis................................................................................................................................... 5
Installation Nagios ...................................................................................................................... 6
Installation Nagios-Plugins ......................................................................................................... 7
Librairies complémentaires ........................................................................................... 7
Compilation ................................................................................................................... 7
Configuration ........................................................................................................................................... 7
Ajout d’un nouvel hôte ............................................................................................................... 7
Pour Windows ............................................................................................................... 7
Pour linux .................................................................................................................................. 12
Sur le Serveur nagios ................................................................................................... 12
Sur le client linux ...................................................................................................................... 13
Ajout d’un switch a surveillé .................................................................................................... 17
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 3
Présentation
Nagios est un logiciel de supervision destiné à vous informez de problèmes éventuels dans votre
système d’informations avant que vos clients, utilisateurs ou managers ne le fassent. Il est prévu
pour fonctionner sur système d’exploitation Linux.
Le démon de supervision effectue des contrôles sur les hôtes et services que vous spécifiez en
utilisant des plugins externes qui retournent un statut d’état à Nagios. Quand des problèmes
surviennent, il peut envoyer des notifications à des contacts administratifs de façons différentes
(email, SMS, messagerie instantanée, etc…). Les informations d’états courants, les historiques et les
rapports peuvent être consultés à partir d’un simple navigateur.
L’interface de Nagios core 3.2.0
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 4
Explication
Moniteur de supervision :
La supervision consiste à surveiller le fonctionnement d’un système. Elle permet donc de contrôler,
détecter les fonctionnements des machines.
vérification des services réseau (SMTP, HTTP, …etc.). surveillance des ressources des hôtes (charge CPU, espace disque, …etc.). contrôle des équipements réseau (CPU, ventilateurs, …etc.).
Chaque test renvoi un état particulier:
1. #OK (tout va bien) 2. #WARNING (le seuil d’alerte est dépassé) 3. #CRITICAL (le service a un problème) 4. #UNKNOWN (impossible de connaître l’état du service)
Nagios est composé de 3 parties : Un ordonnanceur (charger de contrôler, quand, et dans quel ordre les contrôles des services effectués), des plugins (des modules externe), et une interface web (vus précédemment).
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 5
Ordonnanceur et analyseur gérant les actions :
système complet de notification fonction du service, de l’heure et de la date. gestion des escalades (enchainement des évènements par notification). possibilité de paramétrer des évènements automatiquement. possibilité de définir des gestionnaires d’événements. Système de modules/plugins de vérification fonctionne tels des programmes externes. permet de développer ses propres modules. Une interface Web avec gestion des droits pour la consultation. Rapports de surveillance.
Installation Le tutorial suivant est exécuté avec l’utilisateur système root.
Pré-Requis
Effectuez les commandes suivantes :
apt-get update apt-get upgrade apt-get install openssh-server
Ces commandes mettent à jour l’ensemble de la distribution installée et installe le serveur ssh pour la prise en main à distance.
Dépôts apt pour l’installation
vi /etc/apt/sources.list
Veuillez modifier le contenu du fichier par les renseignements suivant :
deb http://ftp.fr.debian.org/debian/ wheezy main deb-src http://ftp.fr.debian.org/debian/ wheezy main … deb http://security.debian.org/ wheezy /updates main deb-src http://security.debian.org/ wheezy /updates main … # wheezy -updates, previously known as 'volatile' deb http://ftp.fr.debian.org/debian/ wheezy -updates main deb-src http://ftp.fr.debian.org/debian/ wheezy -updates main
Quitter le mode Vi, et installer l’utilitaire de base pour le serveur de supervision :
apt-get install php5-gd postfix fping snmp ntp smbclient nmap saidar traceroute php5-snmp curl gettext
Installer l’environnement de compilation
apt-get install build-essential
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 6
Installation Nagios
Création d’un l’utilisateur nagios
groupadd -g 9000 nagios groupadd -g 9001 nagcmd useradd -u 9000 -g nagios -G nagcmd -d /usr/local/nagios -c "Nagios Admin" nagios
Avant de pouvoir compiler Nagios, il faut installer les librairies de développement :
apt-get install libperl-dev libgd2-xpm-dev libltdl3-dev linux-headers-`uname -r`
Pour la version 3 de Nagios, ajouter la librairie libglib2
apt-get install libglib2.0-dev
Ensuite : compilation de Nagios, des plugins, de NRPE et NSCA.
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.3.1.tar.gz tar -xzf nagios-3.3.1.tar.gz cd nagios-3.3.1 ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-user=nagios --with-command-group=nagcmd --enable-event-broker --enable-nanosleep --enable-embedded-perl --with-perlcache
Nagios 3.3.1 : Si vous rencontrez une erreur lors de la compilation, du style :
/usr/bin/install: omitting directory `includes/rss/extlib' /usr/bin/install: omitting directory `includes/rss/htdocs' /usr/bin/install: omitting directory `includes/rss/scripts' make[1]: *** [install] Error 1 make[1]: Leaving directory `/srv/d_bilbo/install/nagios/nagios/html' make: *** [install] Error 2
En cas d’Erreur, il suffit d’effectuer les modifications ci-dessous (juste après. /Configure) :
$ sed -i 's/for file in includes\/rss\/\*\;/for file in includes\/rss\/\*\.\*\;/g' ./html/Makefile $ sed -i 's/for file in includes\/rss\/extlib\/\*\;/for file in includes\/rss\/extlib\/\*\.\*\;/g' ./html/Makefile
Ensuite continuez la compilation.
make all make install make install-init make install-commandmode make install-config make install-webconf
Création du fichier d’utilisateur
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 7
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin chown nagios:nagcmd /usr/local/nagios/etc/htpasswd.users
Ajouter l’utilisateur apache au groupe nagcmd pour pouvoir exécuter les commandes externes de Nagios depuis l’interface (ex : nagcmd:x:9001:www-data)
adduser www-data nagcmd /etc/init.d/apache2 restart
Pour que Nagios démarre automatiquement au boot de la machine :
chmod +x /etc/init.d/nagios update-rc.d nagios defaults
Vous n’avez plus qu’à démarrer Nagios en faisant la commande suivante :
/etc/init.d/nagios start
Installation Nagios-Plugins
Librairies complémentaires
apt-get install libgnutls-dev libmysqlclient15-dev libssl-dev libsnmp-perl libkrb5-dev libldap2-dev libsnmp-dev libnet-snmp-perl gawk libwrap0-dev libmcrypt-dev fping snmp gettext smbclient dnsutils
Compilation
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz tar -xzf nagios-plugins-1.4.15.tar.gz cd nagios-plugins-1.4.15/ ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-libtap --enable-extra-opts --enable-perl-modules make make install
Configuration
Ajout d’un nouvel hôte
Pour Windows
Télécharger NSCLIENT
http://nsclient.org/nscp/downloads
NSClient++-0.3.9-Win32.msi ou NSClient++-0.3.9-Win64.msi
Comme sur l’image ci-dessous.
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 8
Veuillez installer le logiciel.
Cliquez sur Suivant jusqu'à atteindre cette fenêtre. Veuillez la remplir convenablement:
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 9
Continuez à cliquer sur suivant, jusqu'à finir l’installation en cochant la case « Start service » et
veuillez cliquez sur Finish.
Une fois démarré, faites clique droit Activer le NSClient
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 10
Démarrer le fichier dans les propriétés du service NSClient ++
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 11
Aller ensuite dans connexion, cochez le bouton radio : compte système local. Et Autoriser le service à
interagir avec le Bureau.
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 12
Pour linux
Sur le Serveur nagios
Tout d’abord sur le serveur nagios vous devais installer NRPE
cd /usr/local/src/
wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-
2.15/nrpe-2.15.tar.gz
tar -zxf nrpe-2.15.tar.gz
cd nrpe-2.15
./configure --enable-command-args
make all
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd
Commençons par créer un répertoire serveurs_linux où déposer notre fichier servprod.cfg
mkdir /usr/local/nagios/etc/serveurs_linux/
Rajoutons le chemin de ce répertoire dans nagios.cfg.
cfg_dir=/usr/local/nagios/etc/serveurs_windows
cfg_dir=/usr/local/nagios/etc/serveurs_linux
Ouvrons le fichier "commandes.cfg"
/usr/local/nagios/etc/objects/commands.cfg
Et rajoutons l'objet commande pour nos requêtes NRPE.
# '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$
}
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 13
Maintenant, créons un fichier « groupe_serveurs_linux.cfg » dans lequel on définira notre groupe de
serveurs Linux. Ainsi, à chaque rajout de serveur Linux, on fera la modification dans ce fichier.
# Define a hostgroup for Linux machines
# All hosts that use the linux-server template will automatically be a member of this group
define hostgroup{
hostgroup_name linux-servers ; The name of the hostgroup
alias Serveurs Linux ; Long name of the group
members servprod ; separes par des virgules
Créons notre fichier "servprod.cfg".
Vi /usr/local/nagios/etc/serveurs_linux/servprod.cfg
Redémarrage de Nagios.
/etc/init.d/nagios restart
Sur le client linux
apt-get update
apt-get upgrade
apt-get install make gcc build-essential wget libssl-dev snmpd snmp scli xinetd
Plaçons-nous dans le répertoire /usr/local/src
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
Création d'un compte et groupe nagios
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 14
groupadd nagios && useradd nagios -g nagios -p nagios
Décompressons les archives
tar -xzf nagios-plugins-1.5.tar.gz && tar -xzf nrpe-2.15.tar.gz
Compilation et installation de nagios-plugins
cd nagios-plugins-1.5/ ./configure make && make install
Compilation et installation de NRPE
cd /usr/local/src/nrpe-2.15 ./configure --enable-command-args make all
Installons maintenant les plugins NRPE :
Installation NRPE
make install-plugin make install-daemon make install-daemon-config
Installation du démon NRPE comme service sous xinetd (que vous avez déjà installé).
daemon nrpe - xinetd make install-xinetd /usr/bin/install -c -m 644 sample-config/nrpe.xinetd /etc/xinetd.d/nrpe
Modification du fichier /etc/xinetd.d/nrpe pour définir le service
Modifions le fichier :
vi /etc/xinetd.d/nrpe
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 15
Ajouter les ligne :
service nrpe { flags = REUSE socket_type = stream port = 5666 wait = no user = nagios group = nagios server = /usr/local/nagios/bin/nrpe server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd log_on_failure += USERID disable = no only_from = 127.0.0.1 « ip nagios }
Modifions le fichier « /etc/services » et rajoutons la ligne :
nrpe 5666/tcp # Nagios Remote Plugin Executor
Il se peut qu'elle soit déjà présente.
Modifions le fichier de configuration pour activer la prise d'arguments
vi /usr/local/nagios/etc/nrpe.cfg
dont_blame_nrpe=1
Redémarrage de xinetd :
/etc/init.d/xinetd restart
On teste que NRPE est bien à l'écoute et ouvert :
# netstat -at | grep nrpe
tcp 0 0 *:nrpe *:* LISTEN
Effectuons des tests
Effectuons un test localement
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 16
Si nous obtenons ce message d'erreur
CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.
Effectuons
ls -alh /usr/local/nagios/etc/nrpe.cfg -rw------- 1 root root 7.1K Jan 17 16:32 /usr/local/nagios/nrpe.cfg
En effet, Nagios ne peut pas lire le fichier, changeons les droits du fichier.
chmod 664 /usr/local/nagios/etc/nrpe.cfg chown nagios.nagios /usr/local/nagios/etc/nrpe.cfg
Effectuons un nouveau test
Effectuons un autre test afin de compter le nombre de processus.
servprod:/usr/local/src/nagios-plugins-1.5 # /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_total_procs PROCS OK: 93 processes
Tout fonctionne parfaitement, paramétrons NRPE afin de pouvoir lire l'espace disque.
vi /usr/local/nagios/etc/nrpe.cfg
Il faut décommentter la ligne ci-dessous
command[check_disk]=/usr/local/nagios/libexec/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 NRPE v2.15
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 17
Ajout d’un switch a surveillé
Nagios. Il existe un fichier d'exemple de configuration pour les switches
(/usr/local/nagios/etc/objects/switch.cfg), créons un répertoire/usr/local/nagios/etc/switches,
rajoutons ce fichier à l'intérieur.
cp /usr/local/nagios/etc/objects/switch.cfg /usr/local/nagios/etc/switches/switchDlink.cfg
Dans nagios.cfg, par défaut la ligne définissant le chemin où trouver les fichiers de configuration des
switches existe déjà mais elle est commentée, il suffit donc de la décommenter.
/usr/local/nagios/etc/nagios.cfg
Comme ceci.
# directive as shown below:
cfg_dir=/usr/local/nagios/etc/serveurs_windows
cfg_dir=/usr/local/nagios/etc/serveurs_linux
#cfg_dir=/usr/local/nagios/etc/servers
#cfg_dir=/usr/local/nagios/etc/printers
cfg_dir=/usr/local/nagios/etc/switches
#cfg_dir=/usr/local/nagios/etc/routers
Maintenant, modifions notre fichier /usr/local/nagios/etc/switches/switchDlink.cfg en précisant
l'adresse IP du switch. Enlevez la section hostgroup pour le mettre dans un fichier à part. Nos fichiers
ressembleront à :
/usr/local/nagios/etc/switches/switchdlink.cfg
/usr/local/nagios/etc/switches/hostgroup_switch.cfg
Nagios 3 sur Debian
BOUGHABA / MICHEL / ADOLPHE Page 18
Dans le fichier /usr/local/nagios/etc/switches/hostgroup_switch.cfg copier ceci :
# HOST GROUP DEFINITIONS
# Create a new hostgroup for switches
define hostgroup{
hostgroup_name switches ; The name of the hostgroup
alias Les Switches ; Long name of the group
}
Il ne reste plus qu'à redémarrer Nagios.
/etc/init.d/nagios stop; pkill nagios; /etc/init.d/nagios start