Esempio n. 1
0
 def install(self, arguments):
     conf = Settings.get()
     conf.set_string('/modules', 'test_disk', 'CheckDisk')
     conf.set_string('/modules', 'pytest', 'PythonScript')
     conf.set_string('/settings/pytest/scripts', 'test_w32sys',
                     'test_w32_file.py')
     conf.save()
Esempio n. 2
0
def init(pid, plugin_alias, script_alias):
    global world_status, plugin_id
    plugin_id = pid

    conf = Settings.get(plugin_id)
    conf.register_path(
        '/settings/cool script', "Sample script config",
        "This is a sample script which demonstrates how to interact with NSClient++"
    )
    conf.register_key('/settings/cool script', 'world', 'string', "A key",
                      "Never ever change this key: or the world will break",
                      "safe")

    world_status = conf.get_string('/settings/cool script', 'world', 'true')
    if world_status != 'safe':
        log('My god: its full of stars: %s' % world_status)

    log('Adding a simple function/cmd line')
    reg = Registry.get(plugin_id)
    reg.simple_cmdline('help', get_help)

    reg.simple_function('check_world', check_world,
                        'Check if the world is safe')
    reg.simple_function('break_world', break_world, 'Break the world')
    reg.simple_function('fix_world', fix_world, 'Fix the world')
    reg.simple_function('save_world', save_world, 'Save the world')

    reg.simple_function('show_metrics', fun_show_metrics,
                        'Enable displaying metrics or not')

    reg.submit_metrics(submit_metrics)
    reg.fetch_metrics(fetch_metrics)
Esempio n. 3
0
	def test_one_crypto(self, crypto, length=512):
		conf = Settings.get()
		conf.set_string('/settings/NSCA/test_nsca_server', 'encryption', '%s'%crypto)
		conf.set_string('/settings/NSCA/test_nsca_server', 'password', 'pwd-%s'%crypto)
		conf.set_int('/settings/NSCA/test_nsca_server', 'payload length', length)
		core.reload('test_nsca_server')
		
		conf.set_string('/settings/NSCA/test_nsca_client/targets/default', 'address', 'nsca://127.0.0.1:35667')
		conf.set_string('/settings/NSCA/test_nsca_client/targets/default', 'encryption', '%s'%crypto)
		conf.set_string('/settings/NSCA/test_nsca_client/targets/default', 'password', 'default-%s'%crypto)
		conf.set_int('/settings/NSCA/test_nsca_client/targets/default', 'payload length', length*3)

		conf.set_string('/settings/NSCA/test_nsca_client/targets/invalid', 'address', 'nsca://127.0.0.1:25667')
		conf.set_string('/settings/NSCA/test_nsca_client/targets/invalid', 'encryption', 'none')
		conf.set_string('/settings/NSCA/test_nsca_client/targets/invalid', 'password', 'invalid-%s'%crypto)
		conf.set_int('/settings/NSCA/test_nsca_client/targets/invalid', 'payload length', length*2)

		conf.set_string('/settings/NSCA/test_nsca_client/targets/valid', 'address', 'nsca://127.0.0.1:15667')
		conf.set_string('/settings/NSCA/test_nsca_client/targets/valid', 'encryption', '%s'%crypto)
		conf.set_string('/settings/NSCA/test_nsca_client/targets/valid', 'password', 'pwd-%s'%crypto)
		conf.set_int('/settings/NSCA/test_nsca_client/targets/valid', 'payload length', length)
		core.reload('test_nsca_client')

		
		
		result = TestResult('Testing: %s/%d'%(crypto, length))
		result.add_message(isOpen('localhost', 15667), 'Checking that port is open')
		for target in ['valid', 'test_rp', 'invalid']:
			result.add(self.test_one_crypto_full(crypto, status.UNKNOWN, 'unknown', target, length))
			result.add(self.test_one_crypto_full(crypto, status.OK, 'ok', target, length))
			result.add(self.test_one_crypto_full(crypto, status.WARNING, 'warn', target, length))
			result.add(self.test_one_crypto_full(crypto, status.CRITICAL, 'crit', target, length))
		return result
Esempio n. 4
0
    def init(self, plugin_id, prefix):
        self.key = '_%stest_command' % prefix
        self.reg = Registry.get(plugin_id)
        self.core = Core.get(plugin_id)
        self.conf = Settings.get(plugin_id)

        None
