Smokeping RRD Generation

Mostly for my own documentation purposes. This is how you do the math to calculate database sizes when you change the steps to something other than the default in smokeping.

#########################
*** Database ***

step = 30
pings = 20

# consfn mrhb steps total

AVERAGE 0.5 1 20160 #7-day worth 30-second avg
AVERAGE 0.5 10 8640 #30-day worth 5-minute avg
AVERAGE 0.5 30 38400 #400-day worth 15-minute avg
MIN 0.5 10 8640
MAX 0.5 10 8640
MIN 0.5 30 38400
MAX 0.5 30 38400
#########################

Math here:
step x #ofSteps x Y = length of database in seconds
(#ofSteps is a multiple of your step adding up to how granular you want
your data to be. In my case 30s=1, 2m=4, 5m=10, etc)

To calculate for 7 days worth of 30 second averages:
30 x 1 x Y = 7days x 24h/day x 60m/hour x 60s/min
(translated to)
30 x 1 x Y = 7 x 24 x 60 x 60
(30 x Y = 604800) or (Y = 604800/30) or 20160

Leave a Reply