
Comment ajouter un nouveau serveur à surveillé par Nagios Core
Nous avons précédemment installé les logiciels nécessaires du serveur principale de Nagios, ainsi que le service Nagios NRPE sur le serveur distant à monitoré. Nous sommes prêt à ajouter les règles pour ce que l’on désire monitoré sur notre serveur distant. Cet example illustre une base pour faire le suivi d’un serveur web avec un domaine que vous hébergez. Connectez-vous à votre serveur principale de Nagios Core et modifions son fichier de configuration principale.
sudo nano /usr/local/nagios/etc/nagios.conf
cfg_dir=/usr/local/nagios/etc/servers
Afin de mieux séparer les règles pour chacun de nos serveurs distants, nous créons un dossier servers contenant un fichier pour chaque serveur distant. Dans ce dossier, nous créons un fichier de configuration rassemblant les règles spécifique à ce serveur.
sudo mkdir /usr/local/nagios/etc/servers
sudo touch /usr/local/nagios/etc/servers/serveur-web-1.cfg
sudo chown -R nagios:nagios /usr/local/nagios/etc/servers
sudo nano /usr/local/nagios/etc/servers/server-web-1.cfg
Le bloc de définition host doit contenir une valeur unique pour le host_name ainsi que alias. Ils serviront d’identifiant unique dont les services s’y attacheront par le biais du host_name. Il est requis d’avoir l’adresse IP du serveur externe à monitoré.
Pour la plupart des serveurs que nous désirons surveillé, nous créons des services pour vérifier la charge de travail et l’espace disque.
Pour un serveur hébergeant un site web, nous désirons surveillé l’accès aux ports HTTP (80) et HTTPS (443). Pour chaque domaine hébergé, nous allons surveillé une URL pour le protocol HTTP et une autre URL pour le protocol HTTPS. Pour chaque URL que nous surveillons, il sera nécessaire d’adapter le fichier de configuration NRPE sur le serveur distant, que j’expliquerai plus bas.
define host {
use linux-server
host_name serveur-web-1
alias Serveur Web 1
address 1.2.123.234
max_check_attempts 5
check_period 24x7
notification_interval 30
notification_period 24x7
}
# Load Average
define service {
use generic-service
host_name Serveur Web 1
service_description Load average
check_command check_nrpe!check_load
}
# Disk Usage
define service {
use generic-service
host_name Serveur Web 1
service_description Disk Storage free space
check_command check_nrpe!check_disk
}
# Server SSH & Port 80
define service {
use generic-service
host_name Serveur Web 1
service_description SSH
check_command check_nrpe!check_ssh
}
define service {
use generic-service
host_name Serveur Web 1
service_description Port 80
check_command check_nrpe!check_tcp_80
}
# Domains
## domain.com
define service {
use generic-service
host_name Serveur Web 1
service_description HTTP name.domain.com
check_command check_nrpe!check_http_domain.com
}
define service {
use generic-service
host_name Serveur Web 1
service_description HTTPS name.domain.com
check_command check_nrpe!check_https_domain.com
}
sudo systemctl restart nagios.service
Vous pouvez accéder à l’interface graphique de Nagios. Vérifier dans les pages Hosts et Services que les nouvelles règles sont présentes.
Connectez-vous maintenant sur votre serveur distant et créons un nouveau fichier de configuration pour le domaine web.
sudo touch /usr/local/nagios/etc/confs/web-domain.cfg
sudo chown nagios:nagios /usr/local/nagios/etc/confs/web-domain.cfg
sudo nano /usr/local/nagios/etc/confs/web-domain.cfg
La première commande vérifie l’accès au domaine avec le protocol HTTP. Si vous avez un certificat SSL, Nagios Core devrait recevoir une réponse 301 (redirection permanente). Si vous n’avez pas de certificat SSL et que votre page d’accueil contient un URI supplémentaire tel que /fr/ ou /en/, ajouter ceci après le paramètre -u, tel que montré dans la deuxième commande.
La deuxième commande vérifie l’accès au domaine avec le protocol HTTPS. Si vous n’avez pas de certificat SSL, vous pouvez mettre en commentaire cette ligne et n’oubliez pas de retirer la définition du service dans la configuration de Nagios Core, que nous avons fait précédemment. Si votre page d’accueil contient un URI supplémentaire tel que /fr/ ou /en/, ajouter ceci après le paramètre -u, tel que montré dans la deuxième commande.
## Check HTTP/HTTPS access to this domain
command[check_http_domain.com]=/usr/local/nagios/libexec/check_http -I 1.2.123.234 -H www.domain.com
command[check_https_domain.com]=/usr/local/nagios/libexec/check_http -S -I 1.2.123.234 -H www.domain.com -u /en/
Maintenant, nous pouvons recharger le service Nagios NRPE du serveur.
sudo systemctl restart nrpe.service