Xymon Mailing List Archive search

Multi-rrd graphs

6 messages in this thread

list Vernon Everett · Tue, 6 Jul 2010 16:04:59 +0800 ·
Hi all

OK, I am probably pushing the envelope here, but maybe it's possible.

Lets assume I am collecting data about some disks.
Or maybe we don't assume. I am doing it.
As data, I am collecting
    % Cache hits
    % Reads
    % Writes
Using split NCV, I get a bunch of files.
cache,vol01.rrd
cache,vol02.rrd
cache,vol03.rrd
cache,vol04.rrd
read,vol01.rrd
read,vol02.rrd
read,vol03.rrd
read,vol04.rrd
write,vol01.rrd
write,vol02.rrd
write,vol03.rrd
write,vol04.rrd

Using the standard graph definitions, I can get all the cache values
on one graph, all the read values on another etc. etc.
Is there a way to group them by the volume name?
So I end up with a graph of cache, read and write for vol1 on one graph.
The cache, read and write for vol1 on another etc. etc.

Of course, in reality, I have far more than vol01-04, and they are not
all volXX either, so hard coding the hobbitgraph.cfg entry isn't an
option.

Possible?

Regards
     Vernon.
list W.J.M. Nelis · Tue, 06 Jul 2010 10:27:18 +0200 ·
Hello Vernon,
quoted from Vernon Everett
OK, I am probably pushing the envelope here, but maybe it's possible.

Lets assume I am collecting data about some disks.
Or maybe we don't assume. I am doing it.
As data, I am collecting
    % Cache hits
    % Reads
    % Writes
Using split NCV, I get a bunch of files.
cache,vol01.rrd
cache,vol02.rrd
cache,vol03.rrd
cache,vol04.rrd
read,vol01.rrd
read,vol02.rrd
read,vol03.rrd
read,vol04.rrd
write,vol01.rrd
write,vol02.rrd
write,vol03.rrd
write,vol04.rrd

Using the standard graph definitions, I can get all the cache values
on one graph, all the read values on another etc. etc.
Is there a way to group them by the volume name?
So I end up with a graph of cache, read and write for vol1 on one graph.
The cache, read and write for vol1 on another etc. etc.

Of course, in reality, I have far more than vol01-04, and they are not
all volXX either, so hard coding the hobbitgraph.cfg entry isn't an
option.

Possible?
  
In a somewhat similar case (statistics of all DHCP adress-pools) a solution was build using the following components:
 . A client-side script which collects the data and sends is using NCV and a naming convention. The names used in the NCV section are "<File>/<Dataset>". All variables with the same <File> end up in the same RRD.
 . Using parameters extra-tests and extra-script in the hobbitchannel command to divert the data stream to a script. This script will use <File> to generate the name of the RRD and update the supplied <Dataset>.
 . Using GRAPHS="...,test::1" to have Xymon generate the correct number of graphs.
 . Using a small script in the graph definition to generate the title of the graph from the RRD file name.

HTH,
  Wim Nelis.