Esempio n. 5
0
    def do_one_test(self, ssl=True):
        conf = Settings.get()
        conf.set_bool('/settings/nscp/test_nscp_server', 'use ssl', ssl)
        conf.set_bool('/settings/nscp/test_nscp_server', 'allow arguments',
                      True)
        # TODO: conf.set_string('/settings/nscp/test_nscp_server', 'certificate', ssl)
        core.reload('test_nscp_server')

        conf.set_string('/settings/nscp/test_nscp_client/targets/default',
                        'address', 'nscp://127.0.0.1:35668')
        conf.set_bool('/settings/nscp/test_nscp_client/targets/default',
                      'use ssl', not ssl)

        conf.set_string('/settings/nscp/test_nscp_client/targets/invalid',
                        'address', 'nscp://127.0.0.1:25668')
        conf.set_bool('/settings/nscp/test_nscp_client/targets/invalid',
                      'use ssl', not ssl)

        conf.set_string('/settings/nscp/test_nscp_client/targets/valid',
                        'address', 'nscp://127.0.0.1:15668')
        conf.set_bool('/settings/nscp/test_nscp_client/targets/valid',
                      'use ssl', ssl)
        core.reload('test_nscp_client')

        result = TestResult()
        #result.add_message(isOpen('127.0.0.1', 15668), 'Checking that port is open (server is up)')
        #result.add(self.test_one(ssl, length, state = status.UNKNOWN, tag = 'unknown'))
        result.add(self.test_one(ssl, state=status.OK, tag='ok'))
        #result.add(self.test_one(ssl, length, state = status.WARNING, tag = 'warn'))
        #result.add(self.test_one(ssl, length, state = status.CRITICAL, tag = 'crit'))
        return result
Esempio n. 6
0
 def __init__(self, plugin_id, plugin_alias, script_alias):
     self.plugin_id = plugin_id
     self.plugin_alias = plugin_alias
     self.script_alias = script_alias
     self.conf = Settings.get(self.plugin_id)
     self.registry = Registry.get(self.plugin_id)
     self.core = Core.get(self.plugin_id)
Esempio n. 7
0
	def do_one_test(self, ssl=True, length=1024):
		conf = Settings.get()
		conf.set_int('/settings/NRPE/test_nrpe_server', 'payload length', length)
		conf.set_bool('/settings/NRPE/test_nrpe_server', 'use ssl', ssl)
		conf.set_bool('/settings/NRPE/test_nrpe_server', 'allow arguments', True)
		# TODO: conf.set_string('/settings/NRPE/test_nrpe_server', 'certificate', ssl)
		core.reload('test_nrpe_server')

		conf.set_string('/settings/NRPE/test_nrpe_client/targets/default', 'address', 'nrpe://127.0.0.1:35666')
		conf.set_bool('/settings/NRPE/test_nrpe_client/targets/default', 'use ssl', not ssl)
		conf.set_int('/settings/NRPE/test_nrpe_client/targets/default', 'payload length', length*3)

		conf.set_string('/settings/NRPE/test_nrpe_client/targets/invalid', 'address', 'nrpe://127.0.0.1:25666')
		conf.set_bool('/settings/NRPE/test_nrpe_client/targets/invalid', 'use ssl', not ssl)
		conf.set_int('/settings/NRPE/test_nrpe_client/targets/invalid', 'payload length', length*2)

		conf.set_string('/settings/NRPE/test_nrpe_client/targets/valid', 'address', 'nrpe://127.0.0.1:15666')
		conf.set_bool('/settings/NRPE/test_nrpe_client/targets/valid', 'use ssl', ssl)
		conf.set_int('/settings/NRPE/test_nrpe_client/targets/valid', 'payload length', length)
		core.reload('test_nrpe_client')
		
		result = TestResult()
		result.add_message(isOpen('127.0.0.1', 15666), 'Checking that port is open (server is up)')
		result.add(self.test_one(ssl, length, state = status.UNKNOWN, tag = 'unknown'))
		result.add(self.test_one(ssl, length, state = status.OK, tag = 'ok'))
		result.add(self.test_one(ssl, length, state = status.WARNING, tag = 'warn'))
		result.add(self.test_one(ssl, length, state = status.CRITICAL, tag = 'crit'))
		return result
Esempio n. 8
0
def init(pid, plugin_alias, script_alias):
    global world_status, plugin_id
    plugin_id = pid

    conf = Settings.get(plugin_id)
    conf.register_path('/settings/cool script', "Sample script config", "This is a sample script which demonstrates how to interact with NSClient++")
    conf.register_key('/settings/cool script', 'world', 'string', "A key", "Never ever change this key: or the world will break", "safe")

    world_status = conf.get_string('/settings/cool script', 'world', 'true')
    if world_status != 'safe':
        log('My god: its full of stars: %s'%world_status)
    
    log('Adding a simple function/cmd line')
    reg = Registry.get(plugin_id)
    reg.simple_cmdline('help', get_help)

    reg.simple_function('check_world', check_world, 'Check if the world is safe')
    reg.simple_function('break_world', break_world, 'Break the world')
    reg.simple_function('fix_world', fix_world, 'Fix the world')
    reg.simple_function('save_world', save_world, 'Save the world')
    
    reg.simple_function('show_metrics', fun_show_metrics, 'Enable displaying metrics or not')

    reg.submit_metrics(submit_metrics)
    reg.fetch_metrics(fetch_metrics)
Esempio n. 9
0
	def init(self, plugin_id, prefix):
		self.key = '_%stest_command'%prefix
		self.reg = Registry.get(plugin_id)
		self.core = Core.get(plugin_id)
		self.conf = Settings.get(plugin_id)

		None
Esempio n. 10
0
	def __init__(self, plugin_id, plugin_alias, script_alias):
		self.plugin_id = plugin_id
		self.plugin_alias = plugin_alias
		self.script_alias = script_alias
		self.conf = Settings.get(self.plugin_id)
		self.registry = Registry.get(self.plugin_id)
		self.core = Core.get(self.plugin_id)
