This support forum board is for support questions relating to
Nagios XI , our flagship commercial network monitoring solution.
jjelinek
Posts: 1 Joined: Thu Feb 11, 2016 5:48 am
Post
by jjelinek » Thu Jul 07, 2016 4:58 am
Hello
I didn't found same question here, but sorry if it is already here or if it is dumb question
We have bandwidth checks with these arguments:
for warning 0.001:,0.001:
for critical 1.9,1.9
It's in Mbits. Idea is to have warning when bandwidth is below 1kbit and critical when it's over 1.9 Mbit.
But it looks like check_rrdtraf doesn't work correctly with that (especially with X: or :X arguments). Is it correct or is there any other way how to set it up?
Thanks in advance
Jakub
rkennedy
Posts: 6579 Joined: Mon Oct 05, 2015 11:45 am
Post
by rkennedy » Thu Jul 07, 2016 12:26 pm
Looking at the check_rrdtraf plugin, you should be able to modify the section that deals with the warning / critical thresholds -
Code: Select all
if [ $FILEAGE -gt $MAXAGE ]; then
echo "WARNING - MRTG log file is older than maximum allowed threshold"
exit $STATE_WARNING
elif [ $(($DVALUEIN/${DIV:-1024})) -gt $INCRIT -o $(($DVALUEOUT/${DIV:-1024})) -gt $OUTCRIT ]; then
echo -n "CRITICAL - Current BW in: $(echo "scale=$SCALE; ($VALUEIN/$SDIVIN)"| bc)"$SLABELIN"bps Out: $(echo "scale=$SCALE; ($VALUEOUT/$S$
echo -n "|in=$(echo "scale=6; ($VALUEIN/$SDIVIN)"| bc)$SLABELIN""b/s;$INWARN;$INCRIT "
echo "out=$(echo "scale=6; ($VALUEOUT/$SDIVOUT)"| bc)$SLABELOUT""b/s;$OUTWARN;$OUTCRIT"
exit $STATE_CRITICAL
elif [ $(($DVALUEIN/${DIV:-1024})) -gt $INWARN -o $(($DVALUEOUT/${DIV:-1024})) -gt $OUTWARN ]; then
echo -n "WARNING - Current BW in: $(echo "scale=$SCALE; ($VALUEIN/$SDIVIN)"| bc)"$SLABELIN"bps Out: $(echo "scale=$SCALE; ($VALUEOUT/$SD$
echo -n "|in=$(echo "scale=6; ($VALUEIN/$SDIVIN)"| bc)$SLABELIN""b/s;$INWARN;$INCRIT "
echo "out=$(echo "scale=6; ($VALUEOUT/$SDIVOUT)"| bc)$SLABELOUT""b/s;$OUTWARN;$OUTCRIT"
exit $STATE_WARNING
else
echo -n "OK - Current BW in: $(echo "scale=$SCALE; ($VALUEIN/$SDIVIN)"| bc)"$SLABELIN"bps Out: $(echo "scale=$SCALE; ($VALUEOUT/$SDIVOUT$
echo -n "|in=$(echo "scale=6; ($VALUEIN/$SDIVIN)"| bc)$SLABELIN""b/s;$INWARN;$INCRIT "
echo "out=$(echo "scale=6; ($VALUEOUT/$SDIVOUT)"| bc)$SLABELOUT""b/s;$OUTWARN;$OUTCRIT"
exit $STATE_OK
fi
Which would become something like this -
Code: Select all
if [ $FILEAGE -gt $MAXAGE ]; then
echo "WARNING - MRTG log file is older than maximum allowed threshold"
exit $STATE_WARNING
elif [ $(($DVALUEIN/${DIV:-1024})) -lt $INCRIT -o $(($DVALUEOUT/${DIV:-1024})) -lt $OUTCRIT ]; then
echo -n "CRITICAL - Current BW in: $(echo "scale=$SCALE; ($VALUEIN/$SDIVIN)"| bc)"$SLABELIN"bps Out: $(echo "scale=$SCALE; ($VALUEOUT/$S$
echo -n "|in=$(echo "scale=6; ($VALUEIN/$SDIVIN)"| bc)$SLABELIN""b/s;$INWARN;$INCRIT "
echo "out=$(echo "scale=6; ($VALUEOUT/$SDIVOUT)"| bc)$SLABELOUT""b/s;$OUTWARN;$OUTCRIT"
exit $STATE_CRITICAL
elif [ $(($DVALUEIN/${DIV:-1024})) -lt $INWARN -o $(($DVALUEOUT/${DIV:-1024})) -lt $OUTWARN ]; then
echo -n "WARNING - Current BW in: $(echo "scale=$SCALE; ($VALUEIN/$SDIVIN)"| bc)"$SLABELIN"bps Out: $(echo "scale=$SCALE; ($VALUEOUT/$SD$
echo -n "|in=$(echo "scale=6; ($VALUEIN/$SDIVIN)"| bc)$SLABELIN""b/s;$INWARN;$INCRIT "
echo "out=$(echo "scale=6; ($VALUEOUT/$SDIVOUT)"| bc)$SLABELOUT""b/s;$OUTWARN;$OUTCRIT"
exit $STATE_WARNING
else
echo -n "OK - Current BW in: $(echo "scale=$SCALE; ($VALUEIN/$SDIVIN)"| bc)"$SLABELIN"bps Out: $(echo "scale=$SCALE; ($VALUEOUT/$SDIVOUT$
echo -n "|in=$(echo "scale=6; ($VALUEIN/$SDIVIN)"| bc)$SLABELIN""b/s;$INWARN;$INCRIT "
echo "out=$(echo "scale=6; ($VALUEOUT/$SDIVOUT)"| bc)$SLABELOUT""b/s;$OUTWARN;$OUTCRIT"
exit $STATE_OK
fi
I just flipped the 'gt' to 'lt' (greater than -> less than). It will probably take some testing in your environment, but should work. Hopefully this is a start! Let us know if you run into any issues.
Former Nagios Employee