[rrd-users] various questions on rrdcreate/rrd_create

Alex van den Bogaerdt alex at vandenbogaerdt.nl
Sat Apr 23 09:15:32 CEST 2011

> Having said that, as I'm getting farther in my own little "store away
> the sFlow counters" program I've realized that I may not want the same
> step value for each of the values returned for an interface.  for
> example, out of the generic counters returned by sFlow:
> typedef struct sflow_generic_counter {
>    u_int32_t    ifindex;
>    u_int32_t    iftype;
>    u_int64_t    ifspeed;
>    u_int32_t    ifdirection;
>    u_int32_t    ifstatus;
>    u_int64_t    ifinoctets;
>    u_int32_t    ifpromiscmode;
> } sflow_generic_counter_t;
> where I may desire a step value of one second for the octet, packet,
> error and discard counters, I probably don't care for that small a
> granularity for index, type, speed, direction and status.  not that ntop
> makes distinctions there when it creates rrds, but then it doesn't
> create rrds for those others anyway... and perhaps I won't as well.

OTOH if you do, there's nothing wrong with step==1 and no RRA in an RRD with 
1 row per step.

For instance: you could monitor status, be happy with each CDP covering 5 
minutes, yet still be able to determine that this particular interface has 
been up during 120 seconds of that 300 seconds. Your "best" RRA would have 
300 PDPs per CDP.

And then again... if you are going to update every second, and if disk space 
is not an issue, why not have that other RRA with 1 PDP per CDP.

More information about the rrd-users mailing list