I wrote a bash script for a custom nagios plugin that passes two command arguments for the warning and critical thresholds. When I run the bash script locally while passing the two arguments it works correctly (also tested by su to nrpe user and works there as well). However, when I run it remotely on the monitoring server the script does not work correctly, meaning, it doesn't appropriately assign the warning and critical thresholds.
From this I believe it to be an issue with argument passing, however, I am fairly sure I have it configured correctly. The only weird thing I would say about it is that I have added sudo to the command in nrpe.cfg on the remote host.
The setup looks like this:
remote host
/etc/nagios/nrpe.cfg
command[customcheck_bash]=/usr/bin/sudo /usr/lib/nagios/plugins/customcheck.sh --warning $ARG1$ --critical $ARG2$
monitoring server
/etc/nagios3/commands.cfg
define command{
command_name customcheck_bash
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ $ARG3$
}
/etc/nagios3/conf.d/custom_server.cfg
define service {
use generic-service
host_name client
service_description Custom checker
check_command check_nrpe!customcheck_bash!10!20
}
any help would be appreciated, I've looked at countless sites for this but can't seem to figure it out.
Thanks!
Best Answer
finally figured this out and was very trivial. What you suggested would've helped if I had seen it in time. But basically the issue was this line:
you do not need the
--warning
and--critical
flags