Just to verify, this:
printf '%b\n%s' "$sen_return" "$nuxeo_return"
at the very end, is the only line you are attempting to change the newline character at, correct? What does your current line here look like. As for output, considering you are using a newline, this is exactly what I would expect it to look like. The nuxeo_return value is going to be on the long service output message. When you use a newline character, it is going to break the output between [standard service output]\n[long service output]. This is why we need to use an html or other newline type character, so that when viewing it in html the line is broken, but when nagios has the output it considers it all one line, because it does not have an actual newline to break it up.
That said, the br tag will absolutely work in XI, that doesn't help your for core though. I'm going to have to see if that is possible or not and get back to you.
Script returns different result when ran locally versus nrpe
-
sreinhardt
- -fno-stack-protector
- Posts: 4366
- Joined: Mon Nov 19, 2012 12:10 pm
Re: Script returns different result when ran locally versus
Nagios-Plugins maintainer exclusively, unless you have other C language bugs with open-source nagios projects, then I am happy to help! Please pm or use other communication to alert me to issues as I no longer track the forum.
-
rickwilson7425
- Posts: 125
- Joined: Tue Mar 18, 2014 3:20 pm
Re: Script returns different result when ran locally versus
That is correct, I am using that "printf" line for my experimenting. Trying to keep it simple for now until we get a handle on the display problem.
Re: Script returns different result when ran locally versus
I see you are posting in the customer forums. Do you still maintenance/support? Are you able to send a ticket to [email protected]? If so, we could move this to a remote session.
Former Nagios employee
"It is turtles. All. The. Way. Down. . . .and maybe an elephant or two."
VI VI VI - The editor of the Beast!
Come to the Dark Side.
"It is turtles. All. The. Way. Down. . . .and maybe an elephant or two."
VI VI VI - The editor of the Beast!
Come to the Dark Side.
-
rickwilson7425
- Posts: 125
- Joined: Tue Mar 18, 2014 3:20 pm
Re: Script returns different result when ran locally versus
I could but this is not an XI issue and I really don't want to use up any of our support instances of I don't have to.
Re: Script returns different result when ran locally versus
Fair enough. The next step will have to be to test your script on a test box. Can you post the most recent version of it?
Former Nagios employee
"It is turtles. All. The. Way. Down. . . .and maybe an elephant or two."
VI VI VI - The editor of the Beast!
Come to the Dark Side.
"It is turtles. All. The. Way. Down. . . .and maybe an elephant or two."
VI VI VI - The editor of the Beast!
Come to the Dark Side.
-
rickwilson7425
- Posts: 125
- Joined: Tue Mar 18, 2014 3:20 pm
Re: Script returns different result when ran locally versus
Here is where I left it yesterday. The <br> doesn't get interpreted as a line feed under this scenarios, it just shows up as text in the message. If I use the "\n" it does a line feed but the second line doesn't display as we have discussed before and the line that does display is in blue.
Code: Select all
#!/bin/bash
################# Check SENTINEL Port #################
# Clint adds to make a single return option
sen_return=''
mobil_return=''
nuxeo_return=''
nuxeo_not_defined_error_return=''
mobile_not_defined_error_return=''
final_response_string=''
exit_value=0
HOSTNAME_REDIS=`hostname -s`
# Gather ports (default sentinel port is 26379)
SEN_PORT=`grep -P '^port ' /etc/redis/rsentinel.conf | cut -f2 -d' ' | sort -u | tail -1`
if [[ `/usr/local/bin/redis-cli -p $SEN_PORT PING | grep 'PONG'` ]];then
# Success
sen_return="Sentinel port $SEN_PORT on $HOSTNAME_REDIS is OK. \<br>"
else
# Failure
sen_return="Sentinel port $SEN_PORT on $HOSTNAME_REDIS FAILED!!"
exit_value=1
fi
################# Check MOBILE Port #################
if [[ `find /apps/opt -maxdepth 1 -type d | grep /apps/opt/Tomcat_JDM` \
|| `find /apps/opt -maxdepth 1 -type d | grep /apps/opt/Tomcat_PWM` \
|| `find /apps/opt -maxdepth 1 -type d | grep /apps/opt/Tomcat_FDS` \
|| `find /apps/opt -maxdepth 1 -type d | grep /apps/opt/Tomcat_SYNC` \
|| `find /apps/opt -maxdepth 1 -type d | grep /apps/opt/Tomcat_REGISTRAR` ]];then
MOBIL_PORT=`grep 'MobileServices_Redis_Master ' /etc/redis/rsentinel.conf | grep 'monitor' | cut -f5 -d' ' | sort -u | tail -1`
if [ -z $MOBIL_PORT ];then
mobile_not_defined_error_return="WARNING $HOSTNAME_REDIS MOBILE REDIS NOT DEFINED IN SENTINEL."
exit_value=1
fi
if [[ `/usr/local/bin/redis-cli -p $MOBIL_PORT PING | grep 'PONG'` ]];then
# Success
mobil_return="Mobile port $MOBIL_PORT on $HOSTNAME_REDIS is OK. "
else
# Failure
mobil_return="Mobile port $MOBIL_PORT on $HOSTNAME_REDIS FAILED!!"
exit_value=1
fi
fi
################### Check NUXEO Port #################
if [[ `find /apps/opt -maxdepth 1 -type d | grep /apps/opt/nuxeo-jdm-server` ]];then
NUXEO_PORT=`grep -w Nuxeo_Redis_Master /etc/redis/rsentinel.conf | grep 'monitor' | cut -f5 -d' ' | sort -u | tail -1`
if [ -z $NUXEO_PORT ];then
nuxeo_not_defined_error_return="WARNING $HOSTNAME_REDIS NUXEO REDIS NOT DEFINED IN SENTINEL."
exit_value=1
fi
if [[ `/usr/local/bin/redis-cli -p $NUXEO_PORT PING | grep 'PONG'` ]];then
# Success
nuxeo_return="Nuxeo port $NUXEO_PORT on $HOSTNAME_REDIS is OK. \<br>"
else
# Failure
nuxeo_return="Nuxeo port $NUXEO_PORT on $HOSTNAME_REDIS FAILED!!"
exit_value=1
fi
fi
# Evaluate and return pretty printed output
final_response_string='';
# export final_response_string="${sen_return} ${mobil_return} ${nuxeo_return} ${nuxeo_not_defined_error_return} ${mobile_not_defined_error_return}"
for i in "$sen_return" "$mobil_return" "$nuxeo_return" "$nuxeo_not_defined_error_return" "$mobile_not_defined_error_return";do
if [[ -z "$i" ]];then continue;fi
# export final_response_string="$final_response_string"`echo "$i" | perl -nle'$x=( length($_) > 45 ) ? ( 44 - (length($_) % 45)) : ( 44 - length($_) );print "$_" . ". "x${x};'`
export final_response_string="$sen_return $nuxeo_return"
done
# printf '%b' "$sen_return" "$nuxeo_return"
# done
echo -e "$final_response_string"
exit $exit_valueRe: Script returns different result when ran locally versus
Well, not much testing I can do here, other than zero out you script to just the echos.
Former Nagios employee
"It is turtles. All. The. Way. Down. . . .and maybe an elephant or two."
VI VI VI - The editor of the Beast!
Come to the Dark Side.
"It is turtles. All. The. Way. Down. . . .and maybe an elephant or two."
VI VI VI - The editor of the Beast!
Come to the Dark Side.