def reload_nagios(): """ Reloads nagios. Returns "Success" on Success """ daemon = Control.daemon(nagios_cfg=Model.config.cfg_file, nagios_init='/etc/init.d/nagios3', nagios_bin='/usr/sbin/nagios3') if daemon.reload() == 0: return "Success" else: return "Failed to reload nagios (do you have enough permission?)"
def validate_nagios_configuration(module, backup_file): """Validate a Nagios configuration. If it fails, roll back previous changes.""" path = module.params.get('path') backup = module.params.get('backup') nagios_bin = module.params.get('nagios_bin') nagios_cfg = module.params.get('nagios_cfg') nagios_daemon = Control.daemon(nagios_bin=nagios_bin, nagios_cfg=nagios_cfg) if nagios_daemon.verify_config(): if not backup and backup_file is not None: # Remove backup file since validation successed module.cleanup(backup_file) return if backup_file == '': # Delete newly created Nagios file module.cleanup(path) else: # Restore original Nagios file from backup module.atomic_move(backup_file, path) # If validation process cannot be run, error messages are displayed on stdout message = nagios_daemon.stdout or nagios_daemon.stderr module.fail_json( msg='Nagios configuration validation failed: {}'.format(message))
def __init__(self, config): self.nagios_bin = config.nagios.nagios_bin self.nagios_cfg = config.nagios.nagios_cfg self.nagios_service = config.nagios.nagios_service self.nagios_host_cfg_dir = config.nagios.nagios_host_cfg_dir self.nagios_host_group_cfg = config.nagios.nagios_host_group_cfg self.nagios_contact_cfg = config.nagios.nagios_contact_cfg self.process = Control.daemon(nagios_bin=self.nagios_bin, nagios_cfg=self.nagios_cfg, nagios_init="service {0}".format( self.nagios_service), service_name=self.nagios_service)
def reload_nagios(): """ Reloads nagios. Returns "Success" on Success """ daemon = Control.daemon(nagios_cfg=Model.config.cfg_file, nagios_init=adagios.settings.nagios_init_script, nagios_bin=adagios.settings.nagios_binary) result = {} if daemon.reload() == 0: result['status'] = "success" result['message'] = 'Nagios Successfully reloaded' else: result['status'] = "error" result[ 'message'] = "Failed to reload nagios (do you have enough permissions?)" return result
def __init__(self,config): self.nagios_bin = config.nagios.nagios_bin self.nagios_cfg = config.nagios.nagios_cfg self.nagios_service = config.nagios.nagios_service self.nagios_host_cfg_dir = config.nagios.nagios_host_cfg_dir self.nagios_host_group_cfg = config.nagios.nagios_host_group_cfg self.nagios_contact_cfg = config.nagios.nagios_contact_cfg self.process = Control.daemon( nagios_bin = self.nagios_bin, nagios_cfg = self.nagios_cfg, nagios_init = "service {0}".format(self.nagios_service), service_name = self.nagios_service )
def reload_nagios(): """ Reloads nagios. Returns "Success" on Success """ daemon = Control.daemon( nagios_cfg=Model.config.cfg_file, nagios_init=adagios.settings.nagios_init_script, nagios_bin=adagios.settings.nagios_binary ) result = {} if daemon.reload() == 0: result['status'] = _("success") result['message'] = _('Nagios Successfully reloaded') else: result['status'] = _("error") result['message'] = _("Failed to reload nagios (do you have enough permissions?)") return result
def reload_nagios(): """ Reloads nagios. Returns "Success" on Success """ daemon = Control.daemon( nagios_cfg=Model.config.cfg_file, nagios_init=adagios.settings.nagios_init_script, nagios_bin=adagios.settings.nagios_binary ) result = {} if daemon.reload() == 0: result['status'] = _("success") result['message'] = _('Nagios Successfully reloaded') else: result['status'] = _("error") result['message'] = _("Failed to reload nagios (config error?)") return result
def main(argv=None): if argv is None: argv = sys.argv if len(argv) != 2: print "Usage: " + argv[0] + " <hostname>" return 1 hostname = argv[1] #Begin deleting with services first remove_services(hostname) #Note if any hostgroup definitions contain hostnames they should be deleted here #In my setup hosts aleays define which hostgroups they belong to. #Delete the host itself last remove_host(hostname) #Check config and restart nd = Control.daemon(NAGIOS_BIN, NAGIOS_CFG, NAGIOS_INIT) if not nd.verify_config(): print 'Config verification failed, run "nagios -v /etc/nagios/nagios.cfg" to identify the error' return 2 nd.restart()