Xymon Mailing List Archive search

Stack Graphs with SPLITNCV data

6 messages in this thread

list Vernon Everett · Mon, 31 Dec 2012 10:43:44 +0800 ·
Hi all

Has anybody managed to create a stack graph with SPLITNCV data?
How do we configure it?

Once upon a time, I authored this http://www.xymonton.org/monitors:memstat
But it had graphing problems if you didn't have ZFS running. (One field
less than the RRD graph config required.)
In the ToDo section, I promised to have a look at using SPLITNCV.
So I am looking into it now, but struggling.
To do a STACK graph, the first entry has to be AREA, and the rest need to
be STACK.
Configuring the RRD graph with SPLITNCV, applies the same graph type to
each data set.
How do we get the first to be AREA, and the rest STACK?

Any assistance appreciated.

Regards and a happy new year to you all
Vernon


-- 
"Accept the challenges so that you can feel the exhilaration of victory"
- General George Patton
list Henrik Størner · Wed, 02 Jan 2013 13:11:11 +0100 ·
On Mon, 31 Dec 2012 10:43:44 +0800, Vernon Everett
quoted from Vernon Everett
<user-b3f8dacb72c8@xymon.invalid> wrote:
Hi all

Has anybody managed to create a stack graph with SPLITNCV data?
How do we configure it?

Once upon a time, I authored this
http://www.xymonton.org/monitors:memstat
But it had graphing problems if you didn't have ZFS running. (One field
less than the RRD graph config required.)
In the ToDo section, I promised to have a look at using SPLITNCV.
So I am looking into it now, but struggling.
To do a STACK graph, the first entry has to be AREA, and the rest need
to
be STACK.
Configuring the RRD graph with SPLITNCV, applies the same graph type to
each data set.
How do we get the first to be AREA, and the rest STACK?
I don't understand with "SPLITNCV applies the same graph type to each
dataset".

With SPLITNCV you have multiple rrd files, each of these hold one data
item and you define in the SPLITNCV setting what RRD datatype they are -
essentialy GAUGE or COUNTER. E.g. SPLITNCV_foo="ds1:COUNTER,ds2:GAUGE"

In the graph definition, you just refer to the specific RRD-file you want
to pull data from. This has no relation to the data being a GAUGE or a
COUNTER. So the graphs.cfg definition is straight-forward:

[foo]
   DEF:foo1=foo,ds1.rrd:lambda:AVERAGE
   DEF:foo2=foo,ds2.rrd:lambda:AVERAGE
   AREA:foo1#FF0000:foo 1 data
   STACK:foo2#0000FF:foo 2 data


Regards,
Henrik
list Vernon Everett · Wed, 2 Jan 2013 20:46:05 +0800 ·
Hi Henrik

Happy New Year!

Maybe I didn't express myself correctly.
I understand what you say below, and the problem isn't with SPLITNCV, but
rather with configuring the graphs.

As you say below, we can do foo1 as AREA, and all the rest of foo2...fooX
as STACK.
But how do do this if X is an unknown number?
The config example below will work for an unknown number of rrd data files
if we are going to make each data set a LINE2
        FNPATTERN ^disk(.*).rrd
        TITLE Disk Utilization
        YAXIS % Full
        DEF:p at RRDIDX@=@RRDFN@:pct:AVERAGE
        LINE2:p at RRDIDX@#@COLOR@:@RRDPARAM@
But how do we create a stack graph with unknown number of data sets?

Regards
Vernon
quoted from Henrik Størner

On 2 January 2013 20:11, <user-ce4a2c883f75@xymon.invalid> wrote:
On Mon, 31 Dec 2012 10:43:44 +0800, Vernon Everett
<user-b3f8dacb72c8@xymon.invalid> wrote:
Hi all

Has anybody managed to create a stack graph with SPLITNCV data?
How do we configure it?

Once upon a time, I authored this
http://www.xymonton.org/monitors:memstat
But it had graphing problems if you didn't have ZFS running. (One field
less than the RRD graph config required.)
In the ToDo section, I promised to have a look at using SPLITNCV.
So I am looking into it now, but struggling.
To do a STACK graph, the first entry has to be AREA, and the rest need
to
be STACK.
Configuring the RRD graph with SPLITNCV, applies the same graph type to
each data set.
How do we get the first to be AREA, and the rest STACK?
I don't understand with "SPLITNCV applies the same graph type to each
dataset".

With SPLITNCV you have multiple rrd files, each of these hold one data
item and you define in the SPLITNCV setting what RRD datatype they are -
essentialy GAUGE or COUNTER. E.g. SPLITNCV_foo="ds1:COUNTER,ds2:GAUGE"

In the graph definition, you just refer to the specific RRD-file you want
to pull data from. This has no relation to the data being a GAUGE or a
COUNTER. So the graphs.cfg definition is straight-forward:

