1 /******************************************************************************
3 * Copyright (C) 2012-2016 Icinga Development Team (https://www.icinga.org/) *
5 * This program is free software; you can redistribute it and/or *
6 * modify it under the terms of the GNU General Public License *
7 * as published by the Free Software Foundation; either version 2 *
8 * of the License, or (at your option) any later version. *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the Free Software Foundation *
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. *
18 ******************************************************************************/
20 if (!globals.contains("NscpPath")) {
21 NscpPath = dirname(msi_get_component_path("{5C45463A-4AE9-4325-96DB-6E239C034F93}"))
25 object CheckCommand "nscp-local" {
26 import "plugin-check-command"
28 command = [ NscpPath + "\\nscp.exe", "client" ]
31 "--log" = "$nscp_log_level$"
32 "--load-all" = { set_if ="$nscp_load_all$" }
34 value = "$nscp_query$"
38 set_if = "$nscp_boot$"
41 value = "$nscp_arguments$"
45 set_if = "$nscp_showall$"
50 vars.nscp_log_level = "critical"
51 vars.nscp_load_all = true
53 vars.nscp_showall = false
56 object CheckCommand "nscp-local-cpu" {
61 value = "$nscp_cpu_time$"
65 value = "load>$nscp_cpu_warning$"
68 value = "load>$nscp_cpu_critical$"
71 value = "$nscp_cpu_arguments$"
76 vars.nscp_query = "check_cpu"
77 vars.nscp_showall = "$nscp_cpu_showall$"
79 vars.nscp_cpu_time = [ "1m", "5m", "15m" ]
80 vars.nscp_cpu_showall = true
81 vars.nscp_cpu_warning = 80
82 vars.nscp_cpu_critical = 90
85 object CheckCommand "nscp-local-memory" {
89 "--type=committed" = {
90 set_if = "$nscp_memory_committed$"
93 set_if = "$nscp_memory_physical$"
96 value = "$nscp_memory_op$ $nscp_memory_warning$"
99 value = "$nscp_memory_op$ $nscp_memory_critical$"
102 value = "$nscp_memory_arguments$"
107 vars.nscp_query = "check_memory"
108 vars.nscp_showall = "$nscp_memory_showall$"
110 vars.nscp_memory_op = {{
111 if (!macro("$nscp_memory_free$")) {
118 vars.nscp_memory_commited = false
119 vars.nscp_memory_physical = true
120 vars.nscp_memory_free = true
121 vars.nscp_memory_warning = {{
122 if (!macro("$nscp_memory_free$")) {
128 vars.nscp_memory_critical = {{
129 if (!macro("$nscp_memory_free$")) {
135 vars.nscp_memory_showall = false
138 object CheckCommand "nscp-local-os-version" {
141 vars.nscp_query = "check_os_version"
144 object CheckCommand "nscp-local-pagefile" {
147 vars.nscp_query = "check_pagefile"
150 object CheckCommand "nscp-local-process" {
153 vars.nscp_query = "check_process"
156 object CheckCommand "nscp-local-service" {
161 value = "$nscp_service_name$"
165 value = "$nscp_service_otype$='$nscp_service_ok$'"
168 value = "$nscp_service_wtype$='$nscp_service_warning$'"
171 value = "$nscp_service_ctype$='$nscp_service_critical$'"
174 value = "$nscp_service_arguments$"
179 vars.nscp_query = "check_service"
180 vars.nscp_showall = "$nscp_service_showall$"
182 vars.nscp_service_showall = true
183 vars.nscp_service_type = "state"
184 vars.nscp_service_otype = vars.nscp_service_type
185 vars.nscp_service_wtype = vars.nscp_service_type
186 vars.nscp_service_ctype = vars.nscp_service_type
189 object CheckCommand "nscp-local-uptime" {
192 vars.nscp_query = "check_uptime"
195 object CheckCommand "nscp-local-version" {
198 vars.nscp_query = "check_version"
201 object CheckCommand "nscp-local-disk" {
206 value = "$nscp_disk_drive$"
210 value = "$nscp_disk_op$ $nscp_disk_warning$"
213 value = "$nscp_disk_op$ $nscp_disk_critical$"
216 value = "$nscp_disk_arguments$"
221 vars.nscp_query = "check_drivesize"
222 vars.nscp_showall = "$nscp_disk_showall$"
224 vars.nscp_disk_op = {{
225 if (!macro("$nscp_disk_free$")) {
232 vars.nscp_disk_showall = true
233 vars.nscp_disk_free = false
234 vars.nscp_disk_warning = {{
235 if (!macro("$nscp_disk_free$")) { return 80 } else { return 20 }
237 vars.nscp_disk_critical = {{
238 if (!macro("$nscp_disk_free$")) { return 90 } else { return 10 }
242 object CheckCommand "nscp-local-counter" {
247 value = "$nscp_counter_name$"
251 value = "value $nscp_counter_op$ $nscp_counter_warning$"
254 value = "value $nscp_counter_op$ $nscp_counter_critical$"
257 value = "perf-syntax=$nscp_counter_perfsyntax$"
261 value = "$nscp_counter_arguments$"
266 vars.nscp_counter_op = {{
267 if (!macro("$nscp_counter_less$")) {
274 vars.nscp_query = "check_pdh"
275 vars.nscp_showall = "$nscp_counter_showall$"
276 vars.nscp_counter_less = false
277 vars.nscp_counter_perfsyntax = "$nscp_counter_name$"