This shows you the differences between two versions of the page.
saisp:labs:03:contents:07 [2014/03/09 14:27] mihai.carabas |
saisp:labs:03:contents:07 [2015/03/16 17:52] (current) alexandru.carp [07. [15p] NRPE (Nagios Remote Plugin Executor)] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 07. Nagios and SNMP trap handling ==== | + | ==== 07. [15p] NRPE (Nagios Remote Plugin Executor) ==== |
- | * Configurare SNMP sa arunce trap-uri | + | 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). |
- | * Configurare Nagios sa emite alerte pe baza trap-urilor | + | |
+ | Vom instala pe ''gateway'' pachetul ''nagios-nrpe-server'':<code bash> | ||
+ | root@gateway:~# apt-get install nagios-nrpe-server | ||
+ | </code> | ||
+ | |||
+ | Trebuie să permitem stației monitor să se conecteze la serverul NRPE modificând intrarea ''allowed_hosts'' din fișierul ''/etc/nagios/nrpe.cfg'':<code bash> | ||
+ | root@gateway:~# cat /etc/nagios/nrpe.cfg |grep 192.168 | ||
+ | allowed_hosts=192.168.1.4 | ||
+ | </code> | ||
+ | |||
+ | Apoi, reporniti serviciul ''nagios-nrpe-server'' pe statia ''gateway'': | ||
+ | <code bash> | ||
+ | root@gateway:~# /etc/init.d/nagios-nrpe-server restart | ||
+ | </code> | ||
+ | |||
+ | Pe stația ''monitor'' va trebui instalat plugin-ul pentru NRPE al Nagios:<code bash> | ||
+ | root@monitor:~# apt-get install nagios-nrpe-plugin | ||
+ | </code> | ||
+ | |||
+ | 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:<code> | ||
+ | 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 | ||
+ | } | ||
+ | </code> | ||
+ | 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'':<code bash> | ||
+ | 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 | ||
+ | </code> | ||
+ | |||
+ | 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''):<code bash> | ||
+ | root@gateway~# cat loop.sh | ||
+ | #!/bin/bash | ||
+ | i=0 | ||
+ | while true | ||
+ | do | ||
+ | i=$((i++)) | ||
+ | done | ||
+ | </code> | ||
+ | |||
+ | În mod analog, folosind NRPE, verificați starea încărcării memoriei și a discului de pe stația ''gateway''. | ||
+ | <solution -hidden> | ||
+ | <code bash> | ||
+ | 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 Check Memory | ||
+ | check_command check_nrpe_1arg!check_memory | ||
+ | contact_groups coleg | ||
+ | } | ||
+ | define service{ | ||
+ | use generic-service ; Name of service template to use | ||
+ | host_name gateway | ||
+ | service_description NRPE Check Disk | ||
+ | check_command check_nrpe_1arg!check_disk | ||
+ | contact_groups coleg | ||
+ | } | ||
+ | </code> | ||
+ | </solution> |