Nov 3, 2011 9:17 AM
What decides how often a collector is run?
-
Like (0)
I've been trying to reconfigure the cycle time of a performance collector (zenperfsql) a few times and for some reason or another some of the hosts seem to be polled according to the old configuration while other hosts are polled according to the new configuration. How I found out was by grepping for "changing state from RUNNING to SQLC_QUERY" in zenperfsql.log.
It seems to me that the configuration is stashed away in a cache somewhere, maybe in the object database or somewhere (have been looking for .pickle and .zec files to no avail though).
Does anyone know?
Have you restarted all the collectors, or use push configuration changes ...?
--
James Pulver
ZCA Member
LEPP Computer Group
Cornell University
Have you restarted all the collectors or used push configuration changes ...
I have restarted zenoss completely a couple of times.
When you mention pushing configuration changes, - did you mean by going to the devices in question and choose "Push changes"?
Yes.
--
James Pulver
ZCA Member
LEPP Computer Group
Cornell University
Have tried it on one of the notorious offenders. Just got a second collection in less than 30 mins but I guess I should give it another hour.
Still the same.
The reason you can't trivially find the cycle interval for zenperfsql is that it is part of Egor's ZenPack, rather than a standard daemon with Zenoss Core. The version I have is ZenPacks.community.SQLDataSource 1.96 and this has a sqlPerfConfig.py file under the services directory of the ZenPack. In my version, the comments say that the polling interval is taken from the WinCycleInterval (default 60 sec) though the actual code looks like it is picking up the snmp cycle interval of 300 secs. There is a TODO note in my version that suggests he may be looking at making this interval configurable.
Hope that helps!
Cheers,
Jane
I have already unpacked the Zenpack, tested a few changes and this in one in zenperfsql.py was the one I hoped would fix it:
self.cycleInterval = 5 * 60 # seconds
self.configCycleInterval = 20 # minutes
Some days ago I updated the code to read like
self.cycleInterval = 4 * 60 * 60 # seconds
self.configCycleInterval = 12 * 60 # minutes
The problem is that some of the servers are now polled every 4 hours while others are still consistently being polled multiple times an hour instead of every 4 hours as I would expect.
While looking at it now I'm wondering if the configCycleInterval in zenperfsql.py might be the same thing as the configCycleInterval in sqlPerfConfig.py under services and if those are the ones that Matt Ray mentioned here: message/27768
The "config cycle interval" is how often some of the daemons will reload their configuration unless it has been updated asynchronously in the interim.
Follow Us On Twitter »
|
Latest from the Zenoss Blog » | Community | Products | Services Resources | Customers Partners | About Us | ||
Copyright © 2005-2011 Zenoss, Inc.
|
||||||||