Pentru a putea colecta date despre diferite stații la distanță, uneori trebuie să executăm anumite comenzi pe acele stații. Până acum toate verificările făcute cu Nagios au fost prin interogări de servicii. Dacă dorim să aflăm spre exemplu spațiul liber de pe disc trebuie să executăm o comandă pe acea stație. Nagios vine cu un plugin numit NRPE care poate fi instalat pe orice server din rețea cu scopul de a colecta datele dorite (folosirea procesorului, memoriei, discului, exact ca intrarea implicită localhost
din Nagios).
Vom instala pe gateway
pachetul nagios-nrpe-server
:
root@gateway:~# apt-get install nagios-nrpe-server
Trebuie să permitem stației monitor să se conecteze la serverul NRPE modificând intrarea allowed_hosts
din fișierul /etc/nagios/nrpe.cfg
:
root@gateway:~# cat /etc/nagios/nrpe.cfg |grep 192.168 allowed_hosts=192.168.1.4
Apoi, reporniti serviciul nagios-nrpe-server
pe statia gateway
:
root@gateway:~# /etc/init.d/nagios-nrpe-server restart
Pe stația monitor
va trebui instalat plugin-ul pentru NRPE al Nagios:
root@monitor:~# apt-get install nagios-nrpe-plugin
Pe monitor
, vom configura serviciul NRPE pentru a ne trimite alerte în cazul în care încărcarea procesului de pe stația gateway
este în limite maxime:
root@monitor:/etc/nagios3/conf.d# cat gateway.cfg [...] define service{ use generic-service ; Name of service template to use host_name gateway service_description NRPE Service check_command check_nrpe_1arg!check_load contact_groups coleg }
Observați în interfața grafică noul serviciu adăugat (încărcarea procesorului - load average
). Modificați pe stația gateway
valorile parametrilor la care sunt generate notificările de warning
și critical
:
root@gateway:~# cat /etc/nagios/nrpe.cfg |grep check_load command[check_load]=/usr/lib/nagios/plugins/check_load -w 5,1,0.5 -c 15,10,5
Pentru a varia încărcarea procesorului, rulați programul CPU intensive de mai jos timp de 5 minute și observați cum se modifică valorile raportate de Nagios (îl opriți cu Ctrl+c
):
root@gateway~# cat loop.sh #!/bin/bash i=0 while true do i=$((i++)) done
În mod analog, folosind NRPE, verificați starea încărcării memoriei și a discului de pe stația gateway
.