Showing posts with label understanding. Show all posts
Showing posts with label understanding. Show all posts

Tuesday, February 14, 2012

Scheduling Poller using Cron

Poller scheduling is not quite common to most of Cacti users. But when I setup a new Cacti system utilizing Ping for availability, there is a need to schedule a poller.php to run at a specified time only or when it's needed. ICMP is a heavy and resource-intensive type of monitoring, it can cause a high CPU utilization to the core routers creating high latency problems within the network. So it is very important to manage the resources wisely. Since my company is operating only on office hours, I scheduled poller.php to run only within the time frame only.

Here's is my cron settings for that particular requirements.

*/10 7-18 * * 1-5 root php /var/www/cacti/poller.php > /dev/null 2>&1

The cron settings above means that poller.php will run every 10mins, from 7:00am to 6:50pm, and from Monday to Friday only. This will coincide with the business operating hours only, and saving precious CPU power for other task such as system backup every night and every weekend.

Output graph of eth0 as a result of cron settings above


Related Posts:
- Cacti 1 minute cron settings
- 1 minute Spine polling

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.