def get_obsessive_compulsive_processor_command(self): cls = self.__class__ if not cls.obsess_over or not self.obsess_over_host: return m = MacroResolver() data = self.get_data_for_event_handler() cmd = m.resolve_command(cls.ochp_command, data) e = EventHandler(cmd, timeout=cls.ochp_timeout) # ok we can put it in our temp action queue self.actions.append(e)
def launch(self, ctx=[], timeout=300): m = MacroResolver() cmd = m.resolve_command(self.discoveryrun_command, ctx) self.current_launch = EventHandler(cmd, timeout=timeout) self.current_launch.execute()
def launch(self): m = MacroResolver() data = [] cmd = m.resolve_command(self.discoveryrun_command, data) self.current_launch = EventHandler(cmd, timeout=300) self.current_launch.execute()
def launch(self): m = MacroResolver() data = [] cmd = m.resolve_command(self.discoveryrun_command, data) self.current_launch = EventHandler(cmd, timeout=300) self.current_launch.execute()
def hook_late_configuration(self, arb): """ Read config and fill memcached """ for serv in arb.conf.services: if serv.check_command.command.module_type == 'snmp_booster': chk = serv.check_command.command mac_resol = MacroResolver() mac_resol.init(arb.conf) data = serv.get_data_for_checks() command_line = mac_resol.resolve_command( serv.check_command, data) # Clean command clean_command = shlex.split( command_line.encode('utf8', 'ignore')) # If the command doesn't seem good if len(clean_command) <= 1: logger.error("[SnmpBooster] Bad command " "detected: %s" % chk.command) continue # we do not want the first member, check_snmp thing args = parse_args(clean_command[1:]) (host, community, version, triggergroup, dstemplate, instance, instance_name) = args # Get key from memcached obj_key = str(host) # looking for old datas obj = self.memcached.get(obj_key) # Don't force check on first launch try: if not obj is None: # Host found new_obj = SNMPHost(host, community, version) if not obj == new_obj: # Update host obj.community = new_obj.community obj.version = new_obj.version new_serv = SNMPService(serv, obj, triggergroup, dstemplate, instance, instance_name, serv.service_description) new_serv.set_oids(self.datasource) new_serv.set_triggers(self.datasource) obj.update_service(new_serv) obj.frequences[serv.check_interval].forced = False self.memcached.set(obj_key, obj, time=604800) else: # No old datas for this host new_obj = SNMPHost(host, community, version) new_serv = SNMPService(serv, new_obj, triggergroup, dstemplate, instance, instance_name, serv.service_description) new_serv.set_oids(self.datasource) new_serv.set_triggers(self.datasource) new_obj.update_service(new_serv) # Save new host in memcache self.memcached.set(obj_key, new_obj, time=604800) except Exception, e: message = ("[SnmpBooster] Error adding : " "Host %s - Service %s - Error related " "to: %s" % (obj_key, serv.service_description, str(e))) logger.error(message)
def launch(self, ctx=[], timeout=300): m = MacroResolver() cmd = m.resolve_command(self.discoveryrun_command, ctx) self.current_launch = EventHandler(cmd, timeout=timeout) self.current_launch.execute()
def hook_late_configuration(self, arb): """ Read config and fill memcached """ for serv in arb.conf.services: if serv.check_command.command.module_type == 'snmp_booster': chk = serv.check_command.command mac_resol = MacroResolver() mac_resol.init(arb.conf) data = serv.get_data_for_checks() command_line = mac_resol.resolve_command(serv.check_command, data) # Clean command clean_command = shlex.split(command_line.encode('utf8', 'ignore')) # If the command doesn't seem good if len(clean_command) <= 1: logger.error("[SnmpBooster] Bad command " "detected: %s" % chk.command) continue # we do not want the first member, check_snmp thing args = parse_args(clean_command[1:]) (host, community, version, triggergroup, dstemplate, instance, instance_name) = args # Get key from memcached obj_key = str(host) # looking for old datas obj = self.memcached.get(obj_key) # Don't force check on first launch try: if not obj is None: # Host found new_obj = SNMPHost(host, community, version) if not obj == new_obj: # Update host obj.community = new_obj.community obj.version = new_obj.version new_serv = SNMPService(serv, obj, triggergroup, dstemplate, instance, instance_name, serv.service_description) new_serv.set_oids(self.datasource) new_serv.set_triggers(self.datasource) obj.update_service(new_serv) obj.frequences[serv.check_interval].forced = False self.memcached.set(obj_key, obj, time=604800) else: # No old datas for this host new_obj = SNMPHost(host, community, version) new_serv = SNMPService(serv, new_obj, triggergroup, dstemplate, instance, instance_name, serv.service_description) new_serv.set_oids(self.datasource) new_serv.set_triggers(self.datasource) new_obj.update_service(new_serv) # Save new host in memcache self.memcached.set(obj_key, new_obj, time=604800) except Exception, e: message = ("[SnmpBooster] Error adding : " "Host %s - Service %s - Error related " "to: %s" % (obj_key, serv.service_description, str(e))) logger.error(message)