Trees | Indices | Help |
|
---|
|
1 ########################################################################### 2 # 3 # This program is part of Zenoss Core, an open source monitoring platform. 4 # Copyright (C) 2010, Zenoss Inc. 5 # 6 # This program is free software; you can redistribute it and/or modify it 7 # under the terms of the GNU General Public License version 2 or (at your 8 # option) any later version as published by the Free Software Foundation. 9 # 10 # For complete information please visit: http://www.zenoss.com/oss/ 11 # 12 ########################################################################### 13 import logging 14 15 import Globals 16 17 from twisted.spread import pb 18 19 from Products.ZenCollector.services.config import CollectorConfigService 20 from Products.ZenEvents.ZenEventClasses import Status_IpService 21 from Products.ZenModel.ServiceOrganizer import ServiceOrganizer 22 from Products.ZenModel.Service import Service 23 24 log = logging.getLogger('zen.ZenStatusConfig') 25 2628 """ 29 Represents a service component. A single DeviceProxy config will have 30 multiple service proxy components (for each service zenstatus should 31 monitor) 32 """48 49 pb.setUnjellyableForClass(ServiceProxy, ServiceProxy) 50 5134 self.device = svc.hostname() 35 self.component = svc.name() 36 self.ip = svc.getManageIp() 37 self.port = svc.getPort() 38 self.sendString = svc.getSendString() 39 self.expectRegex = svc.getExpectRegex() 40 self.timeout = svc.zStatusConnectTimeout 41 self.failSeverity = svc.getFailSeverity() 42 self.status = status 43 self.key = svc.key() 44 self.deviceManageIp = svc.device().manageIp455398 99 if __name__ == '__main__': 100 from Products.ZenHub.ServiceTester import ServiceTester 101 tester = ServiceTester(ZenStatusConfig) 106 tester.printDeviceProxy = printer 107 tester.showDeviceInfo() 10855 # Any additional attributes we want to send to daemon should be 56 # added here 57 deviceProxyAttributes = () 58 CollectorConfigService.__init__(self, dmd, 59 instance, 60 deviceProxyAttributes)6163 include = CollectorConfigService._filterDevice(self, device) 64 hasTcpComponents = False 65 for svc in device.getMonitoredComponents(collector='zenstatus'): 66 if svc.getProtocol() == "tcp": 67 hasTcpComponents = True 68 69 return include and hasTcpComponents7072 proxy = CollectorConfigService._createDeviceProxy(self, device) 73 proxy.configCycleInterval = self._prefs.statusCycleInterval 74 75 # add each component 76 proxy.components = [] 77 for svc in device.getMonitoredComponents(collector='zenstatus'): 78 if svc.getProtocol() == 'tcp': 79 # get component status 80 status = svc.getStatus(Status_IpService) 81 proxy.components.append(ServiceProxy(svc, status)) 82 83 # don't bother adding this device proxy if there aren't any services 84 # to monitor 85 if not proxy.components: 86 log.debug("Device %s skipped because there are no components", 87 proxy.id) 88 return None 89 90 return proxy9193 """ 94 When zProperties are changed on either of these two classes we 95 need to refresh which devices we are monitoring 96 """ 97 return (Service, ServiceOrganizer)
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1.1812 on Tue Oct 11 12:51:53 2011 | http://epydoc.sourceforge.net |