Ability to search Performance Graphs by Data Source
Ability to search Performance Graphs by Data Source
Hi All,
I have some suggestions that if included could definitely help with some of the bugs as well as improve the overall experience.
1. Break the output of plugins if say more than n lines into multiple pages for eg. see the attachment output length. If we can make it broken and be viewable by hitting more than the ajax scripts would have less to deal with at any point of time.
2. Then it would extremely helpful to search performance graphs by the label/heading of the datasource so users can find things quickly instead of trolling through the entire page. Also if the same as above is done in the perfomance graphs i.e say if their are more than 10 graphs for a service check break it into more pages. Again improving performance.
It would be extremely usefull to have these features and I dont think its massively difficult to implement considering you already have similar behaviour in some of the other pages.
Many Thanks
Arnab
I have some suggestions that if included could definitely help with some of the bugs as well as improve the overall experience.
1. Break the output of plugins if say more than n lines into multiple pages for eg. see the attachment output length. If we can make it broken and be viewable by hitting more than the ajax scripts would have less to deal with at any point of time.
2. Then it would extremely helpful to search performance graphs by the label/heading of the datasource so users can find things quickly instead of trolling through the entire page. Also if the same as above is done in the perfomance graphs i.e say if their are more than 10 graphs for a service check break it into more pages. Again improving performance.
It would be extremely usefull to have these features and I dont think its massively difficult to implement considering you already have similar behaviour in some of the other pages.
Many Thanks
Arnab
You do not have the required permissions to view the files attached to this post.
Re: Ability to search Performance Graphs by Data Source
Hmm, I'm about to present you with a dilemma in that regard. I found and fixed the bug where plugin output was causing the segmentation fault. However, in order to do so I had to limit the character length of plugin output. Longer output strings with lots of special characters will exceed a memory limit in one of the PHP built-in functions, so the only way we can fix it right now is by limiting the character length to a few thousand characters.1. Break the output of plugins if say more than n lines into multiple pages for eg. see the attachment output length. If we can make it broken and be viewable by hitting more than the ajax scripts would have less to deal with at any point of time.
Know that although as of Nagios Core 3.0, plugins can output multiple lines, we do clearly state the in the developer guidelines to keep the plugin output short and to the point. Starting in our next release of XI, the character limit of plugin output that's displayed in the web UI will be either 3000 or 4000 characters, pending a few more tests.
http://nagiosplug.sourceforge.net/devel ... html#AEN33
How many data sources are your plugins typically returning?2. Then it would extremely helpful to search performance graphs by the label/heading of the datasource so users can find things quickly instead of trolling through the entire page. Also if the same as above is done in the perfomance graphs i.e say if their are more than 10 graphs for a service check break it into more pages. Again improving performance.
Re: Ability to search Performance Graphs by Data Source
Hi ,
Thanks for letting me know, I understand the issue unfortunately I am in bigger trouble than you'r their is a very big need for us to show multiple lines, in this case we are monitoring a wireless controller with say 800 AP's creating 800 hosts for that would be nightmare as the AP's are dynamic and their IP etc. could change so the only way to monitor them is via the controller. Can you suggest a better solution ? Every AP returns performance data via my plugin i.e. number of users associated etc. Hence the request to be able to search them.
Many Thanks
Arnab
Thanks for letting me know, I understand the issue unfortunately I am in bigger trouble than you'r their is a very big need for us to show multiple lines, in this case we are monitoring a wireless controller with say 800 AP's creating 800 hosts for that would be nightmare as the AP's are dynamic and their IP etc. could change so the only way to monitor them is via the controller. Can you suggest a better solution ? Every AP returns performance data via my plugin i.e. number of users associated etc. Hence the request to be able to search them.
Many Thanks
Arnab
Re: Ability to search Performance Graphs by Data Source
Hmm, could you send me a sample of the full plugin output with performance data that you get from running this check? (You can send it in a PM or email). I think we can figure something out that will be a more effective solution than having such a large amount of data returning in a single check. Do the hosts have some form of unique identifier other than an IP address? If they do, an idea that comes to mind would be to have your current check plugin running on a cron job and dumping the output to a .dat file, and then having a check that parses the .dat file for the unique host identifier. That would give you much more effective monitoring and allow you to distinguish alerts and availability of individual hosts much better. Would something like that work?
Re: Ability to search Performance Graphs by Data Source
Hi ,
We are indeed doing that the way my plugin works is we are dumping the snmp output into the mysql database and then displaying it on Nagiosxi. I have attached the raw output of the plugin which works at the moment obviously this will stop once we upgrade
Any help would be extremely helpful. I also a bunch of feature requests from our end customers dont know where to divert them to, do you know if we can channel these via your sales team as we could reach some commercial agreement to prioritise stuff ?
Cheers
Arnab
We are indeed doing that the way my plugin works is we are dumping the snmp output into the mysql database and then displaying it on Nagiosxi. I have attached the raw output of the plugin which works at the moment obviously this will stop once we upgrade

