mirror of https://github.com/Icinga/icinga2.git
361 lines
10 KiB
Plaintext
361 lines
10 KiB
Plaintext
/******************************************************************************
|
|
* Icinga 2 *
|
|
* Copyright (C) 2012-2018 Icinga Development Team (https://icinga.com/) *
|
|
* *
|
|
* This program is free software; you can redistribute it and/or *
|
|
* modify it under the terms of the GNU General Public License *
|
|
* as published by the Free Software Foundation; either version 2 *
|
|
* of the License, or (at your option) any later version. *
|
|
* *
|
|
* This program is distributed in the hope that it will be useful, *
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
* GNU General Public License for more details. *
|
|
* *
|
|
* You should have received a copy of the GNU General Public License *
|
|
* along with this program; if not, write to the Free Software Foundation *
|
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. *
|
|
******************************************************************************/
|
|
|
|
if (!globals.contains("NscpPath")) {
|
|
NscpPath = dirname(msi_get_component_path("{5C45463A-4AE9-4325-96DB-6E239C034F93}"))
|
|
}
|
|
|
|
object CheckCommand "nscp-local" {
|
|
command = [ NscpPath + "\\nscp.exe", "client" ]
|
|
|
|
arguments = {
|
|
"--log" = {
|
|
value = "$nscp_log_level$"
|
|
description = "The log level to use"
|
|
}
|
|
"--load-all" = {
|
|
set_if ="$nscp_load_all$"
|
|
description = "Load all plugins (currently only used with generate)"
|
|
}
|
|
"--module" = {
|
|
value = "$nscp_modules$"
|
|
description = "Specify which NSClient++ modules are required. 'nscp client' just needs 'CheckSystem' by default."
|
|
repeat_key = true
|
|
}
|
|
"-q" = {
|
|
value = "$nscp_query$"
|
|
description = "Run a query with a given name"
|
|
required = true
|
|
}
|
|
"-b" = {
|
|
set_if = "$nscp_boot$"
|
|
description = "Boot the client before executing command (similar as running the command from test mode)"
|
|
}
|
|
"-a" = {
|
|
value = "$nscp_arguments$"
|
|
repeat_key = true
|
|
description = "List of arguments (arguments gets -- prefixed automatically (--argument foo=bar is the same as setting '--foo bar')"
|
|
}
|
|
"--show-all" = {
|
|
set_if = "$nscp_showall$"
|
|
description = ""
|
|
}
|
|
}
|
|
|
|
vars.nscp_log_level = "critical"
|
|
vars.nscp_load_all = false
|
|
vars.nscp_boot = true
|
|
vars.nscp_showall = false
|
|
vars.nscp_modules = [ "CheckSystem" ]
|
|
}
|
|
|
|
object CheckCommand "nscp-local-cpu" {
|
|
import "nscp-local"
|
|
|
|
arguments += {
|
|
"--time" = {
|
|
value = "$nscp_cpu_time$"
|
|
repeat_key = true
|
|
description = "The time to check"
|
|
}
|
|
"--warning" = {
|
|
value = "load>$nscp_cpu_warning$"
|
|
}
|
|
"--critical" = {
|
|
value = "load>$nscp_cpu_critical$"
|
|
}
|
|
"-a" = {
|
|
value = "$nscp_cpu_arguments$"
|
|
repeat_key = true
|
|
}
|
|
}
|
|
|
|
vars.nscp_query = "check_cpu"
|
|
vars.nscp_showall = "$nscp_cpu_showall$"
|
|
|
|
vars.nscp_cpu_time = [ "1m", "5m", "15m" ]
|
|
vars.nscp_cpu_showall = true
|
|
vars.nscp_cpu_warning = 80
|
|
vars.nscp_cpu_critical = 90
|
|
}
|
|
|
|
object CheckCommand "nscp-local-memory" {
|
|
import "nscp-local"
|
|
|
|
arguments += {
|
|
"--type=committed" = {
|
|
set_if = "$nscp_memory_committed$"
|
|
description = "Total memory (RAM+PAGE)"
|
|
}
|
|
"--type=physical" = {
|
|
set_if = "$nscp_memory_physical$"
|
|
description = "Physical memory (RAM)"
|
|
}
|
|
"--warning" = {
|
|
value = "$nscp_memory_op$ $nscp_memory_warning$"
|
|
}
|
|
"--critical" = {
|
|
value = "$nscp_memory_op$ $nscp_memory_critical$"
|
|
}
|
|
"-a" = {
|
|
value = "$nscp_memory_arguments$"
|
|
repeat_key = true
|
|
}
|
|
}
|
|
|
|
vars.nscp_query = "check_memory"
|
|
vars.nscp_showall = "$nscp_memory_showall$"
|
|
|
|
vars.nscp_memory_op = {{
|
|
if (!macro("$nscp_memory_free$")) {
|
|
return "used >"
|
|
} else {
|
|
return "free <"
|
|
}
|
|
}}
|
|
|
|
vars.nscp_memory_committed = false
|
|
vars.nscp_memory_physical = true
|
|
vars.nscp_memory_free = true
|
|
vars.nscp_memory_warning = {{
|
|
if (!macro("$nscp_memory_free$")) {
|
|
return 80
|
|
} else {
|
|
return 20
|
|
}
|
|
}}
|
|
vars.nscp_memory_critical = {{
|
|
if (!macro("$nscp_memory_free$")) {
|
|
return 90
|
|
} else {
|
|
return 10
|
|
}
|
|
}}
|
|
vars.nscp_memory_showall = false
|
|
}
|
|
|
|
object CheckCommand "nscp-local-os-version" {
|
|
import "nscp-local"
|
|
|
|
vars.nscp_query = "check_os_version"
|
|
}
|
|
|
|
object CheckCommand "nscp-local-pagefile" {
|
|
import "nscp-local"
|
|
|
|
vars.nscp_query = "check_pagefile"
|
|
}
|
|
|
|
object CheckCommand "nscp-local-process" {
|
|
import "nscp-local"
|
|
|
|
vars.nscp_query = "check_process"
|
|
}
|
|
|
|
object CheckCommand "nscp-local-service" {
|
|
import "nscp-local"
|
|
|
|
arguments += {
|
|
"--service" = {
|
|
value = "$nscp_service_name$"
|
|
repeat_key = true
|
|
}
|
|
"--ok" = {
|
|
value = "$nscp_service_otype$='$nscp_service_ok$'"
|
|
}
|
|
"--warning" = {
|
|
value = "$nscp_service_wtype$='$nscp_service_warning$'"
|
|
}
|
|
"--critical" = {
|
|
value = "$nscp_service_ctype$='$nscp_service_critical$'"
|
|
}
|
|
"-a" = {
|
|
value = "$nscp_service_arguments$"
|
|
repeat_key = true
|
|
}
|
|
}
|
|
|
|
vars.nscp_query = "check_service"
|
|
vars.nscp_showall = "$nscp_service_showall$"
|
|
|
|
vars.nscp_service_showall = true
|
|
vars.nscp_service_type = "state"
|
|
vars.nscp_service_otype = vars.nscp_service_type
|
|
vars.nscp_service_wtype = vars.nscp_service_type
|
|
vars.nscp_service_ctype = vars.nscp_service_type
|
|
}
|
|
|
|
object CheckCommand "nscp-local-uptime" {
|
|
import "nscp-local"
|
|
|
|
vars.nscp_query = "check_uptime"
|
|
}
|
|
|
|
object CheckCommand "nscp-local-version" {
|
|
import "nscp-local"
|
|
|
|
vars.nscp_query = "check_version"
|
|
vars.nscp_modules = [ "CheckHelpers" ]
|
|
}
|
|
|
|
object CheckCommand "nscp-local-disk" {
|
|
import "nscp-local"
|
|
|
|
arguments += {
|
|
"--drive" = {
|
|
value = "$nscp_disk_drive$"
|
|
repeat_key = true
|
|
}
|
|
"--warning" = {
|
|
value = "$nscp_disk_op$ $nscp_disk_warning$"
|
|
}
|
|
"--critical" = {
|
|
value = "$nscp_disk_op$ $nscp_disk_critical$"
|
|
}
|
|
"-a" = {
|
|
value = "$nscp_disk_arguments$"
|
|
repeat_key = true
|
|
}
|
|
}
|
|
|
|
vars.nscp_query = "check_drivesize"
|
|
vars.nscp_showall = "$nscp_disk_showall$"
|
|
|
|
vars.nscp_disk_op = {{
|
|
if (!macro("$nscp_disk_free$")) {
|
|
return "used >"
|
|
} else {
|
|
return "free <"
|
|
}
|
|
}}
|
|
|
|
vars.nscp_disk_showall = true
|
|
vars.nscp_disk_free = false
|
|
vars.nscp_disk_warning = {{
|
|
if (!macro("$nscp_disk_free$")) { return 80 } else { return 20 }
|
|
}}
|
|
vars.nscp_disk_critical = {{
|
|
if (!macro("$nscp_disk_free$")) { return 90 } else { return 10 }
|
|
}}
|
|
|
|
vars.nscp_modules = [ "CheckDisk" ]
|
|
}
|
|
|
|
object CheckCommand "nscp-local-counter" {
|
|
import "nscp-local"
|
|
|
|
arguments += {
|
|
"--counter" = {
|
|
value = "$nscp_counter_name$"
|
|
repeat_key = true
|
|
}
|
|
"--warning" = {
|
|
value = "value $nscp_counter_op$ $nscp_counter_warning$"
|
|
}
|
|
"--critical" = {
|
|
value = "value $nscp_counter_op$ $nscp_counter_critical$"
|
|
}
|
|
"--perf-syntax" = {
|
|
value = "$nscp_counter_perfsyntax$"
|
|
}
|
|
"-a" = {
|
|
value = "$nscp_counter_arguments$"
|
|
repeat_key = true
|
|
}
|
|
}
|
|
|
|
vars.nscp_counter_op = {{
|
|
if (!macro("$nscp_counter_less$")) {
|
|
return ">"
|
|
} else {
|
|
return "<"
|
|
}
|
|
}}
|
|
|
|
vars.nscp_query = "check_pdh"
|
|
vars.nscp_showall = "$nscp_counter_showall$"
|
|
vars.nscp_counter_less = false
|
|
vars.nscp_counter_perfsyntax = "$nscp_counter_name$"
|
|
}
|
|
|
|
object CheckCommand "nscp-local-tasksched" {
|
|
import "nscp-local"
|
|
|
|
arguments += {
|
|
"--filter" = {
|
|
set_if = {{
|
|
var scheduler_name = macro("$nscp_tasksched_name$")
|
|
if (len(scheduler_name) > 0 ) {
|
|
return true
|
|
} else {
|
|
return false
|
|
}
|
|
}}
|
|
value = "title='$nscp_tasksched_name$'"
|
|
description = "Name of the task to check."
|
|
}
|
|
"--folder" = {
|
|
value = "$nscp_tasksched_folder$"
|
|
description = "The folder in which the tasks to check reside."
|
|
}
|
|
"--hidden" = {
|
|
set_if = "$nscp_tasksched_hidden$"
|
|
description = "Look for hidden tasks."
|
|
}
|
|
"--recursive" = {
|
|
value = "$nscp_tasksched_recursive$"
|
|
description = "Recurse sub folder (defaults to true)."
|
|
}
|
|
"--warning" = {
|
|
value = "$nscp_tasksched_warning$"
|
|
description = "Filter which marks items which generates a warning state."
|
|
}
|
|
"--critical" = {
|
|
value = "$nscp_tasksched_critical$"
|
|
description = "Filter which marks items which generates a critical state."
|
|
}
|
|
"--empty-state" = {
|
|
value = "$nscp_tasksched_emptystate$"
|
|
description = "Return status to use when nothing matched filter."
|
|
}
|
|
"--perf-syntax" = {
|
|
value = "$nscp_tasksched_perfsyntax$"
|
|
description = "Performance alias syntax."
|
|
}
|
|
"--detail-syntax" = {
|
|
value = "$nscp_tasksched_detailsyntax$"
|
|
description = "Detail level syntax."
|
|
}
|
|
"-a" = {
|
|
value = "$nscp_tasksched_arguments$"
|
|
repeat_key = true
|
|
}
|
|
}
|
|
|
|
vars.nscp_modules = "CheckTaskSched"
|
|
vars.nscp_query = "check_tasksched"
|
|
vars.nscp_showall = "$nscp_tasksched_showall$"
|
|
vars.nscp_tasksched_recursive = true
|
|
vars.nscp_tasksched_perfsyntax = "%(title)"
|
|
vars.nscp_tasksched_detailsyntax = "%(folder)/%(title): %(exit_code) != 0"
|
|
vars.nscp_tasksched_warning = "exit_code != 0"
|
|
vars.nscp_tasksched_critical = "exit_code < 0"
|
|
|
|
}
|