4.3 KiB
categories | title |
---|---|
monitoring | Howto NRPE |
- Documentation : https://assets.nagios.com/downloads/nagioscore/docs/nrpe/NRPE.pdf
- Statut de cette page : test / bookworm
NRPE (Nagios Remote PluginExecutor) permet d'exécuter de façon légère des commandes prédéfinies sur un serveur distant. Historiquement il est utilisé par NAGIOS pour des « checks » sur un serveur distant. Il peut également être utilisé par Icinga. Il supporte SSL/TLS ce qui permet d'avoir un minimum de sécurité.
Installation
# apt install nagios-nrpe-server monitoring-plugins monitoring-plugins-basic monitoring-plugins-common monitoring-plugins-standard nagios-plugins-contrib
$ /usr/sbin/nrpe --version
NRPE - Nagios Remote Plugin Executor
Version: 4.1.0
# systemctl status nagios-nrpe-server
● nagios-nrpe-server.service - Nagios Remote Plugin Executor
Loaded: loaded (/lib/systemd/system/nagios-nrpe-server.service; enabled; preset: enabled)
Active: active (running) since Fri 2023-07-28 15:55:54 CEST; 3 days ago
Docs: http://www.nagios.org/documentation
Main PID: 549 (nrpe)
Tasks: 1 (limit: 2356)
Memory: 1.7M
CPU: 15ms
CGroup: /system.slice/nagios-nrpe-server.service
└─549 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -f
Configuration
Nous utilisons le fichier /etc/nagios/nrpe.d/evolix.cfg
pour surcharger la configuration par défaut.
/etc/nagios/nrpe.d/evolix.cfg
:
# Allowed IPs
allowed_hosts=192.0.2.42,192.0.2.43
# System checks
command[check_load]=/usr/lib/nagios/plugins/check_load --percpu --warning=0.7,0.6,0.5 --critical=0.9,0.8,0.7
command[check_swap]=/usr/lib/nagios/plugins/check_swap -a -w 30% -c 20%
command[check_disk1]=/usr/lib/nagios/plugins/check_disk -e -w 10% -c 3% -W 10% -K 3% -C -w 5% -c 2% -W 5% -K 2% -p /home -x /lib/init/rw -x /dev -x /dev/shm -x /run -I '^/run/' -I '^/sys/'
command[check_zombie_procs]=sudo /usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=sudo /usr/lib/nagios/plugins/check_procs -w 400 -c 600
command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
# Generic services checks
command[check_smtp]=/usr/lib/nagios/plugins/check_smtp -H localhost
command[check_dns]=/usr/lib/nagios/plugins/check_dns -H evolix.net
command[check_ntp]=/usr/lib/nagios/plugins/check_ntp -H ntp.evolix.net
command[check_ssh]=/usr/lib/nagios/plugins/check_ssh localhost
command[check_mailq]=/usr/lib/nagios/plugins/check_mailq -M postfix -w 10 -c 20
# Specific services checks
command[check_pgsql]=/usr/lib/nagios/plugins/check_pgsql -H localhost -l nrpe -p 'PASSWORD'
command[check_mysql]=/usr/lib/nagios/plugins/check_mysql -H localhost -f ~nagios/.my.cnf
...
Note
: dans des versions précédentes de Debian, il n'était pas vraiment possible de surcharger la configuration : des options en double provoquait une activation aléatoire d'une option ou d'une autre !
Principe
Le principe est qu'un démon écoute sur le port TCP/5666 et qu'on peut ainsi exécuter une commande distante définie dans la configuration.
/usr/lib/nagios/plugins/check_nrpe -H 192.0.2.42 -c check_load
OK - load average: 0.01, 0.01, 0.01|load1=0.012;0.700;0.900;0; load5=0.010;0.600;0.800;0; load15=0.010;0.500;0.700;0;
Note
: il faut savoir que le
check_load
lance simplement la commande définie dans la configuration. Cela peut-être un check, mais aussi n'importe quelle commande ou script de son choix !
checks
Même si ce n'est pas directement lié à NRPE, listons quelques checks intéressants.
check_load
Vu l'utilisation massive de plusieurs CPUs, il est très intéressant d'utiliser l'option --percpu
qui permet au check de s'adapter tout seul au nombre de CPUs :
$ /usr/lib/nagios/plugins/check_load --percpu --warning=0.7,0.6,0.5 --critical=0.9,0.8,0.7
check_disk
Plusieurs options sont intéressantes :
-e
: check toutes les partitions mais en cas d'erreur, n'affiche que les partitions qui sont en erreur (WARN, CRIT ou UNKN)-x /run
: ignore une partition- `-I '^/run/' : ignore les partitions selon un pattern
-C -w 5% -c 2% -W 5% -K 2% -p /home
: donne des seuils d'alertes différents pour une partition
check_http
Plusieurs options sont intéressantes :
-S -H example.com -C 15,5
: vérifie que la validité d'un certificat SSL/TLS est inférieure à 15 jours (WARN) ou 5 jours (CRIT)