Esempio n. 11
0
 def install(self, arguments):
     conf = Settings.get()
     conf.set_string('/modules', 'test_system', 'CheckWMI')
     conf.set_string('/modules', 'pytest', 'PythonScript')
     conf.set_string('/settings/pytest/scripts', 'test_w32wmi',
                     'test_w32_wmi.py')
     conf.save()
Esempio n. 12
0
def init(pid, plugin_alias, script_alias):
    global plugin_id, icinga_url, icinga_auth, path
    plugin_id = pid

    core = Core.get(plugin_id)
    path = core.expand_path("${module-path}")

    conf = Settings.get(plugin_id)
    conf.register_path(
        '/settings/remote-modules', "Remote module",
        "Keys for the remote-modules module which handles downloading remote modules on demand"
    )
    conf.register_path(
        '/settings/remote-modules/modules', "Remote modules",
        "A list of remote modules to fetch the key is not used.")

    reg = Registry.get(plugin_id)
    reg.simple_function('remote_module_update', update,
                        'Update all or one remote module')

    for mod in conf.get_section('/settings/remote-modules/modules'):
        url = conf.get_string('/settings/remote-modules/modules', mod, '')
        log("Adding module %s as %s" % (mod, url))
        conf.register_key('/settings/remote-modules/modules', mod, 'string',
                          "A remote module to fetch",
                          "A remote module to fetch", "")
    if not update_modules():
        log_error("Failed to update modules")
    else:
        enable_modules()
Esempio n. 13
0
def install_test(arguments):
    log('-+---==(TEST INSTALLER)==---------------------------------------------------+-'
        )
    log(' | Setup nessecary configuration for running test                           |'
        )
    log(' | This includes: Loading the PythonScript module at startup                |'
        )
    log(' | To use this please run nsclient++ in "test mode" like so:                |'
        )
    log(' | nscp --test                                                              |'
        )
    log(' | Then start the pytest_test command by typing it and press enter like so: |'
        )
    log(' | pytest_test                                                              |'
        )
    log(' | Lastly exit by typing exit like so:                                      |'
        )
    log(' | exit                                                                     |'
        )
    log('-+--------------------------------------------------------==(DAS ENDE!)==---+-'
        )
    conf = Settings.get()
    conf.set_string('/modules', 'pytest', 'PythonScript')
    conf.set_string('/settings/pytest/scripts', 'pytest', 'test.py')
    conf.save()
Esempio n. 14
0
	def install(self, arguments):
		conf = Settings.get()
		conf.set_string('/modules', 'pytest', 'PythonScript')

		conf.set_string('/settings/pytest/scripts', 'test_pb', 'test_pb.py')
		
		conf.save()
Esempio n. 15
0
	def install(self, arguments):
		conf = Settings.get()
		conf.set_string('/modules', 'pytest', 'PythonScript')

		conf.set_string('/settings/pytest/scripts', 'test_pb', 'test_pb.py')
		
		conf.save()
Esempio n. 16
0
def init(pid, plugin_alias, script_alias):
    global server_name, plugin_id, icinga_url, icinga_auth
    plugin_id = pid
    server_name = socket.gethostname()

    reg = Registry.get(plugin_id)
    core = Core.get(plugin_id)
    reg.event('name', on_event)
    reg.submit_metrics(submit_metrics)
    
    conf = Settings.get(plugin_id)
    conf.register_key('/settings/icinga', 'url', 'string', "The URL of the icinga API port", "The icinga base for the api: https://icinga.com:5665", "")
    conf.register_key('/settings/icinga', 'user', 'string', "The user id of the icinga API", "The icinga API user: root", "")
    conf.register_key('/settings/icinga', 'password', 'string', "The user id of the icinga API", "The icinga API password: hopefully not icinga", "")
    
    icinga_url = conf.get_string('/settings/icinga', 'url', '')
    usr = conf.get_string('/settings/icinga', 'user', '')
    pwd = conf.get_string('/settings/icinga', 'password', '')
    icinga_auth = requests.auth.HTTPBasicAuth(usr, pwd)
    
    (res, os_version, perf) = core.simple_query('check_os_version', ["top-syntax=${list}"])
    add_host(server_name, socket.gethostbyname(server_name), os_version)
    add_nrpe_service(server_name, 'check_cpu', 'check_cpu', 'CPU Load')
    add_nrpe_service(server_name, 'check_memory', 'check_memory', 'CPU Load')

    for k in ['check_cpu', 'check_memory']:
        conf.set_string('/settings/scheduler/schedules/%s'%k, 'command', k)
        conf.set_string('/settings/scheduler/schedules/%s'%k, 'channel', 'icinga_passive')
        conf.set_string('/settings/scheduler/schedules/%s'%k, 'interval', '30s')
    core.load_module('Scheduler', '')

    reg.simple_subscription('icinga_passive', icinga_passive)
