]> granicus.if.org Git - icinga2/blobdiff - itl/command-nscp-local.conf
Merge pull request #6058 from gunnarbeutner/feature/clean-up-plugins
[icinga2] / itl / command-nscp-local.conf
index f3c474955b2e87cfff76b7b7354e9a6d61e3565f..33677fccd104e7ae1237eb05700bd4010c170f77 100644 (file)
@@ -1,6 +1,6 @@
 /******************************************************************************
  * Icinga 2                                                                   *
- * Copyright (C) 2012-2016 Icinga Development Team (https://www.icinga.org/)  *
+ * Copyright (C) 2012-2018 Icinga Development Team (https://www.icinga.com/)  *
  *                                                                            *
  * This program is free software; you can redistribute it and/or              *
  * modify it under the terms of the GNU General Public License                *
@@ -22,41 +22,132 @@ if (!globals.contains("NscpPath")) {
 }
 
 object CheckCommand "nscp-local" {
-       import  "plugin-check-command"
-
        command = [ NscpPath + "\\nscp.exe", "client" ]
 
        arguments = {
-               "--log" = "$nscp_log_level$"
-               "--load-all" = { set_if ="$nscp_load_all$" }
+               "--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$"
-                       skip_key = true
+                       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 = true
+       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" {
@@ -80,7 +171,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$"
+                       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" {
@@ -93,16 +211,85 @@ 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$"
 }