Step 1:
Write the script that will check for the given condition, and verify its functionality. This is a simple script that will check that the crond process is running. The data after the pipe is interpreted by nagios as performance data, and is being added in so that the status of the process can be graphed over a period of time in an rrd graph. Adding graphs to nagios will be covered in another post.
Note that the exit codes get interpreted by nagios as follows:
0 - OK
1 - WARNING
2 - CRITICAL
3 - UNKNOWN
#!/bin/bash lineCount=`ps -eaf|grep -v grep|grep " crond"|wc -l` if [ $lineCount -eq "0" ]; then echo "WARNING - crond is not running|proc=$lineCount" exit 1; fi if [ $lineCount -eq "1" ]; then echo "OK - crond is running|proc=$lineCount" exit 0; fi if [ $lineCount -gt "1" ]; then echo "UNKNOWN - crond process count > 1|proc=$lineCount" exit 3; fi echo "UNKNOWN - crond process count is unknown|proc=$lineCount" exit 3;
Step 2:
Add the command to /etc/nagios/nrpe.cfg on the host. The necessary line to add in this case is:
command[check_crond]=/usr/lib/nagios/plugins/check_crond
Step 3:
Add the service check to the nagios server. Restart the nagios process.
define service{ use generic-service host_name puppetmaster service_description Crond Process check_command check_nrpe!check_crond } service nagios restart
Step 4:
Verify functionality.
No comments:
Post a Comment