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)
示例#4
0
 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))
示例#7
0
    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')
示例#10
0
 def cutover(self, dmd):
     if 'MissedRuns' not in [i.id for i in dmd.Events.Perf.children()]:
         manage_addEventClass(dmd.Events.Perf, 'MissedRuns')
示例#11
0
    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)
示例#12
0
 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')