def sample(self):

        try:
            nagios.get_statusfiles(self._conf['services'])
            servicestatus = nagios.parse_status(self._conf['services'])

            criticals = 0
            warnings = 0

            for region in servicestatus:
                criticals = criticals + servicestatus[region]['critical']
                warnings = warnings + servicestatus[region]['warning']

            status = 'green'

            if criticals > 0:
                status = 'red'
            elif warnings > 0:
                status = 'yellow'

            s = {'criticals': criticals,
                 'warnings': warnings,
                 'status': status}
            return s
        except Exception, e:
            print e
    def sample(self):
        try:
            nagios.get_statusfiles(self._conf['services'])
            servicestatus = nagios.parse_status(self._conf['services'])

            criticals = []
            warnings = []

            for region in servicestatus:
                criticals.append({'label': region,
                                  'value': servicestatus[region]['critical']})
                warnings.append({'label': region,
                                 'value': servicestatus[region]['warning']})

            # (adriant) the following is for easy testing:
            # regions = ['region1', 'region2', 'region3']

            # criticals = []
            # warnings = []

            # for region in regions:
            #     criticals.append({'label': region, 'value': random.randint(0, 5)})
            #     warnings.append({'label': region, 'value': random.randint(0, 5)})

            return {'criticals': criticals, 'warnings': warnings}
        except Exception, e:
            print e
Пример #3
0
    def sample(self):

        try:
            servicestatus = nagios.get_statusfiles(self._conf['services'])
            criticals = servicestatus['critical']
            warnings = servicestatus['warning']
            status = 'green'

            if criticals > 0:
                status = 'red'
            elif warnings > 0:
                status = 'yellow'

            s = {'criticals': criticals,
                 'warnings': warnings,
                 'status': status}
            return s
        except Exception, e:
            print "NagiosSampler failed with %s" % e