Thursday, December 29, 2011

Cacti > Data Sources > RRAs

Defining the right RRA Settings is essential if you are customizing how your graph will be displayed. RRAs were set by Steps, Rows and Timespan. These will determine how you keep your data in different intervals and how long would you keep that interval. Manipulating these intervals would require some storage space, the longer you keep the data at a very small interval, the larger space it will require on your storage drive. So proper RRA settings would help you maximize your storage capacity without sacrificing longer period of significant data.

Hourly (1 Minute Average)

Steps - are the number of data points needed to place the data in RRA, (keep in mind that my system is polling every minute)so my value is "1". This means that every minute, the data will be reflected on my graph, but for how long? the answer will be the number of Rows. My value for rows is 10080, this is equivalent to 7 days of 1-minute data.

To get this,

{[10080/(60/1 step)]/24 hours} = 7 days
{[10080/60]/24} = 7 days

Then, what would be my Timespan to display this graph? Timespan value is in seconds, I want to see my 1 minute graph in the last 6 hours, so my value would be 21600 sec = 6 hours

Daily (5 Minute Average)

Steps = 5, This means that the data will be reflected every 5 steps, (which is also equivalent to 5 minutes)

Rows = 8640, using the formula above

{[8640/(60/5 steps)]/24 hours} = 30 days
{[8640/12]/24} = 30 days

Timespan = 86400 sec = 24 hours

Weekly (30 Minute Average)

Steps = 30, This means that the data will be reflected every 30 steps or 30 minutes
Rows = 4320, using the formula

{[4320/(60/30 steps)]/24 hours} = 90 days
{[4320/2]/24} = 90 days

Timespan = 604800 sec = 7 days

Monthly (2-Hour Average)

Steps = 120, This means that the data will be reflected every 120 steps or 120 minutes or 2 hours
Rows = 2160, using the formula

{[2160/(60/120 steps)]/24 hours} = 180 days
{[2160/0.5]/24} = 180 days

Timespan = 2678400 sec = 31 days

Yearly (1 Day Average)

Steps = 1440, This means that the data will be reflected every 1440 steps or 1440 minutes or 24 hours
Rows = 720, using the formula

{[720/(60/1440 steps)]/24 hours} = 720 days
{[720/0.041666666667]/24} = 720 days

Timespan = 31536000 sec = 365 days

In summary, these are the data reflected on my graph.

last 7 days of 1-minute graph
last 30 days of 5-minute graph
last 90 days of 30-minute graph
last 6 months of 2-hour graph
last 2 years of 1-day graph

So every time I zoom in to my graph, I always have those date in every interval.


  1. Hi, I keep getting this:
    WARNING: Cron is out of sync with the Poller Interval! The Poller Interval is '60' seconds, with a maximum of a '300' second Cron, but 300 seconds have passed since the last poll!

    I have updated the cron. Changed all you had, deleted rrd files, restarted Apache. Are the default graphs using different templates than the Traffic and that is causing this? Should I change those templates to your values also?

  2. ok, so this is what i found. Cacti says add a cronjob. But there is a cacti cron inside of the etc/cron.d folder also. So I had a one minute cron, and also the unknown 5 minute being triggered by cacti. I have no idea how 2 end up in there. So I removed the extra one and set the one in the cron.d to 1 second. So that at least resolved the issue above. Hope it helps someone.