Project

General

Profile

Setting up NRPE on Debian server » History » Revision 4

Revision 3 (Jamila Khan, 08/19/2014 05:15 PM) → Revision 4/6 (Jamila Khan, 09/02/2016 04:25 PM)

h1. Setting up NRPE on Debian server 

 {{>toc}} 

 Process: 

 h2. on client server 

 h3. Install NRPE 

 <pre> 
 aptitude install nagios-nrpe-server nagios-plugins-basic 
 </pre> 

 h3. Edit config file 

 <pre> 
 vim /etc/nagios/nrpe.cfg 
 </pre> 

 * Add IP_v4_of_Nagios_server to allowed_hosts 

 h3. start service 

 <pre> 
 service nagios-nrpe-server restart 
 </pre> 

 h3. check that service is running 

 <pre> 
 netstat -tpln | grep 5666 
 </pre> 

 h3. edit local config to add specified checks 

 <pre> 
 vim /etc/nagios/nrpe_local.cfg 
 </pre> 

 Add NRPE test check, disk check, and Apache SIGTERM check 

 <pre> 
 0 octavia:/etc/nagios# cat nrpe_local.cfg  
 ###################################### 
 # Do any local nrpe configuration here 
 ###################################### 

 command[check_nrpe_daemon]=/bin/echo "NRPE OK" 

 # disk checks 
 command[check_disk_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/root 

 # checking Apache logs for SIGTERM 
 command[check_apache_sigterm]=/usr/lib/nagios/plugins/check_cat.sh /var/log/apache2/error.log SIGTERM 0 

 </pre> 

 h3. add check_cat 

 In /usr/lib/nagios/plugins create check_cat.sh 

 <pre> 
 #!/bin/bash 

 # 
 # checks in files if there are instances of a given string. 
 # $1 is the file 
 # $2 is the string 
 # $3 is the threshold, any more than $3 and it will be Critical 

 cnt=`cat $1|grep $2|wc -l` 
 recent=`cat $1|grep $2` 
 if [ $cnt -le $3 ] ; then 
         echo OK - no errors or warnings 
         exit 0 
 fi 

 echo -e "CRITICAL - String $2 appeared $cnt times\n$recent" 
 exit 2 
 </pre> 

 Make it executable 

 <pre> 
 chmod 755 /usr/lib/nagios/plugins/check_cat.sh 
 </pre> 

 h3. Make total procs check ignore kernel processes 

 Add -k to the total_procs check in /etc/nagios/nrpe.cfg, and lower the threshold. 

 <pre> 
 command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -k -w 130 -c 180 
 </pre> 

 


 h3. restart service 

 <pre> 
 service nagios-nrpe-server restart 
 </pre> 


 h2. on monitoring server 

 h3. test connection 

 On Nagios/Icinga server test that that worked: 

 <pre> 
 /usr/lib/nagios/plugins/check_nrpe -H clientserveruri.com -c check_nrpe_daemon 
 NRPE OK 
 </pre> 

 h3. set up checks. 

 example service config file 

 <pre> 
 ############################################################################### 
 ############################################################################### 
 # 
 # SERVICE DEFINITIONS 
 # 
 ############################################################################### 
 ############################################################################### 

 define service{ 
         use                       generic-service           ; Inherit default values from a template 
         host_name                 clientserver 
         service_description       SSH 
         check_command             check_ssh 
         } 

 define service{ 
         use                       generic-service           ; Inherit default values from a template 
         host_name                 clientserver 
         service_description       HTTP 
         check_command             check_http 
         } 

 define service{ 
         use                       generic-service           ; Inherit default values from a template 
         host_name                 clientserver 
         service_description       Users 
         check_command             check_nrpe_1arg!check_users 
         } 

 define service{ 
         use                       generic-service           ; Inherit default values from a template 
         host_name                 clientserver 
         service_description       Load 
         check_command             check_nrpe_1arg!check_load 
         } 

 define service{ 
         use                       generic-service           ; Inherit default values from a template 
         host_name                 clientserver 
         service_description       Zombie Processes 
         check_command             check_nrpe_1arg!check_zombie_procs 
         } 

 define service{ 
         use                       generic-service           ; Inherit default values from a template 
         host_name                 clientserver 
         service_description       Total Processes 
         check_command             check_nrpe_1arg!check_total_procs 
         } 

 define service{ 
         use                       generic-service           ; Inherit default values from a template 
         host_name                 clientserver 
         service_description       Disk Space /root 
         check_command             check_nrpe_1arg!check_disk_root 
         } 

 define service{ 
         use                       generic-service           ; Inherit default values from a template 
         host_name                 clientserver 
         service_description       Apache SIGTERM 
         check_command             check_nrpe_1arg!check_apache_sigterm 
         } 
 </pre> 


 h3. restart monitoring service 

 for icinga 

 <pre> 
 /etc/init.d/icinga restart 
 </pre> 


 sources: 
 http://xmodulo.com/2014/03/nagios-remote-plugin-executor-nrpe-linux.html 
 https://wiki.icinga.org/display/howtos/Setting+up+NRPE+with+Icinga
Go to top