as pnp4nagios do generate the graph of my script?
-
- Posts: 23
- Joined: Sat Apr 18, 2015 9:06 am
as pnp4nagios do generate the graph of my script?
I created a script shell script to get the information on my host mikrotik, and I wonder how do I generate the performace date for pnp4nagios generate the graph.
follows the code:
SSH output = $ ssh teste@192.0.0.1 "/ monitor-traffic interface interface = interfaceuniao once" | grep rx-bits-per-second | sed 's /% //'
# IFS = "";
#declare -a Array = ($ outputSSH)
#output = {$ array [1]}
if ["$ output" = "rx-bits-per-second: 10.0Mbps!"]; Then
echo "OK $ output"
exit 0;
elif ["$ output" == "rx-bits-per-second: 10.0Mbps"]; Then
echo "$ output Critical"
exit 2;
else
echo "Warning $ output"
exit 1;
fi
exit 3;
#exit $ STATE_OK
Return code of linux:
nagios:/usr/local/nagios/libexec# ./check_traffic_uniao_rx_centralfazendas
rx-bits-per-second: 174.0kbps
OK
follows the code:
SSH output = $ ssh teste@192.0.0.1 "/ monitor-traffic interface interface = interfaceuniao once" | grep rx-bits-per-second | sed 's /% //'
# IFS = "";
#declare -a Array = ($ outputSSH)
#output = {$ array [1]}
if ["$ output" = "rx-bits-per-second: 10.0Mbps!"]; Then
echo "OK $ output"
exit 0;
elif ["$ output" == "rx-bits-per-second: 10.0Mbps"]; Then
echo "$ output Critical"
exit 2;
else
echo "Warning $ output"
exit 1;
fi
exit 3;
#exit $ STATE_OK
Return code of linux:
nagios:/usr/local/nagios/libexec# ./check_traffic_uniao_rx_centralfazendas
rx-bits-per-second: 174.0kbps
OK
Re: as pnp4nagios do generate the graph of my script?
You need to supply properly-formatted perfdata at the end of your output:
https://nagios-plugins.org/doc/guidelines.html#AEN200
https://nagios-plugins.org/doc/guidelines.html#AEN200
Former Nagios employee
- Box293
- Too Basu
- Posts: 5126
- Joined: Sun Feb 07, 2010 10:55 pm
- Location: Deniliquin, Australia
- Contact:
Re: as pnp4nagios do generate the graph of my script?
I did a talk on this at the Nagios World Conference, you can watch it here:
https://www.youtube.com/watch?v=kqA2KcpUFg4
http://www.slideshare.net/nagiosinc/tro ... and-graphs
I might make it easier to understand.
https://www.youtube.com/watch?v=kqA2KcpUFg4
http://www.slideshare.net/nagiosinc/tro ... and-graphs
I might make it easier to understand.
As of May 25th, 2018, all communications with Nagios Enterprises and its employees are covered under our new Privacy Policy.
-
- Posts: 23
- Joined: Sat Apr 18, 2015 9:06 am
Re: as pnp4nagios do generate the graph of my script?
dear friends, that and my first script for Nagios took a look in the documentation even more unable to generate the performance date for pnp4nagios generate the chart you could help me with a clear example of how to do?
Re: as pnp4nagios do generate the graph of my script?
As the guidelines state (https://nagios-plugins.org/doc/guidelines.html#AEN200):
For example, the following line:
Should be changed to:
Where $value would be "174.0" in your example. You will need to clean up the output so that just the number from the check is loaded into the $value in the performance data.
You need to add the performance data to the end of your return string. You will need to clean up the output pulled from your device as the performance data does not support alpha strings as a performance data value.Nagios 3 and newer will concatenate the parts following a "|" in a) the first line output by the plugin, and b) in the second to last line, into a string it passes to whatever performance data processing it has configured. (Note that it currently does not insert additional whitespace between both, so the plugin needs to provide some to prevent the last pair of a) and the first of b) getting run together.) Please refer to the Nagios documentation for information on how to configure such processing. However, it is the responsibility of the plugin writer to ensure the performance data is in a "Nagios Plugins" format. This is the expected format:
'label'=value[UOM];[warn];[crit];[min];[max]
For example, the following line:
Code: Select all
echo "OK $output"
Code: Select all
echo "OK $output | rx-bits-per-second=$value"
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.
- Box293
- Too Basu
- Posts: 5126
- Joined: Sun Feb 07, 2010 10:55 pm
- Location: Deniliquin, Australia
- Contact:
Re: as pnp4nagios do generate the graph of my script?
When modifying plugins to generate performance data, sometimes you might have some errors in the output and realize it a bit later. After fixing the problem in your plugin you may still have issues with the graphs not working.
In these situations, delete the .rrd and .xml files that were generated so the .rrd files are created from scratch. This ensures you are testing the graphs with the latest output from the plugin.
In these situations, delete the .rrd and .xml files that were generated so the .rrd files are created from scratch. This ensures you are testing the graphs with the latest output from the plugin.
As of May 25th, 2018, all communications with Nagios Enterprises and its employees are covered under our new Privacy Policy.
-
- Posts: 23
- Joined: Sat Apr 18, 2015 9:06 am
Re: as pnp4nagios do generate the graph of my script?
dear friends I modified the script in bash runs without errors in the nagios return critical.
code:
# Bash -x check_traffic guapirama_tx_central farms
SSH output = $ ssh teste@192.168.0.1 "/ monitor-traffic interface interface = interfaceguapirama once" | grep tx-bits-per-second | sed 's /% //'> tx-guapirama.txt
value = 1024
comp = 18432
output = $ (sed 's / tx-bits-per-second: //; s / Mbps //; s / kbps //' tx-guapirama.txt)
output = $ (echo $ output | cut -d -f 1.)
show = $ (sed 's / tx-bits-per-second: // g' tx-guapirama.txt)
if [$ output -g 18]; then echo "$ Ok shows" exit 0;
elif [$ output -l 18]; Then
calc = $ [$ output * $ value]
if [$ calc -l $ comp]; then
echo "$ Ok shows" exit 0;
else echo "$ Critical shows" exit 2;
fi
else echo "$ Warning shows" exit 1;
fi
exit 3;
good to have this script Graphical this correct? or missing something.
from what I understand the output of commands.cfg will be something like
command_line $ USER1 $ / check_snmp -H $ HostAddress $ -C publicnovanet .1.3.6.1.4.1.14988.1.1.1.2.1.14.212.202.109.17.95.10.5 -o -w, -c -66, -74
more as I place my script pass this information?
I want Nagios alarm if the data TRANSMISSION move from 18Mbps
script of return:
nagios / usr / local / nagios / libexec # ./check_traffic_guapirama_tx_centralfazendas
Ok 4.3Mbps
nagios / usr / local / nagios / libexec #
code:
# Bash -x check_traffic guapirama_tx_central farms
SSH output = $ ssh teste@192.168.0.1 "/ monitor-traffic interface interface = interfaceguapirama once" | grep tx-bits-per-second | sed 's /% //'> tx-guapirama.txt
value = 1024
comp = 18432
output = $ (sed 's / tx-bits-per-second: //; s / Mbps //; s / kbps //' tx-guapirama.txt)
output = $ (echo $ output | cut -d -f 1.)
show = $ (sed 's / tx-bits-per-second: // g' tx-guapirama.txt)
if [$ output -g 18]; then echo "$ Ok shows" exit 0;
elif [$ output -l 18]; Then
calc = $ [$ output * $ value]
if [$ calc -l $ comp]; then
echo "$ Ok shows" exit 0;
else echo "$ Critical shows" exit 2;
fi
else echo "$ Warning shows" exit 1;
fi
exit 3;
good to have this script Graphical this correct? or missing something.
from what I understand the output of commands.cfg will be something like
command_line $ USER1 $ / check_snmp -H $ HostAddress $ -C publicnovanet .1.3.6.1.4.1.14988.1.1.1.2.1.14.212.202.109.17.95.10.5 -o -w, -c -66, -74
more as I place my script pass this information?
I want Nagios alarm if the data TRANSMISSION move from 18Mbps
script of return:
nagios / usr / local / nagios / libexec # ./check_traffic_guapirama_tx_centralfazendas
Ok 4.3Mbps
nagios / usr / local / nagios / libexec #
Re: as pnp4nagios do generate the graph of my script?
Please reread my post and the associated guidelines. You need to output a "pipe" character ( "|" ) after your status output, and then a label for the perfrormance data track, and equals sign ( "=" ) and then the value. Try appending your status output with "| rx=$output". for example:
Of this still does not work, try seding out the "Mbps" from the output used for the performance data value.
Code: Select all
[snip]
if [$ calc -l $ comp]; then
echo "$ Ok shows| rx=$output" exit 0;
else echo "$ Critical shows | rx=$output" exit 2;
fi
else echo "$ Warning shows | rx=$output" exit 1;
fi
exit 3;
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.
-
- Posts: 23
- Joined: Sat Apr 18, 2015 9:06 am
Re: as pnp4nagios do generate the graph of my script?
DEAR FRIENDS able GENERATING GRAPHIC NAGIOS NO THANKS TO HELP YOU, MY WHEEL PLUGIN NORMAL IN A NETWORK EQUIPMENT WHEN ADD IN OTHER EQUIPMENT HE RETURNS uknow ERROR.
FOLLOW THE CODE:
# bash -x check_ccq_alvorada_rx_18
outputSSH=$ ssh coleta@10.255.255.139 "/interface wireless monitor 1 once"|grep rx-ccq|sed 's/%//' > ccq-rx-alvorada-18.txt
output=$(sed 's/rx-ccq://g' ccq-rx-alvorada-18.txt)
if [ $output -ge 85 ] ; then
echo "$output % | ccqrx=$output"
exit 0;
elif [ $output -le 85 ]; then
echo "$output % | ccqrx=$output"
exit 2;
else
echo "ERROR - SEM RETORNO NO ARQUIVO ccq-rx-alvorada-18.txt"
exit 1;
fi
exit 3;
CODE OF RETURN:
nagios:/usr/local/nagios/libexec# ./check_ccq_alvorada_rx_18
: esperado expressão de número inteiro 99
: esperado expressão de número inteiro 99
ERROR - SEM RETORNO NO ARQUIVO ccq-rx-alvorada-18.txt
nagios:/usr/local/nagios/libexec#
FILE GENERATED BY NAGIOS:
nagios:/usr/local/nagios/libexec# cat /tmp/ccq-rx-alvorada-18.txt
nagios:/usr/local/nagios/libexec#
FOLLOW THE CODE:
# bash -x check_ccq_alvorada_rx_18
outputSSH=$ ssh coleta@10.255.255.139 "/interface wireless monitor 1 once"|grep rx-ccq|sed 's/%//' > ccq-rx-alvorada-18.txt
output=$(sed 's/rx-ccq://g' ccq-rx-alvorada-18.txt)
if [ $output -ge 85 ] ; then
echo "$output % | ccqrx=$output"
exit 0;
elif [ $output -le 85 ]; then
echo "$output % | ccqrx=$output"
exit 2;
else
echo "ERROR - SEM RETORNO NO ARQUIVO ccq-rx-alvorada-18.txt"
exit 1;
fi
exit 3;
CODE OF RETURN:
nagios:/usr/local/nagios/libexec# ./check_ccq_alvorada_rx_18
: esperado expressão de número inteiro 99
: esperado expressão de número inteiro 99
ERROR - SEM RETORNO NO ARQUIVO ccq-rx-alvorada-18.txt
nagios:/usr/local/nagios/libexec#
FILE GENERATED BY NAGIOS:
nagios:/usr/local/nagios/libexec# cat /tmp/ccq-rx-alvorada-18.txt
nagios:/usr/local/nagios/libexec#
- Box293
- Too Basu
- Posts: 5126
- Joined: Sun Feb 07, 2010 10:55 pm
- Location: Deniliquin, Australia
- Contact:
Re: as pnp4nagios do generate the graph of my script?
So it looks like your plugin is creating this file:
ccq-rx-alvorada-18.txt
When you were testing I assume you did your testing as the user root.
When the nagios monitoring engine goes to run the command, it does this as the user nagios.
So what is happening is the user nagios probably doesn't have permissions to the file ccq-rx-alvorada-18.txt.
Delete the file so the nagios user creates it with the correct permissions OR change the permissions on the file so the nagios user can update it.
Does this fix your problem?
ccq-rx-alvorada-18.txt
When you were testing I assume you did your testing as the user root.
When the nagios monitoring engine goes to run the command, it does this as the user nagios.
So what is happening is the user nagios probably doesn't have permissions to the file ccq-rx-alvorada-18.txt.
Delete the file so the nagios user creates it with the correct permissions OR change the permissions on the file so the nagios user can update it.
Does this fix your problem?
As of May 25th, 2018, all communications with Nagios Enterprises and its employees are covered under our new Privacy Policy.