Esempio n. 17
0
	def setup(self, plugin_id, prefix):
		self.reg = Registry.get(plugin_id)
		self.reg.simple_function(self.command, StressTest.random_check_handler, 'This is a simple noop command')
		self.reg.simple_subscription(self.python_channel, StressTest.on_stress_handler)
		conf = Settings.get()
		conf.set_string(self.sched_base_path, 'threads', '%d'%use_threads)
		core.reload(self.sched_alias)
Esempio n. 18
0
File: docs.py Progetto: wyrover/nscp
 def __init__(self, plugin_id, plugin_alias, script_alias):
     self.plugin_id = plugin_id
     self.plugin_alias = plugin_alias
     self.script_alias = script_alias
     self.conf = Settings.get(self.plugin_id)
     self.registry = Registry.get(self.plugin_id)
     self.core = Core.get(self.plugin_id)
     self.command_cache = {}
     self.folder = None
Esempio n. 19
0
File: docs.py Progetto: simon04/nscp
 def __init__(self, plugin_id, plugin_alias, script_alias):
     self.plugin_id = plugin_id
     self.plugin_alias = plugin_alias
     self.script_alias = script_alias
     self.conf = Settings.get(self.plugin_id)
     self.registry = Registry.get(self.plugin_id)
     self.core = Core.get(self.plugin_id)
     self.command_cache = {}
     self.folder = None
Esempio n. 20
0
	def setup(self, plugin_id, prefix):
		log('Loading Python unit tests')
		self.key = '_%stest_command'%prefix
		self.reg = Registry.get(plugin_id)
		self.reg.simple_function('py_stress_noop', PythonTest.noop_handler, 'This is a simple noop command')
		self.reg.simple_subscription('py_stress_test', PythonTest.stress_handler)
		conf = Settings.get()
		conf.set_string('/settings/test_scheduler', 'threads', '50')
		core.reload('test_scheduler')
Esempio n. 21
0
 def setup(self, plugin_id, prefix):
     self.reg = Registry.get(plugin_id)
     self.reg.simple_function(self.command, StressTest.random_check_handler,
                              'This is a simple noop command')
     self.reg.simple_subscription(self.python_channel,
                                  StressTest.on_stress_handler)
     conf = Settings.get()
     conf.set_string(self.sched_base_path, 'threads', '%d' % use_threads)
     core.reload(self.sched_alias)
Esempio n. 22
0
	def install(self, arguments):
		conf = Settings.get()
		conf.set_string('/modules', 'pytest', 'PythonScript')
		fn = os.path.basename(self.__source__)
		(sn, ext) = os.path.splitext(fn)
		conf.register_key('/settings/pytest/scripts', sn, 'string', 'UNIT TEST SCRIPT: %s'%self.title(), 'A script for running unittests for: %s'%self.desc(), fn)
		conf.set_string('/settings/pytest/scripts', sn, fn)
		
		conf.save()
Esempio n. 23
0
	def install(self, arguments):
		conf = Settings.get()
		conf.set_string('/modules', 'pytest', 'PythonScript')
		fn = os.path.basename(self.__source__)
		(sn, ext) = os.path.splitext(fn)
		conf.register_key('/settings/pytest/scripts', sn, 'string', 'UNIT TEST SCRIPT: %s'%self.title(), 'A script for running unittests for: %s'%self.desc(), fn)
		conf.set_string('/settings/pytest/scripts', sn, fn)
		
		conf.save()
Esempio n. 24
0
	def install(self, arguments):
		global is_windows, route_via_python, route_via_nsca, use_threads
		conf = Settings.get()

		# Configure required modules
		if route_via_python:
			conf.set_string('/modules', 'pytest', 'PythonScript')
		conf.set_string('/modules', self.sched_alias, 'Scheduler')
		if is_windows:
			conf.set_string('/modules', 'CheckSystem', 'enabled')
		conf.set_string('/modules', 'CheckHelpers', 'enabled')

		if route_via_nsca:
			conf.set_string('/modules', self.nsca_server_alias, 'NSCAServer')
			conf.set_string('/modules', self.nsca_client_alias, 'NSCAClient')
			
			# Configure NSCA Server
			conf.set_string('/settings/NSCA/%s'%self.nsca_server_alias, 'port', '%d'%self.port)
			conf.set_string('/settings/NSCA/%s'%self.nsca_server_alias, 'inbox', self.python_channel)
			conf.set_string('/settings/NSCA/%s'%self.nsca_server_alias, 'encryption', 'aes')

			# Configure NSCA Client
			conf.set_string('/settings/NSCA/%s/targets/default'%self.nsca_client_alias, 'address', 'nsca://127.0.0.1:%d'%self.port)
			conf.set_string('/settings/NSCA/%s/targets/default'%self.nsca_client_alias, 'encryption', 'aes')
			conf.set_string('/settings/NSCA/%s'%self.nsca_client_alias, 'channel', self.nsca_channel)
		
		# Configure python
		if route_via_python:
			conf.set_string('/settings/pytest/scripts', 'test_stress', 'test_stress.py')
		
		# Configure Scheduler
		if route_via_python:
			conf.set_string(self.sched_base_path, 'threads', '0')
		else:
			conf.set_string(self.sched_base_path, 'threads', '50')

		default_path = '%s/default'%self.sched_base_path
		if route_via_nsca:
			conf.set_string(default_path, 'channel', self.nsca_channel)
		else:
			conf.set_string(default_path, 'channel', self.python_channel)

		conf.set_string(default_path, 'alias', 'stress')
		#conf.set_string(default_path, 'target', 'stress_001')
		
		use_command = self.command
		if not route_via_python:
			use_command = 'CheckOK'
		
		conf.set_string(default_path, 'command', use_command)
		conf.set_string(default_path, 'interval', '5s')
		for i in range(1, (check_per_second*5)+1):
			alias = 'stress_python_%i'%i
			conf.set_string('%s/schedules'%(self.sched_base_path), alias, use_command)

		conf.save()
