]> granicus.if.org Git - icinga2/commitdiff
ITL: Add more parameters for nscp-local check commands
authorLennart Betz <lennart.betz@netways.de>
Mon, 21 Sep 2015 08:30:45 +0000 (10:30 +0200)
committerMichael Friedrich <michael.friedrich@netways.de>
Fri, 17 Jun 2016 13:07:42 +0000 (15:07 +0200)
nscp-local-cpu, -memory, -disk, -service and -counter

fixes #9264

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
doc/7-icinga-template-library.md
itl/command-nscp-local.conf

index 46ff2773a49ae77c947c91feee5410a0d4e3618e..dbb35b94c1b8a67295f7a92adb39714b2743c4f3 100644 (file)
@@ -1391,18 +1391,33 @@ nscp_load_all   | **Optional.** Whether to load all modules. Defaults to true.
 nscp_boot       | **Optional.** Whether to use the --boot option. Defaults to true.
 nscp_query      | **Required.** The NSClient++ query. Try `nscp client -q x` for a list.
 nscp_arguments  | **Optional.** An array of query arguments.
+nscp_showall   | **Optional.** Shows more details in plugin output, default to false.
 
 ### <a id="nscp-check-local-cpu"></a> nscp-local-cpu
 
 Check command object for the `check_cpu` NSClient++ plugin.
 
-This command has the same custom attributes like the `nscp-local` check command.
+Name                | Description
+--------------------|------------------
+nscp_cpu_time       | **Optional.** Calculate avarage usage for the given time intervals. Value has to be an array, default to [ "1m", "5m", "15m" ].
+nscp_cpu_warning    | **Optional.** Threshold for WARNING state in percent, default to 80.
+nscp_cpu_critical   | **Optional.** Threshold for CRITICAL state in percent, default to 90.
+nscp_cpu_arguments  | **Optional.** Additional arguments.
+nscp_cpu_showall    | **Optional.** Shows more details in plugin output, default to false.
 
 ### <a id="nscp-check-local-memory"></a> nscp-local-memory
 
 Check command object for the `check_memory` NSClient++ plugin.
 
-This command has the same custom attributes like the `nscp-local` check command.
+Name                  | Description
+----------------------|------------------
+nscp_memory_committed | **Optional.** Check for committed memory, default to false.
+nscp_memory_physical  | **Optional.** Check for physical memory, default to true.
+nscp_memory_free      | **Optional.** Switch between checking free (true) or used memory (false), default to false.
+nscp_memory_warning   | **Optional.** Threshold for WARNING state in percent or absolut (use MB, GB, ...), default to 80 (free=false) or 20 (free=true).
+nscp_memory_critical  | **Optional.** Threshold for CRITICAL state in percent or absolut (use MB, GB, ...), default to 90 (free=false) or 10 (free=true).
+nscp_memory_arguments | **Optional.** Additional arguments.
+nscp_memory_showall   | **Optional.** Shows more details in plugin output, default to false.
 
 ### <a id="nscp-check-local-os-version"></a> nscp-local-os-version
 
@@ -1426,7 +1441,18 @@ This command has the same custom attributes like the `nscp-local` check command.
 
 Check command object for the `check_service` NSClient++ plugin.
 
-This command has the same custom attributes like the `nscp-local` check command.
+Name                   | Description
+-----------------------|------------------
+nscp_service_name      | **Required.** Name of service to check.
+nscp_service_type      | **Optional.** Type to check, default to state.
+nscp_service_ok               | **Optional.** State for return an OK, i.e. for type=state running, stopped, ...
+nscp_service_otype     | **Optional.** Dedicate type for nscp_service_ok, default to nscp_service_state.
+nscp_service_warning   | **Optional.** State for return an WARNING.
+nscp_service_wtype     | **Optional.** Dedicate type for nscp_service_warning, default to nscp_service_state.
+nscp_service_critical  | **Optional.** State for return an CRITICAL.
+nscp_service_ctype     | **Optional.** Dedicate type for nscp_service_critical, default to nscp_service_state.
+nscp_service_arguments | **Optional.** Additional arguments.
+nscp_service_showall   | **Optional.** Shows more details in plugin output, default to true.
 
 ### <a id="nscp-check-local-uptime"></a> nscp-local-uptime
 