Cheers
Arnab
You do not have the required permissions to view the files attached to this post.
Re: Ability to search Performance Graphs by Data Source
Ok, what I think you should do is create an additional check that runs against the data that you're showing me in the text file. I can't give exact details without knowing more about the database table structure for how this is being stored, but I'll give an example of a check that can be created from the sample output you gave. I'm not totally sure how the performance data is working since the perfdata descriptions don't line up with the AP Hostnames. I'll pseudo-code it so you can think about it in whatever language you're comfortable with.We are indeed doing that the way my plugin works is we are dumping the snmp output into the mysql database and then displaying it on Nagiosxi.
./check_accesspoint_host --host=<hostname> --warning=(integer) --critical=(integer)
Pseudocode:
Code: Select all
$hostname = <command-line input for hostname>
$warning = <input for warning>
$critical = <input for critical>
open file handle for large data string
while lines in file, grab line
if hostname is found in the line
$hostdata = grab the line
$usercount = slice the string contents of $hostdata and grab everything after "Clients-", trim trailing whitespace
if ($usercount > $critical)
print "CRITICAL"+$hostdata
exit(2)
elseif ($usercount > $warning)
print "WARNING"+$hostdata
exit(1)
else
print "OK"+$hostdata
Re: Ability to search Performance Graphs by Data Source
The logic of the plugin will still work, but all plugin output (everything before the pipe) will not be displayed in the interface. The example you sent had around 1250 characters before the pipe, so it would still all display in the interface even after the bug fix in our next release.I have attached the raw output of the plugin which works at the moment obviously this will stop once we upgrade
I would go ahead and write up a list and submit it to both our support team and sales team via email. We can do custom work on a timeline if needed, but that has to go through sales.Any help would be extremely helpful. I also a bunch of feature requests from our end customers dont know where to divert them to, do you know if we can channel these via your sales team as we could reach some commercial agreement to prioritise stuff ?
Re: Ability to search Performance Graphs by Data Source
Hi ,
The example I sent you had the top part missing was feeling a bit lazy while copying :p thats why the perfdata and output dont match, the psuedo code you have sent me is already their in my code
. The challenge here is representation of the data, I can change the code so it only shows AP's which have problems i.e. warn or crit , doesnt the output limit apply on the performance data also ? In this example their are only 80 AP's but we could have about 1000 one of our largest customers. In that case it would be much more than this you can say 100 times more. How do you suggest we can represent that ? I have attached the table from mysql. I can always create another webpage and display this but that wont be integrated with the whole UI and would sort of lose sense.
Cheers
Arnab
The example I sent you had the top part missing was feeling a bit lazy while copying :p thats why the perfdata and output dont match, the psuedo code you have sent me is already their in my code

Cheers
Arnab
You do not have the required permissions to view the files attached to this post.
Re: Ability to search Performance Graphs by Data Source
On a second read I kind of understand what you mean vaguely are you saying that seperate entries for every AP in Nagios / create a service for every ap and you use the check command to pull the info into nagios?
Re: Ability to search Performance Graphs by Data Source
Yeah, and actually based on what you just showed me in the table, you could run a query based on the apname to pull the data individually, which would be much easier than what I was suggesting.
./check_accesspoint_host --apname=<apname> --warning=(integer) --critical=(integer)
$apname = <shell input apname>
run query: "SELECT * FROM <tbl_accesspoints> WHERE apname='$apname';
check thresholds
return results
Based on what you told me for your client base, this would however increase your monitoring check load substantially. But I also think it would give you much more effective monitoring as you could group and sort access points much easier, track their reliability and usage easier, and generate reports on individual or groups of access points.
I'm also going to revisit the fix that I did and see if I can slice the string into parts and then process it. I think ndoutils has about an 8k character limit on the status text, so you'll still be limited by that, but I'll see if I can make it so that we don't have to shorten what is displayed in the XI interface.
./check_accesspoint_host --apname=<apname> --warning=(integer) --critical=(integer)
$apname = <shell input apname>
run query: "SELECT * FROM <tbl_accesspoints> WHERE apname='$apname';
check thresholds
return results
Based on what you told me for your client base, this would however increase your monitoring check load substantially. But I also think it would give you much more effective monitoring as you could group and sort access points much easier, track their reliability and usage easier, and generate reports on individual or groups of access points.
I'm also going to revisit the fix that I did and see if I can slice the string into parts and then process it. I think ndoutils has about an 8k character limit on the status text, so you'll still be limited by that, but I'll see if I can make it so that we don't have to shorten what is displayed in the XI interface.