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 Ubuntu 14.10, avec icinga, vous pouvez surveiller les services à distance de deux manières.
- Surveiller les services publics,
- Surveiller à l'aide du module complémentaire NRPE.
Suivi des services publics :
Icinga prend en charge la surveillance des services publics tels que HTTP, POP3, IMAP, FTP et SSH, car ces services ne nécessitent pas d'exigences d'accès particulières. Les services publics sont accessibles soit sur le réseau intra ou sur Internet, ces services sont principalement utilisés par nous au quotidien.
Avec l'utilisation de plugins, nous pouvons étendre les possibilités de surveillance à une application et à un protocole spécifiques de nos besoins. Dans ce didacticiel, nous surveillerons à la fois les services http et ssh du serveur Web. Commençons par créer le fichier de configuration, tout nouveau fichier de configuration doit être créé sous /etc/icinga/objects.
Vous pouvez remplacer le nom de fichier (itzgeek.cfg) par le nom de fichier de votre choix, doit se terminer par .cfg.
$ sudo nano /etc/icinga/objects/itzgeek.cfg
Remplacez host_name et address selon vos besoins, placez votre hostname et votre adresse IP respectivement dans les champs host_name et address.
define host{use generic-host ; Nom du modèle hôte à usehost_name itzgeek.comalias mon serveur WebAddress 23.229.xxx.xxx} Définir le service {host_name itzgeek.comService_Description httpcheck_command check_httpuse générique-service} # chèque.
Une fois cela fait, redémarrez le service icinga.
$ sudo service icinga redémarrer
Vérifiez l'état du service dans l'interface Web, vous devriez voir l'hôte nouvellement ajouté dans le portail.
Surveiller à l'aide du module complémentaire NRPE :
Icinga ne collecte pas lui-même les statistiques privées de l'hôte distant, pour surmonter cela ; l'hôte distant doit avoir un module complémentaire installé. Le module complémentaire NRPE collectera des données et le serveur icinga les collectera. Pour ce faire, nous installerons le module complémentaire NRPE sur l'hôte distant et configurerons le serveur icinga pour collecter les données.
Mettre à jour les référentiels apt.
Mise à jour $ sudo apt
Installez les plugins NRPE et nagios.
$ sudo apt install nagios-plugins nagios-nrpe-server
Modifiez le /etc/nagios/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_hda1 et check_total_procs doivent être entrés dans le fichier modèle sur le serveur hôte pour activer la surveillance.
commande[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1commande[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 - c 200
Remarque : Lors de la configuration de check_hda1, modifiez-le en fonction de la disposition du disque de votre hôte distant. Dans mon cas, besoin de surveiller/monter le point qui est /dev/sda6; l'entrée suivante devra être définie dans /etc/nagios/nrpe.cfg sur l'hôte distant.
commande[check_sda6]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda6
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/lib/nagios/plugins/check_procs -w 150 -c 200PROCS OK :17 processus | procs=17;150;200;0;
Remplacez l'avertissement par 15 et la valeur critique par 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/lib/nagios/plugins/check_procs -w 15 -c 200PROCS AVERTISSEMENT :17 processus | procs=17;15;200;0;
N'oubliez pas de vérifier le paramètre suivant dans le fichier, ceci pour vous assurer que le service s'exécute sur le bon port.
server_port=5666
Si vous avez plusieurs cartes réseau, configurez-les pour qu'un service écoute sur une carte réseau particulière.
adresse_serveur=192.168.12.9
Ajoutez l'adresse IP des serveurs icinga dans allow_hosts, si ce paramètre est défini ; seuls les serveurs icinga répertoriés peuvent se connecter à cet hôte.
allowed_hosts=192.168.12.6
Le serveur Icinga doit être autorisé à transmettre des arguments de ligne de commande, alors définissez dont_blame_nrpe sur 1.
dont_blame_nrpe=1
Une fois modifié, redémarrez le serveur NRPE.
$ sudo /etc/init.d/nagios-nrpe-server restart
Confirmez que NRPE Listening.
$ sudo netstat -antup | grep 5666tcp 0 0 0.0.0.0:5666 0.0.0.0:* Écoutez 7333 / nrPETCP6 0 0 :::5666 :::* Écoutez 7333 / nrpe
Configurer le serveur Icinga :
Il est maintenant temps de configurer le serveur Icinga pour surveiller le client distant, vous devrez installer nrpe-plugin.
$ sudo apt-get install nagios-nrpe-plugin
Vérifiez la version du serveur NRPE de l'hôte distant.
$ sudo /usr/lib/nagios/plugins/check_nrpe -H 192.168.12.9NRPE v2.15
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.
sudo nano /etc/icinga/objects/remote.cfg
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.
define host{use generic-hosthost_name remote.itzgeek.comalias My Remote Ubuntu Serveraddress 192.168.12.9}define service{use generic-servicehost_name remote.itzgeek.comservice_description Root Partitioncheck_command check_nrpe_1arg!check_sda6}define service{use generic-servicehost_name remote. itzgeek.comservice_description Utilisateurs actuelscheck_command check_nrpe_1arg !Redémarrez le serveur icinga.
$ sudo /etc/init.d/icinga restartSurveiller 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.