[rrd-users] Newcomer's RRD design dillemmas

Tobi Oetiker tobi at oetiker.ch
Mon Oct 15 23:36:48 CEST 2012


On 15.10.2012, at 16:16, Travis Griggs <travisgriggs at gmail.com> wrote:

> A friend suggested I take a look at RRDTools for a problem I'm dealing with. We're monitoring a number of custom devices in the agricultural world. We did a naive "just store the telemetry in a database" thing originally. It was a quick prototype that was contracted out. We quickly ran out of room. Even telemetry at a trickle adds up fast. Since it was a Smalltalk database, I built a custom edge triggered data collector that radically reduced the data, since we mostly care about changes and when the occur. But that's not a long term solution for us. So I'm looking at RRD. After a couple hours reading/growsing/playing, I'm left with the following questions:
> 
> 1) Each device we keep track of telemetry for, has a couple of different measures. I've concluded that we shouldn't try to store dissimilar data types in the same rrd file, even with separate RRAs. For example, we keep track of battery voltage, and an hour's average is plenty high enough resolution for us, but we also keep track of hydraulic pressures, and we'd really like to have these at a minute resolution. It seems I'd be best served by having different rrd's for these, one with a battery voltage DS, and the other with pressure DS's.
> 

yes separate rrds with different step sizes.



> 2) While some of our data is scalar data (pressure, voltage, signal strength), others is just binary status. Is it on or off? I'm not convinced that binary status is easy to do with RRD, without playing some pretending games. For most of the binary values, we tend to want to record any change in them at a minutes resolution (that's how often the telemetry can come in). But we don't ever want to "average them away" or anything. Changes are usually infrequent (at most once per every couple of hours), but we want to know exactly when they happened and not "lose" any of them, at least for a given backwards time interval, such as a growing season (e.g. ~5 months). Should I be looking at doing an alternative storage scheme for these, rrd's for the scalar info, and something different for the edge triggered binaries?
> 

if you need exact time (events) you should store them separately

but if you wat to know the percentage the switch was off or on you clud setup a rather lowres rrd. if the changes are realy infrequent you could even calcilate when thy happene from the ratio 


hth
tobi


> Thanks for any help/direction/feedback/tips.
> 
> --
> Travis Griggs
> "A vital ingredient of success is not knowing that what you're attempting can't be done." -Terry Pratchett
> 
> _______________________________________________
> rrd-users mailing list
> rrd-users at lists.oetiker.ch
> https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users
> 



More information about the rrd-users mailing list