*******************************************************************************************************
The NLR disclaimer (http://www.nlr.nl/emaildisclaimer) is valid for NLR e-mail messages.
*******************************************************************************************************
list Ralph Mitchell · Tue, 6 Jul 2010 07:18:15 -0400 ·
I don't know if there's a way to do that with Xymon configs so, until one of
our graph wizards come up with an answer, you could look into doing it the
hard(er) way...  If you script the graph generation to drop graphs somewhere
in your web server's htdocs tree, you could follow up with a status report
to xymon containing links to the images.  Something similar to this:

   #!/bin/bash

   /usr/bin/rrdtool graph /var/www/server/htdocs/graphs/volX.png \
     DEF:xxx......
     LINE:xxx.....
     etc

   /home/xymon/server/bin/bb localhost "status server.vols green `date`
   <img src=......>"

Run that out of cron every few minutes.  It would take a bit more work to
add the zoom functions and the ability to click through to get longer
time-span graphs, but at least you'd have something...

I've done something similar to this at work because I can't install Xymon...
 :(

Ralph Mitchell
quoted from Vernon Everett


On Tue, Jul 6, 2010 at 4:04 AM, Vernon Everett <user-b3f8dacb72c8@xymon.invalid>wrote:
Hi all

OK, I am probably pushing the envelope here, but maybe it's possible.

Lets assume I am collecting data about some disks.
Or maybe we don't assume. I am doing it.
As data, I am collecting
   % Cache hits
   % Reads
   % Writes
Using split NCV, I get a bunch of files.
cache,vol01.rrd
cache,vol02.rrd
cache,vol03.rrd
cache,vol04.rrd
read,vol01.rrd
read,vol02.rrd
read,vol03.rrd
read,vol04.rrd
write,vol01.rrd
write,vol02.rrd
write,vol03.rrd
write,vol04.rrd

Using the standard graph definitions, I can get all the cache values
on one graph, all the read values on another etc. etc.
Is there a way to group them by the volume name?
So I end up with a graph of cache, read and write for vol1 on one graph.
The cache, read and write for vol1 on another etc. etc.

Of course, in reality, I have far more than vol01-04, and they are not
all volXX either, so hard coding the hobbitgraph.cfg entry isn't an
option.

Possible?

Regards
    Vernon.

list Buchan Milne · Tue, 6 Jul 2010 12:36:16 +0100 ·
quoted from Vernon Everett
On Tuesday, 6 July 2010 09:04:59 Vernon Everett wrote:
Hi all

OK, I am probably pushing the envelope here, but maybe it's possible.

Lets assume I am collecting data about some disks.
Or maybe we don't assume. I am doing it.
As data, I am collecting
    % Cache hits
    % Reads
    % Writes
Using split NCV, I get a bunch of files.
cache,vol01.rrd
cache,vol02.rrd
cache,vol03.rrd
cache,vol04.rrd
read,vol01.rrd
read,vol02.rrd
read,vol03.rrd
read,vol04.rrd
write,vol01.rrd
write,vol02.rrd
write,vol03.rrd
write,vol04.rrd
Ideally, you want all the values for on instance/volume/disk in one RRD file. 
This may not be possible with split ncv ... maybe you should use the devmon 
collector instead?

With devmon's diskio test for the linux-netsnmp template, I get something like 
this:
http://staff.telkomsa.net/~bgmilne/devmon-diskio-graph-public.png
quoted from Ralph Mitchell
?
 
Using the standard graph definitions, I can get all the cache values
on one graph, all the read values on another etc. etc.
Is there a way to group them by the volume name?
So I end up with a graph of cache, read and write for vol1 on one graph.
The cache, read and write for vol1 on another etc. etc.

Of course, in reality, I have far more than vol01-04, and they are not
all volXX either, so hard coding the hobbitgraph.cfg entry isn't an
option.
See the diskio graph definition in 
http://devmon.svn.sf.net/viewvc/devmon/trunk/extras/devmon-
graph.cfg?revision=131&view=markup

But, this works with all the values for a disk in a single RRD file.

Regards,
Buchan
list W.J.M. Nelis · Tue, 06 Jul 2010 14:07:44 +0200 ·
Hello Vernon,
OK, I am probably pushing the envelope here, but maybe it's possible.

Lets assume I am collecting data about some disks.
Or maybe we don't assume. I am doing it.
As data, I am collecting
    % Cache hits
    % Reads
    % Writes
Using split NCV, I get a bunch of files.
cache,vol01.rrd
cache,vol02.rrd
cache,vol03.rrd
cache,vol04.rrd
read,vol01.rrd
read,vol02.rrd
read,vol03.rrd
read,vol04.rrd
write,vol01.rrd
write,vol02.rrd
write,vol03.rrd
write,vol04.rrd

Using the standard graph definitions, I can get all the cache values
on one graph, all the read values on another etc. etc.
Is there a way to group them by the volume name?
So I end up with a graph of cache, read and write for vol1 on one graph.
The cache, read and write for vol1 on another etc. etc.

Of course, in reality, I have far more than vol01-04, and they are not
all volXX either, so hard coding the hobbitgraph.cfg entry isn't an
option.

Possible?
  
In a somewhat similar case (statistics of all DHCP adress-pools) a
solution was build using the following components:
  . A client-side script which collects the data and sends is using NCV
and a naming convention. The names used in the NCV section are
"<File>/<Dataset>". All variables with the same <File> end up in the
same RRD.
  . Using parameters extra-tests and extra-script in the hobbitchannel
command to divert the data stream to a script. This script will use
<File> to generate the name of the RRD and update the supplied <Dataset>.
  . Using GRAPHS="...,test::1" to have Xymon generate the correct number
of graphs.
  . Using a small script in the graph definition to generate the title of
the graph from the RRD file name.

HTH,
   Wim Nelis.


*******************************************************************************************************
The NLR disclaimer (http://www.nlr.nl/emaildisclaimer) is valid for NLR e-mail messages.
*******************************************************************************************************
list Vernon Everett · Tue, 6 Jul 2010 20:26:33 +0800 ·
It might work, but it violates one my own fundamental rules.
 - Simplicity is the ultimate sophistication.
This solution is not simple. :-)

I might have to consider it though.
See comments to Buchan.

Regards
    Vernon
quoted from Ralph Mitchell

On Tue, Jul 6, 2010 at 7:18 PM, Ralph Mitchell <user-00a5e44c48c0@xymon.invalid> wrote:
I don't know if there's a way to do that with Xymon configs so, until one of
our graph wizards come up with an answer, you could look into doing it the
hard(er) way...  If you script the graph generation to drop graphs somewhere
in your web server's htdocs tree, you could follow up with a status report
to xymon containing links to the images.  Something similar to this:
   #!/bin/bash
   /usr/bin/rrdtool graph /var/www/server/htdocs/graphs/volX.png \
     DEF:xxx......
     LINE:xxx.....
     etc
   /home/xymon/server/bin/bb localhost "status server.vols green `date`
   <img src=......>"
Run that out of cron every few minutes.  It would take a bit more work to
add the zoom functions and the ability to click through to get longer
time-span graphs, but at least you'd have something...
I've done something similar to this at work because I can't install Xymon...

 :(
Ralph Mitchell


On Tue, Jul 6, 2010 at 4:04 AM, Vernon Everett <user-b3f8dacb72c8@xymon.invalid>
quoted from W.J.M. Nelis
wrote:
Hi all

OK, I am probably pushing the envelope here, but maybe it's possible.

Lets assume I am collecting data about some disks.
Or maybe we don't assume. I am doing it.
As data, I am collecting
   % Cache hits
   % Reads
   % Writes
Using split NCV, I get a bunch of files.
cache,vol01.rrd
cache,vol02.rrd
cache,vol03.rrd
cache,vol04.rrd
read,vol01.rrd
read,vol02.rrd
read,vol03.rrd
read,vol04.rrd
write,vol01.rrd
write,vol02.rrd
write,vol03.rrd
write,vol04.rrd

Using the standard graph definitions, I can get all the cache values
on one graph, all the read values on another etc. etc.
Is there a way to group them by the volume name?
So I end up with a graph of cache, read and write for vol1 on one graph.
The cache, read and write for vol1 on another etc. etc.

Of course, in reality, I have far more than vol01-04, and they are not
all volXX either, so hard coding the hobbitgraph.cfg entry isn't an
option.

Possible?

Regards
    Vernon.