Esempio n. 25
0
def enable_modules(module=None):
    ret = False
    conf = Settings.get(plugin_id)
    core = Core.get(plugin_id)
    for mod in conf.get_section('/settings/remote-modules/modules'):
        if module and not mod == module:
            continue
        url = conf.get_string('/settings/remote-modules/modules', mod, '')
        file = get_module_name(url)
        log("Loading module %s" % file)
        core.load_module(file, "")
    return ret
Esempio n. 26
0
def update_modules(module=None):
    ret = False
    conf = Settings.get(plugin_id)
    for mod in conf.get_section('/settings/remote-modules/modules'):
        if module and not mod == module:
            continue
        url = conf.get_string('/settings/remote-modules/modules', mod, '')
        log("Fetching module %s as %s" % (mod, url))
        file = get_target_file(url)
        if not download_module(url, file):
            log_error("Failed to fetch module: %s" % mod)
            continue
        ret = True
    return ret
Esempio n. 27
0
	def install(self, arguments):
		conf = Settings.get()
		conf.set_string('/modules', 'test_nscp_server', 'NSCPServer')
		conf.set_string('/modules', 'test_nscp_client', 'NSCPClient')
		conf.set_string('/modules', 'pytest', 'PythonScript')

		conf.set_string('/settings/pytest/scripts', 'test_nscp', 'test_nscp.py')
		
		conf.set_string('/settings/nscp/test_nscp_server', 'port', '15668')
		conf.set_string('/settings/nscp/test_nscp_server', 'inbox', 'nscp_test_inbox')

		conf.set_string('/settings/nscp/test_nscp_client/targets', 'nscp_test_local', 'nscp://127.0.0.1:15668')
		conf.set_string('/settings/nscp/test_nscp_client', 'channel', 'nscp_test_outbox')
		
		conf.save()
Esempio n. 28
0
def install_test(arguments):
	log('-+---==(TEST INSTALLER)==---------------------------------------------------+-')
	log(' | Setup nessecary configuration for running test                           |')
	log(' | This includes: Loading the PythonScript module at startup                |')
	log(' | To use this please run nsclient++ in "test mode" like so:                |')
	log(' | nscp --test                                                              |')
	log(' | Then start the pytest_test command by typing it and press enter like so: |')
	log(' | pytest_test                                                              |')
	log(' | Lastly exit by typing exit like so:                                      |')
	log(' | exit                                                                     |')
	log('-+--------------------------------------------------------==(DAS ENDE!)==---+-')
	conf = Settings.get()
	conf.set_string('/modules', 'pytest', 'PythonScript')
	conf.set_string('/settings/pytest/scripts', 'pytest', 'test.py')
	conf.save()
Esempio n. 29
0
	def install(self, arguments):
		conf = Settings.get()
		conf.set_string('/modules', 'test_nrpe_server', 'NRPEServer')
		conf.set_string('/modules', 'test_nrpe_client', 'NRPEClient')
		conf.set_string('/modules', 'pytest', 'PythonScript')

		conf.set_string('/settings/pytest/scripts', 'test_nrpe', 'test_nrpe.py')
		
		conf.set_string('/settings/NRPE/test_nrpe_server', 'port', '15666')
		conf.set_string('/settings/NRPE/test_nrpe_server', 'inbox', 'nrpe_test_inbox')
		conf.set_string('/settings/NRPE/test_nrpe_server', 'encryption', '1')

		conf.set_string('/settings/NRPE/test_nrpe_client/targets', 'nrpe_test_local', 'nrpe://127.0.0.1:15666')
		conf.set_string('/settings/NRPE/test_nrpe_client', 'channel', 'nrpe_test_outbox')
		
		conf.save()
Esempio n. 30
0
    def install(self, arguments):
        conf = Settings.get()
        conf.set_string("/modules", "pytest", "PythonScript")
        fn = os.path.basename(self.__source__)
        (sn, ext) = os.path.splitext(fn)
        conf.register_key(
            "/settings/pytest/scripts",
            sn,
            "string",
            "UNIT TEST SCRIPT: %s" % self.title(),
            "A script for running unittests for: %s" % self.desc(),
            fn,
        )
        conf.set_string("/settings/pytest/scripts", sn, fn)

        conf.save()