@@ -1444,13 +1470,26 @@ This command has the same custom attributes like the `nscp-local` check command.
 
 Check command object for the `check_drivesize` NSClient++ plugin.
 
-This command has the same custom attributes like the `nscp-local` check command.
+Name                   | Description
+-----------------------|------------------
+nscp_disk_drive        | **Optional.** Drive character, default to all drives.
+nscp_disk_free         | **Optional.** Switch between checking free space (free=true) or used space (free=false), default to false.
+nscp_disk_warning      | **Optional.** Threshold for WARNING in percent or absolut (use MB, GB, ...), default to 80 (used) or 20 percent (free).
+nscp_disk_critical     | **Optional.** Threshold for CRITICAL in percent or absolut (use MB, GB, ...), default to 90 (used) or 10 percent (free).
+nscp_disk_arguments    | **Optional.** Additional arguments.
+nscp_disk_showall      | **Optional.** Shows more details in plugin output, default to true.
 
 ### <a id="nscp-check-local-counter"></a> nscp-local-counter
 
 Check command object for the `check_pdh` NSClient++ plugin.
 
-This command has the same custom attributes like the `nscp-local` check command.
+Name                   | Description
+-----------------------|------------------
+nscp_counter_name      | **Required.** Performance counter name.
+nscp_counter_warning   | **Optional.** WARNING Threshold.
+nscp_counter_critical  | **Optional.** CRITICAL Threshold.
+nscp_counter_arguments | **Optional.** Additional arguments.
+nscp_counter_showall   | **Optional.** Shows more details in plugin output, default to false.
 
 
 
index f3c474955b2e87cfff76b7b7354e9a6d61e3565f..f38e3eb1a3459b753974643a6b26d68d5b530c14 100644 (file)
@@ -21,6 +21,7 @@ if (!globals.contains("NscpPath")) {
        NscpPath = dirname(msi_get_component_path("{5C45463A-4AE9-4325-96DB-6E239C034F93}"))
 }
 
+
 object CheckCommand "nscp-local" {
        import  "plugin-check-command"
 
@@ -40,23 +41,98 @@ object CheckCommand "nscp-local" {
                        value = "$nscp_arguments$"
                        skip_key = true
                }
+               "--show-all" = {
+                       set_if = "$nscp_showall$"
+               }
+
        }
 
        vars.nscp_log_level = "critical"
        vars.nscp_load_all = true
        vars.nscp_boot = true
+       vars.nscp_showall = false
 }
 
 object CheckCommand "nscp-local-cpu" {
        import  "nscp-local"
 
+       arguments += {
+               "--time" = {
+                       value = "$nscp_cpu_time$"
+                       repeat_key = true
+               }
+               "--warning" = {
+                       value = "load>$nscp_cpu_warning$"
+               }
+               "--critical" = {
+                       value = "load>$nscp_cpu_critical$"
+               }
+               "-a" = {
+                       value = "$nscp_cpu_arguments$"
+                       skip_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$"
+               }
+               "--type=physical" = {
+                       set_if = "$nscp_memory_physical$"
+               }
+               "--warning" = {
+                       value = "$nscp_memory_op$ $nscp_memory_warning$"
+               }
+               "--critical" = {
+                       value = "$nscp_memory_op$ $nscp_memory_critical$"
+               }
+               "-a" = {
+                       value = "$nscp_memory_arguments$"
+                       skip_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_commited = 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" {
@@ -80,7 +156,34 @@ object CheckCommand "nscp-local-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$"
+                       skip_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" {