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
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