Esempio n. 31
0
	def install(self, arguments):
		conf = Settings.get()
		conf.set_string('/modules', 'test_nsca_server', 'NSCAServer')
		conf.set_string('/modules', 'test_nsca_client', 'NSCAClient')
		conf.set_string('/modules', 'pytest', 'PythonScript')

		conf.set_string('/settings/pytest/scripts', 'test_nsca', 'test_nsca.py')
		
		conf.set_string('/settings/NSCA/test_nsca_server', 'port', '15667')
		conf.set_string('/settings/NSCA/test_nsca_server', 'inbox', 'nsca_test_inbox')
		conf.set_string('/settings/NSCA/test_nsca_server', 'encryption', '1')

		conf.set_string('/settings/NSCA/test_nsca_client/targets', 'nsca_test_local', 'nsca://127.0.0.1:15667')
		conf.set_string('/settings/NSCA/test_nsca_client', 'channel', 'nsca_test_outbox')
		
		conf.save()
Esempio n. 32
0
	def install(self, arguments):
		conf = Settings.get()
		conf.set_string('/modules', 'pytest_eventlog', 'CheckEventLog')
		conf.set_string('/modules', 'pytest', 'PythonScript')

		conf.set_string('/settings/pytest/scripts', 'test_eventlog', 'test_eventlog.py')
		
		conf.set_string('/settings/pytest_eventlog/real-time', 'enabled', 'true')
		conf.set_string('/settings/pytest_eventlog/real-time', 'filter', 'id = 1000 and category = 0')
		conf.set_string('/settings/pytest_eventlog/real-time/filters', 'test', 'id = 1000 and category = 1')
		conf.set_string('/settings/pytest_eventlog/real-time', 'maximum age', '5s')
		conf.set_string('/settings/pytest_eventlog/real-time', 'destination', 'pytest_evlog')
		conf.set_string('/settings/pytest_eventlog/real-time', 'language', 'english')
		conf.set_string('/settings/pytest_eventlog/real-time', 'debug', 'true')
		conf.set_string('/settings/pytest_eventlog/real-time', 'enable active', 'true')
		
		conf.save()
Esempio n. 33
0
def found_nic(name, alias):
    global plugin_id, nics
    if not alias in nics:
        nics.append(alias)
        id = 'check_nic_%d' % len(nics)
        add_nrpe_service(server_name, id, 'check_network', alias,
                         ["filter=name='%s'" % name])
        conf = Settings.get(plugin_id)
        conf.set_string(
            '/settings/scheduler/schedules/%s' % id, 'command',
            'check_network %s "filter=name=%s"' % (alias, "'%s'" % name))
        conf.set_string('/settings/scheduler/schedules/%s' % id, 'channel',
                        'icinga_passive')
        conf.set_string('/settings/scheduler/schedules/%s' % id, 'interval',
                        '30s')
        return True
    return False
Esempio n. 34
0
File: icamp.py Progetto: wytcld/nscp
def init(plugin_id, plugin_alias, script_alias):

    conf = Settings.get(plugin_id)
    if conf.get_string('/settings/icamp', 'configured', 'false') == 'false':
        conf.set_string('/settings/icamp', 'configured', 'true')

        conf.set_string('/modules', 'GraphiteClient', 'enabled')
        conf.set_string('/modules', 'Scheduler', 'enabled')
        conf.set_string('/modules', 'CheckSystem', 'enabled')
        conf.set_string('/modules', 'ElasticClient', 'enabled')
        conf.set_string('/modules', 'CheckEventlog', 'enabled')

        conf.set_string('/settings/graphite/client/targets/default', 'host',
                        '127.0.0.1')

        conf.set_string('/settings/scheduler/schedules/default', 'interval',
                        '5s')
        conf.set_string('/settings/scheduler/schedules/default', 'channel',
                        'graphite')
        conf.set_string('/settings/scheduler/schedules', 'cpu', 'check_cpu')

        conf.set_string('/settings/elastic/client', 'address',
                        'http://127.0.0.1:9200/_bulk')
        conf.set_string('/settings/elastic/client', 'events',
                        'eventlog:errors,system.process:notepad')

        conf.set_string('/settings/eventlog/real-time', 'enabled', 'true')
        conf.set_string('/settings/eventlog/real-time/filters/errors', 'log',
                        'application')
        conf.set_string('/settings/eventlog/real-time/filters/errors',
                        'destination', 'events')
        conf.set_string('/settings/eventlog/real-time/filters/errors',
                        'filter', "level='error'")

        conf.set_string('/settings/system/windows/real-time/process/notepad',
                        'process', "notepad.exe")
        conf.set_string('/settings/system/windows/real-time/process/notepad',
                        'filter', "new = 1")
        conf.set_string('/settings/system/windows/real-time/process/notepad',
                        'destination', "events")
        conf.save()

        core = Core.get(plugin_id)
        core.reload('service')
Esempio n. 35
0
    def install(self, arguments):
        conf = Settings.get()
        conf.set_string('/modules', 'test_nscp_server', 'NSCPServer')
        conf.set_string('/modules', 'test_nscp_client', 'NSCPClient')
        conf.set_string('/modules', 'pytest', 'PythonScript')

        conf.set_string('/settings/pytest/scripts', 'test_nscp',
                        'test_nscp.py')

        conf.set_string('/settings/nscp/test_nscp_server', 'port', '15668')
        conf.set_string('/settings/nscp/test_nscp_server', 'inbox',
                        'nscp_test_inbox')

        conf.set_string('/settings/nscp/test_nscp_client/targets',
                        'nscp_test_local', 'nscp://127.0.0.1:15668')
        conf.set_string('/settings/nscp/test_nscp_client', 'channel',
                        'nscp_test_outbox')

        conf.save()
