Resetting the IP didn't help.

I do know a bit more ...

I set up two zenoss machines monitoring the same boxes.

On one I added some debugging to zenprocess.py. On that box 
zenprocess.Process.match() does not appear to get called at all.  If I add a 
device, I get all the processes during the initial modeling.  But the processes 
all disappear about the time the other metrics create their RRD files, ie 
presumably at the first scan.  No rrd file is ever created for the os 
processes, in fact the directory perf/Devices/<device>/os/processes never shows 
up.

On the second box, I added the same debug statement (logging self.originalName, 
name and args at the top of Process.match.  On this box I added the devices and 
quickly locked all the processes, setting 'lock from deletion' and 'send event 
when actions are blocked'.  On this machine I see a number of differences
  - the processes are all still there (well they were locked)
  - the processes have metrics (rrd files, pretty graphs)
  - the zenprocess log has LOTS of calls to Process.match()
 
 Whtihout knowing exactly how the daemons and objects interact it smells like 
either the initial monitor isn't persisting the OS processes (ie until I lock 
them they are in some ephemerial state) or somewhere during the scan the 
processes are deleted en mass before zenprocess gets a chance to eveluate them.

Correct me if I get this wrong.  But it looks like the way this works is
 - zenprocess main starts, calls _init_ and then run()
 - run connects and starts the reactor
 - in connnected() a periodic callback to periodic() gets setup
 - periodic.doPeriodic() just keeps setting its self up a a defered with the 
reactor
 - oneDevice endes up doing the dirty work with storeProcessNames being 
responsible for comparing the current device list with the data comming back 
from the run table.
So I'd expect a few things of  storeProcessNames() 
 - ought to execute once per device per scan interval
 - ought to cause a get of the name path and args table
 - ought to call Process.match() once per device per existing OSprocess
   object per pid on device




-------------------- m2f --------------------

Read this topic online here:
http://community.zenoss.com/forums/viewtopic.php?p=20349#20349

-------------------- m2f --------------------



_______________________________________________
zenoss-users mailing list
[email protected]
http://lists.zenoss.org/mailman/listinfo/zenoss-users

Reply via email to