Return variables do not appear in web script bash nagios

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
Locked
ToyahHodges
Posts: 1
Joined: Sun Sep 12, 2021 9:33 pm

Return variables do not appear in web script bash nagios

Post by ToyahHodges »

I have made a small script that takes values ​​from a server, evaluates them and should show them on the nagios website. but it does not report the variables.

The script is:

#!/bin/bash

dat=$(/usr/bin/curl -s http://$1/cgi-bin/Harm.cgi?slot=1|grep -i dbm|awk -v FS="(<Val>|</Val>)" '{print 20}'|bc -l )

echo "OK - Power $dat dbm"
exit 0

But in the nagios web it only shows me "OK - Power dbm" without the variable value.
if I run the script in the environment user nagios the result is correct --> OK - Power 20 dbm

I have set the script permissions to the top -rwxrwxrwx

Any suggestions to make it work

Thank you
gormank
Posts: 1114
Joined: Tue Dec 02, 2014 12:00 pm

Re: Return variables do not appear in web script bash nagios

Post by gormank »

You might want to post the service config file.
Maybe break the pipe into smaller parts and redirect into files to test, while leaving the original pipe unchanged.

/usr/bin/curl -s http://$1/cgi-bin/Harm.cgi?slot=1 > /home/nagios/curl.log
grep -i dbm /home/nagios/curl.log > /home/nagios/grep.log
awk -v FS="(<Val>|</Val>)" '{print 20}' /home/nagios/awk.log | bc -l > /home/nagios/awk.log

Once the issue is found, you can fix the original pipe.
Locked