def build(self): factory = getUtility(IGlobalCatalogFactory) factory.create(self.portal) self.buildRoots() self.buildMonitors() self.buildUserCommands() self.buildReportClasses() self.buildPortlets() manage_addEventClass(self.dmd) manage_addZDeviceLoader(self.dmd) manage_addZenTableManager(self.portal) manage_addZenossInfo(self.portal) manage_addDirectoryView(self.portal,'ZenUtils/js', 'js') manage_addRenderServer(self.portal, "RenderServer") manage_addReportServer(self.portal, "ReportServer") manage_addMySqlEventManager(self.dmd, evthost=self.evthost, evtuser=self.evtuser, evtpass=self.evtpass, evtdb=self.evtdb, evtport=self.evtport) manage_addMySqlEventManager(self.dmd, evthost=self.evthost, evtuser=self.evtuser, evtpass=self.evtpass, evtdb=self.evtdb, evtport=self.evtport, history=True) manage_addUserSettingsManager(self.dmd) manage_addNotificationSubscriptionManager(self.dmd) manage_addTriggerManager(self.dmd) manage_addUserInterfaceSettings(self.dmd) manage_addLinkManager(self.dmd) manage_addJobManager(self.dmd) manage_addIpNetwork(self.dmd, "Networks") manage_addIpNetwork(self.dmd, "IPv6Networks", 64, version=6) manage_addZenPackManager(self.dmd) CreateZenPackPersistenceCatalog(self.dmd) CreateRRDTemplatesCatalog(self.dmd) createMaintenanceWindowCatalog(self.dmd)
def cutover(self, dmd): if 'Lag' not in [ i.id for i in dmd.Events.Status.Ping.getSubEventClasses() ]: manage_addEventClass(dmd.Events.Status.Ping, 'Lag') if 'ZEP' not in [i.id for i in dmd.Events.Status.getSubEventClasses()]: manage_addEventClass(dmd.Events.Status, 'ZEP')
def cutover(self, dmd): if 'Change' not in [c.id for c in dmd.Events.children()]: manage_addEventClass(dmd.Events, 'Change') dmd.Events.Change.zEventAction = 'history' for name in ['Add', 'Remove', 'Set']: if name not in [c.id for c in dmd.Events.Change.children()]: manage_addEventClass(dmd.Events.Change, name)
def _eventClasses(self, dmd): from Products.ZenEvents.EventClass import manage_addEventClass from Products.ZenEvents import ZenEventClasses for evt in dir(ZenEventClasses): val = getattr(ZenEventClasses, evt, '') if type(val) != type('') or val.find('/') != 0: continue root = dmd.Events for elt in val.split('/')[1:]: try: manage_addEventClass(root, elt) cls = root._getOb(elt) if elt == 'Blocked': cls.zEventSeverity = ZenEventClasses.Warning cls.zEventAction = 'status' elif val == "/Change": cls.zEventAction = 'history' except Exception as ex: pass root = root._getOb(elt)
def _eventClasses(self, dmd): from Products.ZenEvents.EventClass import manage_addEventClass from Products.ZenEvents import ZenEventClasses for evt in dir(ZenEventClasses): val = getattr(ZenEventClasses, evt, '') if type(val) != type('') or val.find('/') != 0: continue root = dmd.Events for elt in val.split('/')[1:]: try: manage_addEventClass(root, elt) cls = root._getOb(elt) if elt == 'Blocked': cls.zEventSeverity = ZenEventClasses.Warning cls.zEventAction = 'status' elif val == "/Change": cls.zEventAction = 'history' except Exception, ex: pass root = root._getOb(elt)
def install(zport, zenpack): """ Set the collector plugin """ dmd = zport.dmd if not getattr(aq_base(dmd.Events.Status), 'Kannel', None): manage_addEventClass(dmd.Events.Status, 'Kannel') tpls = dmd.Devices.Server.rrdTemplates if not getattr(aq_base(tpls), 'KannelServer', None): manage_addRRDTemplate(tpls, 'KannelServer') tpl = tpls.KannelServer tpl.manage_changeProperties(description='Monitors Kannel SMPP Servers', targetPythonClass='Products.ZenModel.Device') tpl.manage_addRRDDataSource('kannel', 'KannelDataSource.KannelDataSource') dsk = tpl.datasources.kannel map(lambda x: dsk.manage_addRRDDataPoint(x), DATAPOINTS) # hmmm - recv/sent are accumulated totals, we just want to track the diffs for dp_name in ('recv', 'sent'): dp = dsk.datapoints._getOb(dp_name) if dp.rrdtype != 'DERIVE': # hmmm - we seem to be required to provide a max if we provide a min dp.manage_changeProperties(rrdtype='DERIVE', rrdmin='0', rrdmax='10000000') gdq = dsk.manage_addGraphDefinition('Kannel SMSC Queue') setDataPoints(gdq, 'kannel', GRAPHPOINTS['smsc']) gds = dsk.manage_addGraphDefinition('Kannel Store Size') setDataPoints(gds, 'kannel', GRAPHPOINTS['store']) addZenPackObjects(zenpack, (zport.dmd.Events.Status.Kannel, tpls.KannelServer))
def install(self, app): if not hasattr(self.dmd.Events.HW.Backup, 'Tape Library'): manage_addEventClass(self.dmd.Events.HW.Backup, 'Tape Library') ZenPackBase.install(self, app)
def cutover(self, dmd): if 'Status' not in [c.id for c in dmd.Events.children()]: manage_addEventClass(dmd.Events, 'Status') if 'WinService' not in [c.id for c in dmd.Events.Status.children()]: manage_addEventClass(dmd.Events.Status, 'WinService')
def cutover(self, dmd): if 'Lag' not in [i.id for i in dmd.Events.Status.Ping.getSubEventClasses()]: manage_addEventClass(dmd.Events.Status.Ping, 'Lag') if 'ZEP' not in [i.id for i in dmd.Events.Status.getSubEventClasses()]: manage_addEventClass(dmd.Events.Status, 'ZEP')
def cutover(self, dmd): if 'MissedRuns' not in [i.id for i in dmd.Events.Perf.children()]: manage_addEventClass(dmd.Events.Perf, 'MissedRuns')