Une fois que vous avez installé Icinga, vous pouvez surveiller le système via l'interface Web; par défaut, il est limité à la surveillance de la machine locale sur laquelle Icinga est installé. Si vous souhaitez surveiller la boîte Linux distante ou la boîte Windows, vous devez avoir le plug-in Nagios et le module complémentaire NRPE installés sur la boîte distante. Une fois le plugin et l'add-on installés, vous devez configurer le serveur Icinga pour collecter les informations de la machine distante et les afficher sur l'interface Web.
Si vous n'avez pas encore installé Icinga; visitez le poste d'installation d'Icinga sur Centos 7. La surveillance du système Linux à distance comprend les 6 étapes
Hôte distant Icinga :
- Ajouter un compte utilisateur
- Télécharger et installer le plug-in Nagios
- Installer le module complémentaire NRPE
- Configurer le module complémentaire NRPE
Hôte du serveur Icinga :
- Configurer le serveur Icinga
- Surveiller la machine distante.
Hôte distant Icinga :
Installez les packages requis.
yum install gcc cpp glibc-devel glibc-headers kernel-headers libgomp libmpc mpfr make openssl* xinetd
Ajouter un compte utilisateur :
Avant de procéder à l'installation, créez un nouvel utilisateur au nom de "icinga" et donnez-lui un mot de passe.
useradd icinga
Définissez le mot de passe.
passwd icinga
Téléchargez et installez le plug-in Nagios :
Téléchargez les plugins Nagios sur l'hôte distant à l'aide de la commande suivante (Pour la dernière version, visitez le site Web de Nagios)
cd /tmp wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
Extrayez l'archive tar des plugins Nagios.
tar -zxvf /tmp/nagios-plugins-2.0.3.tar.gz cd /tmp/nagios-plugins-2.0.3
Compilez et installez le plugin.
./configure --prefix=/usr/local/icinga --with-cgiurl=/icinga/cgi-bin --with-nagios-user=icinga --with-nagios-group=icinga make make install
Modifiez l'autorisation du répertoire du plugin nagios sur l'hôte distant.
chown icinga:icinga /usr/local/icinga/ chown -R icinga:icinga /usr/local/icinga/libexec/
Téléchargez et installez le module complémentaire NRPE :
Visitez la page de téléchargement de Nagios et téléchargez le module complémentaire NRPE.
cd /tmp wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
Une fois téléchargé, extrayez la boule tar.
tar -zxvf /tmp/nrpe-2.15.tar.gz cd /tmp/nrpe-2.15
Compilez-le.
./configure --with-nagios-user=icinga --with-nagios-group=icinga --with-nrpe-group=icinga --with-nrpe-user=icinga --prefix=/usr/local/icinga make all make install-plugin make install-daemon make install-daemon-config make install-xinetd
Configurer le module complémentaire NRPE :
NRPE fait partie du démon xinetd, modifiez le fichier de configuration NRPE pour accepter la connexion depuis le serveur Nagios, éditez le /etc/xinetd.d/nrpe.
vi /etc/xinetd.d/nrpe
Ajoutez l'adresse IP du serveur Nagios comme ci-dessous.
only_from = 127.0.0.1 192.168.12.151
Ajoutez le port NRPE à la fin du fichier /etc/services.
nrpe 5666/tcp # NRPE
Redémarrez le service Xinetd.d.
systemctl restart xinetd.service
Confirmez que NRPE Listening.
netstat -at | grep 5666 tcp6 0 0 :::5666 :::* LISTEN 26780/xinetd
Confirmer le fonctionnement NRPE.
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 NRPE v2.15
Modifier le fichier de configuration NRPE :
Modifiez le /usr/local/icinga/etc/nrpe.cfg sur l'hôte distant, il contient l'argument de commande pour vérifier le service sur l'hôte distant. Le fichier nrpe.cfg contient les commandes de base pour vérifier les services distants, ci-dessous sont les lignes de commande pour vérifier la charge du processeur et le processus en cours d'exécution. Les check_load et check_total_procs doivent être entrés dans le fichier modèle sur le serveur hôte pour activer la surveillance.
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
Dans la commande ci-dessus, -w signifie avertissement tandis que -c signifie alerte critique. Par exemple, si vous exécutez la deuxième commande sur le terminal, il vérifiera le processus en cours ; il avertira lorsque le processus dépasse 150 ou il signalera critique lorsque le processus dépasse 200 et en même temps, il dira OK si le processus est inférieur à 150.
/usr/local/icinga/libexec/check_procs -w 150 -c 200 PROCS OK: 17 processes | procs=17;150;200;0;
Définissez l'avertissement sur 15 et l'état critique sur 150 à des fins de test, car le processus en cours d'exécution sur le serveur est très inférieur. Vous pouvez maintenant voir le message d'avertissement, selon vos besoins, vous pouvez le modifier.
/usr/local/icinga/libexec/check_procs -w 15 -c 200 PROCS WARNING: 17 processes | procs=17;15;200;0;
Hôte du serveur Icinga :
Sur le serveur Icinga, nous devons avoir installé le module complémentaire NRPE et le modèle de l'hôte distant.
Installer le module complémentaire NRPE :
Visitez la page de téléchargement de Nagios et téléchargez le module complémentaire NRPE.
cd /tmp wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
Une fois téléchargé, extrayez la boule tar.
tar -zxvf /tmp/nrpe-2.15.tar.gz cd /tmp/nrpe-2.15
Compilez-le.
./configure --with-nagios-user=icinga --with-nagios-group=icinga --with-nrpe-group=icinga --with-nrpe-user=icinga --prefix=/usr/local/icinga make all make install-plugin
Configurer le serveur Nagios :
Il est maintenant temps de configurer le serveur Icinga pour surveiller le client distant. Vous devrez créer une définition de commande dans l'un de vos fichiers de configuration d'objet Icinga afin d'utiliser le plug-in check_nrpe. Modifiez le fichier command.cfg.
vi /usr/local/icinga/etc/objects/commands.cfg
Ajoutez la définition de commande suivante au fichier.
# .check_nrpe. command definition define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$ }
Créez le nouveau fichier de configuration (/usr/local/icinga/etc/objects/remote.cfg) pour définir la définition de l'hôte et du service. Vous pouvez utiliser le modèle suivant, modifier selon vos besoins. Ce qui suit est configuré pour afficher la charge CPU, l'espace disque, les utilisateurs actuels. Etc.,
define host{ use linux-server host_name remote.itzgeek.com alias Client 1 address 192.168.12.102 } define hostgroup{ hostgroup_name Linux Client alias Linux Client 1 members remote.itzgeek.com } define service{ use local-service host_name remote.itzgeek.com service_description Root Partition check_command check_nrpe!check_hda1 } define service{ use local-service host_name remote.itzgeek.com service_description Current Users check_command check_nrpe!check_users } define service{ use local-service host_name remote.itzgeek.com service_description Total Processes check_command check_nrpe!check_total_procs } define service{ use local-service host_name remote.itzgeek.com service_description Current Load check_command check_nrpe!check_load }
Ajoutez le nouveau modèle dans le fichier de configuration icinga.cfg, afin qu'il lise les nouvelles entrées.
vi /usr/local/icinga/etc/icinga.cfg
Ajouter la ligne ci-dessous.
# Definitions for monitoring the Remote (Linux) host cfg_file=/usr/local/icinga/etc/objects/remote.cfg
Redémarrez le serveur icinga.
/etc/init.d/icinga restart
Surveiller la machine distante :
Connectez-vous maintenant à l'interface Web et commencez à effectuer la surveillance. La capture d'écran suivante montre le serveur Linux distant avec le service par défaut disponible.
C'est tout. Maintenant, vous pouvez facilement surveiller la machine distante avec Icinga.