def __init__(self, config_file): ''' Constructor ''' self.http_headers = {'content-type': 'application/json', 'accept': 'application/json'} # Setup servers dict self.servers = configurator.read(config_file, configspec='configspecs/ws_shinken.cfg', server_mode=True) for server in self.servers: if self.servers[server]['cache'] == True: try: cache_file = os.path.join(self.servers[server]['cache_working_directory'], '%s.csv' % (server, )) self.servers[server]['file'] = open(cache_file, 'r+') except IOError: raise CacheFileException(cache_file) cache_file = csv.DictReader(self.servers[server]['file'], dialect=CacheDialect, fieldnames=CACHE_DIALECT_FIELDS) self.servers[server]['csv'] = csv.DictWriter(self.servers[server]['file'], dialect=CacheDialect, fieldnames=CACHE_DIALECT_FIELDS) for cache_item in cache_file: self.send_result(cache_item['return_code'], cache_item['output'], cache_item['service_description'], cache_item['time_stamp'], [server])
def __init__(self, config_file): ''' Read the config file and start NSCA connexions ''' # Setup servers dict from config file self.servers = configurator.read(config_file, configspec='configspecs/nsca.cfg', server_mode=True) # start NSCA connexions for server in self.servers: self.servers[server]['notifier'] = pynsca.NSCANotifier(self.servers[server]['host'], monitoring_port=int(self.servers[server]['port']), encryption_mode=int(self.servers[server]['encryption_mode']), password=self.servers[server]['password'])
def __init__(self, config_file): """ Constructor """ # Setup servers dict from config file self.plugins = configurator.read(config_file, configspec="configspecs/nagios_plugins.cfg", list_values=False)