I'm monitoring a whole gaggle of UNIX boxes running net-snmp (so they all look alike
SNMP-wise). Collecting data every 5 minutes for stuff like ethernet stats and CPU
usages and paging is fine. But I'm also monitoring filesystem usage, and don't really
need to monitor that every 5 minutes.
There are also a LOT of filesystems on these machines to monitor and I want to keep
the number of things I do SNMP queries for to a minimum until we have a multi-threaded
data collector doing bulk queries. (grin)
So.... How do I go about telling cacti to only do SNMP queries every 15 or even 30
minutes on those certain data sources but to do SNMP queries every 5 for all the
others? I tried just setting the "step" to something bigger than 300 like 1800 and
setting the ... ummm... the setting above it for the lost data period (I forget the name -
sheepish grin) to 3600. But it still is doing snmpget's on the filesystem OIDs every
5 minutes along with everything else...
Brent
data collection at different intervals
Moderators: Developers, Moderators
This is one of those things that *really* isn't supported in cacti 0.6.x. I think 0.8 is supposed to have this kind of functionality pending some of Rob's additions. Of course this is something that has to be implimented on both the web interface and poller.
If you really wanted to hack something together, it would only be a matter of adding some sort of 'interval' column to the 'rrd_ds' table and have 'cmd.php' look at that when gathering data. Of course you'd also have to set the 'step' value in each data source appropriately as well.
-Ian
If you really wanted to hack something together, it would only be a matter of adding some sort of 'interval' column to the 'rrd_ds' table and have 'cmd.php' look at that when gathering data. Of course you'd also have to set the 'step' value in each data source appropriately as well.
-Ian
My workaround
Yeah, I finally broke down and cracked open cmd.php. I decided on something
even simpler that didn't require me to modify the database schema. I just made two
copies of cmd.php called cmd-3600.php and cmd-900.php and then changed the
mysql query in them to add:
and d.step=3600
or
and d.step=900
and in the original cmd.php
and d.step=300
Then I put in a few new cron jobs to run these php scripts every 3600 or 900 seconds
respectively. (grin) Ok, it's a bit of a hack. And I really should make this a parameter
to cmd.php rather than just having multiple copies of cmd.php with hardwired values
in 'em. But for now it's solved my trouble.
I've now got stuff like file system usages only being polled and logged every 15 minutes
and stuff like max filesystem sizes only being polled and logged every hour. Good 'nuff
for now.
Brent
even simpler that didn't require me to modify the database schema. I just made two
copies of cmd.php called cmd-3600.php and cmd-900.php and then changed the
mysql query in them to add:
and d.step=3600
or
and d.step=900
and in the original cmd.php
and d.step=300
Then I put in a few new cron jobs to run these php scripts every 3600 or 900 seconds
respectively. (grin) Ok, it's a bit of a hack. And I really should make this a parameter
to cmd.php rather than just having multiple copies of cmd.php with hardwired values
in 'em. But for now it's solved my trouble.
I've now got stuff like file system usages only being polled and logged every 15 minutes
and stuff like max filesystem sizes only being polled and logged every hour. Good 'nuff
for now.
Brent
Who is online
Users browsing this forum: No registered users and 2 guests