[foo]
   DEF:foo1=foo,ds1.rrd:lambda:AVERAGE
   DEF:foo2=foo,ds2.rrd:lambda:AVERAGE
   AREA:foo1#FF0000:foo 1 data
   STACK:foo2#0000FF:foo 2 data


Regards,
Henrik

-- 
"Accept the challenges so that you can feel the exhilaration of victory"
- General George Patton
list Vernon Everett · Wed, 2 Jan 2013 20:50:28 +0800 ·
The workaround I implemented for now, is to insert zero-value data entries
to ensure a known number fo data values.
It's not exactly ideal, but it works for system with or without ZFS.
quoted from Vernon Everett

Regards
Vernon


On 2 January 2013 20:46, Vernon Everett <user-b3f8dacb72c8@xymon.invalid> wrote:
Hi Henrik

Happy New Year!

Maybe I didn't express myself correctly.
I understand what you say below, and the problem isn't with SPLITNCV, but
rather with configuring the graphs.

As you say below, we can do foo1 as AREA, and all the rest of foo2...fooX
as STACK.
But how do do this if X is an unknown number?
The config example below will work for an unknown number of rrd data files
if we are going to make each data set a LINE2

        FNPATTERN ^disk(.*).rrd
        TITLE Disk Utilization
        YAXIS % Full
        DEF:p at RRDIDX@=@RRDFN@:pct:AVERAGE
        LINE2:p at RRDIDX@#@COLOR@:@RRDPARAM@
But how do we create a stack graph with unknown number of data sets?

Regards
Vernon


On 2 January 2013 20:11, <user-ce4a2c883f75@xymon.invalid> wrote:
On Mon, 31 Dec 2012 10:43:44 +0800, Vernon Everett
<user-b3f8dacb72c8@xymon.invalid> wrote:
Hi all

Has anybody managed to create a stack graph with SPLITNCV data?
How do we configure it?

Once upon a time, I authored this
http://www.xymonton.org/monitors:memstat
But it had graphing problems if you didn't have ZFS running. (One field
less than the RRD graph config required.)
In the ToDo section, I promised to have a look at using SPLITNCV.
So I am looking into it now, but struggling.
To do a STACK graph, the first entry has to be AREA, and the rest need
to
be STACK.
Configuring the RRD graph with SPLITNCV, applies the same graph type to
each data set.
How do we get the first to be AREA, and the rest STACK?
I don't understand with "SPLITNCV applies the same graph type to each
dataset".

With SPLITNCV you have multiple rrd files, each of these hold one data
item and you define in the SPLITNCV setting what RRD datatype they are -
essentialy GAUGE or COUNTER. E.g. SPLITNCV_foo="ds1:COUNTER,ds2:GAUGE"

In the graph definition, you just refer to the specific RRD-file you want
to pull data from. This has no relation to the data being a GAUGE or a
COUNTER. So the graphs.cfg definition is straight-forward:

[foo]
   DEF:foo1=foo,ds1.rrd:lambda:AVERAGE
   DEF:foo2=foo,ds2.rrd:lambda:AVERAGE
   AREA:foo1#FF0000:foo 1 data
   STACK:foo2#0000FF:foo 2 data


Regards,
Henrik

--
"Accept the challenges so that you can feel the exhilaration of victory"
- General George Patton
-- 
"Accept the challenges so that you can feel the exhilaration of victory"
- General George Patton
list Henrik Størner · Wed, 02 Jan 2013 14:42:28 +0100 ·
Hi Vernon,

On Wed, 2 Jan 2013 20:46:05 +0800, Vernon Everett
<user-b3f8dacb72c8@xymon.invalid> wrote:
Happy New Year!
thanks, you too.
quoted from Vernon Everett
Maybe I didn't express myself correctly.
I understand what you say below, and the problem isn't with SPLITNCV,
but
rather with configuring the graphs.

As you say below, we can do foo1 as AREA, and all the rest of
foo2...fooX
as STACK.
But how do do this if X is an unknown number?
OK, now I understand your problem. It depends on what RRDtool version
you're using, but if it's the 1.2.x version then you do it like this in
graphs.cfg:

  FNPATTERN ^disk(.*).rrd
  DEF:p at RRDIDX@=@RRDFN@:pct:AVERAGE
  AREA:p at RRDIDX@#@COLOR@:@RRDPARAM@:@STACKIT@

The STACK keywork is deprecated in RRDtool 1.2.x, you do all of the
stacking with AREA definitions. The "@STACKIT@" thing adds the "STACK"
option for all datasets except the first.


Regards,
Henrik
list Jeremy Laidman · Thu, 3 Jan 2013 12:43:16 +1100 ·
quoted from Henrik Størner
On 3 January 2013 00:42, <user-ce4a2c883f75@xymon.invalid> wrote:

The "@STACKIT@" thing adds the "STACK"
option for all datasets except the first.
That's great.  I didn't know I could do this.

Any chance of getting this into the doco/manpage?  Same for @RRDMETA@ and
@SERVICE@?

J