Esempio n. 36
0
def init(pid, plugin_alias, script_alias):
	global prefix
	global plugin_id
	plugin_id = pid
	if script_alias:
		prefix = '%s_'%script_alias

	conf = Settings.get()
	#val = conf.get_string('/modules', 'PythonScript', 'foo')

	#log('Got it: %s'%val)
	
	log('Testing to register a function')
	reg = Registry.get(plugin_id)
	
	reg.simple_cmdline('help', get_help)
	reg.simple_cmdline('install_python_test', install_test)

	reg.simple_function('%stest'%prefix, test, 'Run python unittest')
Esempio n. 37
0
	def install(self, arguments):
		conf = Settings.get()
		conf.set_string('/modules', 'test_scheduler', 'Scheduler')
		conf.set_string('/modules', 'pytest', 'PythonScript')

		conf.set_string('/settings/pytest/scripts', 'test_python', 'test_python.py')
		
		base_path = '/settings/test_scheduler'
		conf.set_string(base_path, 'threads', '0')

		default_path = '%s/schedules/default'%base_path
		conf.set_string(default_path, 'channel', 'py_stress_test')
		conf.set_string(default_path, 'alias', 'stress')
		conf.set_string(default_path, 'command', 'py_stress_noop')
		conf.set_string(default_path, 'interval', '5s')
		for i in range(1, install_checks):
			alias = 'stress_python_%i'%i
			conf.set_string('%s/schedules'%(base_path), alias, 'py_stress_noop')

		conf.save()
Esempio n. 38
0
	def install(self, arguments):
		conf = Settings.get()
		conf.set_string('/modules', 'pytest_eventlog', 'CheckEventLog')
		conf.set_string('/modules', 'pytest', 'PythonScript')

		conf.set_string('/settings/pytest/scripts', 'test_eventlog', 'test_eventlog.py')
		
		conf.set_string('/settings/pytest_eventlog/real-time', 'enabled', 'true')

		self.install_filter(conf, '/settings/pytest_eventlog/real-time/filters/default', 'pytest_evlog_01', 'id = 1000 and category = 0', '%type% %source%: %message%','OK')
		
		self.install_filter(conf, '/settings/pytest_eventlog/real-time/filters/py_test_001', 'pytest_evlog_01', 'id = 1000 and category = 1', 'X1 %type% %source%: %message%', 'WARNING')
		self.install_filter(conf, '/settings/pytest_eventlog/real-time/filters/py_test_002', 'pytest_evlog_02', 'id = 1000 and category = 2', 'X2 %type% %source%: %message%', 'CRITICAL')
		self.install_filter(conf, '/settings/pytest_eventlog/real-time/filters/py_test_003',  None, 			'id = 1000 and category = 3', 'X3 %type% %source%: %message%', 'UNKNOWN')
		self.install_filter(conf, '/settings/pytest_eventlog/real-time/filters/py_test_004',  None, 			None                        , 'X4 %type% %source%: %message%', None)
		
		conf.set_string('/settings/pytest_eventlog/real-time', 'maximum age', '5s')
		conf.set_string('/settings/pytest_eventlog/real-time', 'debug', 'true')
		conf.set_string('/settings/pytest_eventlog/real-time', 'enable active', 'true')
		
		conf.save()
Esempio n. 39
0
    def install(self, arguments):
        conf = Settings.get()
        conf.set_string('/modules', 'pytest_eventlog', 'CheckEventLog')
        conf.set_string('/modules', 'pytest', 'PythonScript')

        conf.set_string('/settings/pytest/scripts', 'test_eventlog',
                        'test_eventlog.py')

        conf.set_string('/settings/pytest_eventlog/real-time', 'enabled',
                        'true')

        self.install_filter(
            conf, '/settings/pytest_eventlog/real-time/filters/default',
            'pytest_evlog_01', 'id = 1000 and category = 0',
            '%type% %source%: %message%', 'OK')

        self.install_filter(
            conf, '/settings/pytest_eventlog/real-time/filters/py_test_001',
            'pytest_evlog_01', 'id = 1000 and category = 1',
            'X1 %type% %source%: %message%', 'WARNING')
        self.install_filter(
            conf, '/settings/pytest_eventlog/real-time/filters/py_test_002',
            'pytest_evlog_02', 'id = 1000 and category = 2',
            'X2 %type% %source%: %message%', 'CRITICAL')
        self.install_filter(
            conf, '/settings/pytest_eventlog/real-time/filters/py_test_003',
            None, 'id = 1000 and category = 3',
            'X3 %type% %source%: %message%', 'UNKNOWN')
        self.install_filter(
            conf, '/settings/pytest_eventlog/real-time/filters/py_test_004',
            None, None, 'X4 %type% %source%: %message%', None)

        conf.set_string('/settings/pytest_eventlog/real-time', 'maximum age',
                        '5s')
        conf.set_string('/settings/pytest_eventlog/real-time', 'debug', 'true')
        conf.set_string('/settings/pytest_eventlog/real-time', 'enable active',
                        'true')

        conf.save()
