Exemplo n.º 1
0
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))
Exemplo n.º 3
0
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?)"
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
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
Exemplo n.º 6
0
    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
        )
Exemplo n.º 7
0
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
Exemplo n.º 8
0
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
Exemplo n.º 9
0
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()