object CheckCommand "dummy-host" { import "plugin-check-command" command = [ PluginDir + "/test_hostcheck.pl" ] arguments = { "--type" = "$check_type$" "--failchance" = "$check_failchance$" "--previous-state" = "$check_previous_state$" "--state-duration" = "$check_state_duration$" "--hostname" = "$check_hostname$" } vars.check_type = "UP" vars.check_failchance = "2%" vars.check_previous_state = "$state$" vars.check_state_duration = "$duration_sec$" vars.check_hostname = "$name$" } object CheckCommand "dummy-service" { import "plugin-check-command" command = [ PluginDir + "/test_servicecheck.pl" ] arguments = { "--total-critical-on-host" = "$check_critical_on_host$" "--total-warning-on-host" = "$check_warning_on_host$" "--type" = "$check_type$" "--failchance" = "$check_failchance$" "--previous-state" = "$check_previous_state$" "--state-duration" = "$check_state_duration$" "--hostname" = "$check_hostname$" "--servicedesc" = "$check_servicedesc$" } vars.check_critical_on_host = "$host.total_services_critical$" vars.check_warning_on_host = "$host.total_services_warning$" vars.check_type = "random" vars.check_failchange = "5%" vars.check_previous_state = "$service.state$" vars.check_duration = "$service.duration_sec$" vars.check_hostname = "$host.name$" vars.check_servicedesc = "$service.name$" } // Hostgroups object HostGroup "all-hosts" { display_name = "All hosts on the system" assign where true } var host_types = ["ok", "random", "down", "up", "unreachable", "pending"] for (host_type in host_types) { object HostGroup "all-" + host_type use (host_type) { display_name = "All " + host_type + " hosts" assign where host.vars.check_type == host_type } } var service_types = ["ok", "warning", "critical", "unknown", "flapping", "pending"] // Servicegroups for (service_type in service_types) { object ServiceGroup "service-" + service_type use (service_type) { display_name = "All " + service_type + " services" assign where service.vars.check_type == service_type } } // --------------------------------------------------------------------------------------------------------------------- // Services // --------------------------------------------------------------------------------------------------------------------- function createService(service_type, num) { apply Service "service-" + service_type + "-" + string(num + 1) use (service_type) { import "generic-service" check_command = "dummy-service" enable_active_checks = (service_type != "pending") vars.check_type = service_type assign where service_type in host.vars.check_config } } for (num in range(4)) { for (service_type in service_types) { createService(service_type, num) } } // --------------------------------------------------------------------------------------------------------------------- // Hosts // --------------------------------------------------------------------------------------------------------------------- function createHost(checkType, checkConfig, num, checkEnabled) { object Host "test-" + checkType + "-" + string(num + 1) use (checkEnabled, checkType, checkConfig) { import "generic-host" address = "127.0.0.1" check_command = "dummy-host" enable_active_checks = checkEnabled vars.check_type = checkType vars.check_config = checkConfig } } for (num in range(10)) { createHost("ok", [ "ok" ], num, true) createHost("random", [ "random", "flapping" ], num, true) createHost("down", [ "warning", "critical" ], num, true) createHost("unreachable", [ "unknown" ], num, true) createHost("pending", [ "pending" ], num, false) createHost("flap", [ "flapping" ], num, true) } // EOF