1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
3 if (!globals.contains("NscpPath")) {
4 NscpPath = dirname(msi_get_component_path("{5C45463A-4AE9-4325-96DB-6E239C034F93}"))
7 object CheckCommand "nscp-local" {
8 command = [ NscpPath + "\\nscp.exe", "client" ]
12 value = "$nscp_log_level$"
13 description = "The log level to use"
16 set_if ="$nscp_load_all$"
17 description = "Load all plugins (currently only used with generate)"
20 value = "$nscp_modules$"
21 description = "Specify which NSClient++ modules are required. 'nscp client' just needs 'CheckSystem' by default."
25 value = "$nscp_query$"
26 description = "Run a query with a given name"
30 set_if = "$nscp_boot$"
31 description = "Boot the client before executing command (similar as running the command from test mode)"
34 value = "$nscp_arguments$"
36 description = "List of arguments (arguments gets -- prefixed automatically (--argument foo=bar is the same as setting '--foo bar')"
39 set_if = "$nscp_showall$"
44 vars.nscp_log_level = "critical"
45 vars.nscp_load_all = false
47 vars.nscp_showall = false
48 vars.nscp_modules = [ "CheckSystem" ]
51 object CheckCommand "nscp-local-cpu" {
56 value = "$nscp_cpu_time$"
58 description = "The time to check"
61 value = "load>$nscp_cpu_warning$"
64 value = "load>$nscp_cpu_critical$"
67 value = "$nscp_cpu_arguments$"
72 vars.nscp_query = "check_cpu"
73 vars.nscp_showall = "$nscp_cpu_showall$"
75 vars.nscp_cpu_time = [ "1m", "5m", "15m" ]
76 vars.nscp_cpu_showall = true
77 vars.nscp_cpu_warning = 80
78 vars.nscp_cpu_critical = 90
81 object CheckCommand "nscp-local-memory" {
85 "--type=committed" = {
86 set_if = "$nscp_memory_committed$"
87 description = "Total memory (RAM+PAGE)"
90 set_if = "$nscp_memory_physical$"
91 description = "Physical memory (RAM)"
94 value = "$nscp_memory_op$ $nscp_memory_warning$"
97 value = "$nscp_memory_op$ $nscp_memory_critical$"
100 value = "$nscp_memory_arguments$"
105 vars.nscp_query = "check_memory"
106 vars.nscp_showall = "$nscp_memory_showall$"
108 vars.nscp_memory_op = {{
109 if (!macro("$nscp_memory_free$")) {
116 vars.nscp_memory_committed = false
117 vars.nscp_memory_physical = true
118 vars.nscp_memory_free = true
119 vars.nscp_memory_warning = {{
120 if (!macro("$nscp_memory_free$")) {
126 vars.nscp_memory_critical = {{
127 if (!macro("$nscp_memory_free$")) {
133 vars.nscp_memory_showall = false
136 object CheckCommand "nscp-local-os-version" {
139 vars.nscp_query = "check_os_version"
142 object CheckCommand "nscp-local-pagefile" {
145 vars.nscp_query = "check_pagefile"
148 object CheckCommand "nscp-local-process" {
151 vars.nscp_query = "check_process"
154 object CheckCommand "nscp-local-service" {
159 value = "$nscp_service_name$"
163 value = "$nscp_service_otype$='$nscp_service_ok$'"
166 value = "$nscp_service_wtype$='$nscp_service_warning$'"
169 value = "$nscp_service_ctype$='$nscp_service_critical$'"
172 value = "$nscp_service_arguments$"
177 vars.nscp_query = "check_service"
178 vars.nscp_showall = "$nscp_service_showall$"
180 vars.nscp_service_showall = true
181 vars.nscp_service_type = "state"
182 vars.nscp_service_otype = vars.nscp_service_type
183 vars.nscp_service_wtype = vars.nscp_service_type
184 vars.nscp_service_ctype = vars.nscp_service_type
187 object CheckCommand "nscp-local-uptime" {
190 vars.nscp_query = "check_uptime"
193 object CheckCommand "nscp-local-version" {
196 vars.nscp_query = "check_version"
197 vars.nscp_modules = [ "CheckHelpers" ]
200 object CheckCommand "nscp-local-disk" {
205 value = "$nscp_disk_drive$"
209 value = "$nscp_disk_exclude$"
213 value = "$nscp_disk_op$ $nscp_disk_warning$"
216 value = "$nscp_disk_op$ $nscp_disk_critical$"
219 value = "$nscp_disk_arguments$"
224 vars.nscp_query = "check_drivesize"
225 vars.nscp_showall = "$nscp_disk_showall$"
227 vars.nscp_disk_op = {{
228 if (!macro("$nscp_disk_free$")) {
235 vars.nscp_disk_showall = true
236 vars.nscp_disk_free = false
237 vars.nscp_disk_warning = {{
238 if (!macro("$nscp_disk_free$")) { return 80 } else { return 20 }
240 vars.nscp_disk_critical = {{
241 if (!macro("$nscp_disk_free$")) { return 90 } else { return 10 }
244 vars.nscp_modules = [ "CheckDisk" ]
247 object CheckCommand "nscp-local-counter" {
252 value = "$nscp_counter_name$"
256 value = "value $nscp_counter_op$ $nscp_counter_warning$"
259 value = "value $nscp_counter_op$ $nscp_counter_critical$"
262 value = "$nscp_counter_perfsyntax$"
265 value = "$nscp_counter_arguments$"
270 vars.nscp_counter_op = {{
271 if (!macro("$nscp_counter_less$")) {
278 vars.nscp_query = "check_pdh"
279 vars.nscp_showall = "$nscp_counter_showall$"
280 vars.nscp_counter_less = false
281 vars.nscp_counter_perfsyntax = "$nscp_counter_name$"
284 object CheckCommand "nscp-local-tasksched" {
290 var scheduler_name = macro("$nscp_tasksched_name$")
291 if (len(scheduler_name) > 0 ) {
297 value = "title='$nscp_tasksched_name$'"
298 description = "Name of the task to check."
301 value = "$nscp_tasksched_folder$"
302 description = "The folder in which the tasks to check reside."
305 set_if = "$nscp_tasksched_hidden$"
306 description = "Look for hidden tasks."
309 value = "$nscp_tasksched_recursive$"
310 description = "Recurse sub folder (defaults to true)."
313 value = "$nscp_tasksched_warning$"
314 description = "Filter which marks items which generates a warning state."
317 value = "$nscp_tasksched_critical$"
318 description = "Filter which marks items which generates a critical state."
321 value = "$nscp_tasksched_emptystate$"
322 description = "Return status to use when nothing matched filter."
325 value = "$nscp_tasksched_perfsyntax$"
326 description = "Performance alias syntax."
328 "--detail-syntax" = {
329 value = "$nscp_tasksched_detailsyntax$"
330 description = "Detail level syntax."
333 value = "$nscp_tasksched_arguments$"
338 vars.nscp_modules = "CheckTaskSched"
339 vars.nscp_query = "check_tasksched"
340 vars.nscp_showall = "$nscp_tasksched_showall$"
341 vars.nscp_tasksched_recursive = true
342 vars.nscp_tasksched_perfsyntax = "%(title)"
343 vars.nscp_tasksched_detailsyntax = "%(folder)/%(title): %(exit_code) != 0"
344 vars.nscp_tasksched_warning = "exit_code != 0"
345 vars.nscp_tasksched_critical = "exit_code < 0"