Esempio n. 40
0
 def init(self, plugin_id, prefix):
     self.plugin_id = plugin_id
     self.reg = Registry.get(plugin_id)
     self.core = Core.get(plugin_id)
     self.conf = Settings.get(plugin_id)
Esempio n. 41
0
 def init(self, plugin_id, prefix):
     self.reg = Registry.get(plugin_id)
     self.core = Core.get(plugin_id)
     self.conf = Settings.get(plugin_id)
Esempio n. 42
0
	def teardown(self):
		conf = Settings.get()
		conf.set_string('/settings/test_scheduler', 'threads', '0')
		core.reload('test_scheduler')
		None
Esempio n. 43
0
 def teardown(self):
     if not self.background:
         conf = Settings.get()
         conf.set_string(self.sched_base_path, 'threads', '0')
         core.reload(self.sched_alias)
Esempio n. 44
0
def save_world(arguments):
    global world_status, plugin_id
    conf = Settings.get(plugin_id)
    conf.set_string('/settings/cool script', 'world', world_status)
    conf.save()
    return (status.OK, 'The world is saved: %s'%world_status)
Esempio n. 45
0
	def install(self, arguments):
		conf = Settings.get()
		conf.set_string('/modules', 'test_system', 'CheckWMI')
		conf.set_string('/modules', 'pytest', 'PythonScript')
		conf.set_string('/settings/pytest/scripts', 'test_w32wmi', 'test_w32_wmi.py')
		conf.save()
Esempio n. 46
0
    def install(self, arguments):
        global is_windows, route_via_python, route_via_nsca, use_threads
        conf = Settings.get()

        # Configure required modules
        if route_via_python:
            conf.set_string('/modules', 'pytest', 'PythonScript')
        conf.set_string('/modules', self.sched_alias, 'Scheduler')
        if is_windows:
            conf.set_string('/modules', 'CheckSystem', 'enabled')
        conf.set_string('/modules', 'CheckHelpers', 'enabled')

        if route_via_nsca:
            conf.set_string('/modules', self.nsca_server_alias, 'NSCAServer')
            conf.set_string('/modules', self.nsca_client_alias, 'NSCAClient')

            # Configure NSCA Server
            conf.set_string('/settings/NSCA/%s' % self.nsca_server_alias,
                            'port', '%d' % self.port)
            conf.set_string('/settings/NSCA/%s' % self.nsca_server_alias,
                            'inbox', self.python_channel)
            conf.set_string('/settings/NSCA/%s' % self.nsca_server_alias,
                            'encryption', 'aes')

            # Configure NSCA Client
            conf.set_string(
                '/settings/NSCA/%s/targets/default' % self.nsca_client_alias,
                'address', 'nsca://127.0.0.1:%d' % self.port)
            conf.set_string(
                '/settings/NSCA/%s/targets/default' % self.nsca_client_alias,
                'encryption', 'aes')
            conf.set_string('/settings/NSCA/%s' % self.nsca_client_alias,
                            'channel', self.nsca_channel)

        # Configure python
        if route_via_python:
            conf.set_string('/settings/pytest/scripts', 'test_stress',
                            'test_stress.py')

        # Configure Scheduler
        if route_via_python:
            conf.set_string(self.sched_base_path, 'threads', '0')
        else:
            conf.set_string(self.sched_base_path, 'threads', '50')

        default_path = '%s/default' % self.sched_base_path
        if route_via_nsca:
            conf.set_string(default_path, 'channel', self.nsca_channel)
        else:
            conf.set_string(default_path, 'channel', self.python_channel)

        conf.set_string(default_path, 'alias', 'stress')
        #conf.set_string(default_path, 'target', 'stress_001')

        use_command = self.command
        if not route_via_python:
            use_command = 'CheckOK'

        conf.set_string(default_path, 'command', use_command)
        conf.set_string(default_path, 'interval', '5s')
        for i in range(1, (check_per_second * 5) + 1):
            alias = 'stress_python_%i' % i
            conf.set_string('%s/schedules' % (self.sched_base_path), alias,
                            use_command)

        conf.save()
Esempio n. 47
0
def save_world(arguments):
    global world_status, plugin_id
    conf = Settings.get(plugin_id)
    conf.set_string('/settings/cool script', 'world', world_status)
    conf.save()
    return (status.OK, 'The world is saved: %s' % world_status)
Esempio n. 48
0
	def teardown(self):
		if not self.background:
			conf = Settings.get()
			conf.set_string(self.sched_base_path, 'threads', '0')
			core.reload(self.sched_alias)
Esempio n. 49
0
	def install(self, arguments):
		conf = Settings.get()
		conf.set_string('/modules', 'test_disk', 'CheckDisk')
		conf.set_string('/modules', 'pytest', 'PythonScript')
		conf.set_string('/settings/pytest/scripts', 'test_w32sys', 'test_w32_file.py')
		conf.save()