]> granicus.if.org Git - icinga2/commitdiff
ITL: Add memory and cpu thresholds to snmp_process Manubulon CheckCommand
authormocruz <mocruz@theworkshop.com>
Tue, 4 Apr 2017 15:26:24 +0000 (17:26 +0200)
committerMichael Friedrich <michael.friedrich@icinga.com>
Thu, 20 Apr 2017 09:43:13 +0000 (11:43 +0200)
fixes #5129
fixes #5130

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
doc/10-icinga-template-library.md
itl/command-plugins-manubulon.conf

index 91ee914412e6a83a5135f5aa683d3b15cbd00bdc..0bf0fac2907f826c2f361b894721c809ff1a13f6 100644 (file)
@@ -1931,27 +1931,30 @@ Check command object for the [check_snmp_process.pl](http://nagios.manubulon.com
 
 Custom attributes passed as [command parameters](3-monitoring-basics.md#command-passing-parameters):
 
-Name                    | Description
-------------------------|--------------
-snmp_address            | **Optional.** The host's address. Defaults to "$address$" if the host's `address` attribute is set, "$address6$" otherwise.
-snmp_nocrypt            | **Optional.** Define SNMP encryption. If set, **snmp_v3** needs to be set. Defaults to false.
-snmp_community          | **Optional.** The SNMP community. Defaults to "public".
-snmp_port               | **Optional.** The SNMP port connection.
-snmp_v2                 | **Optional.** SNMP version to 2c. Defaults to false.
-snmp_v3                 | **Optional.** SNMP version to 3. Defaults to false.
-snmp_login              | **Optional.** SNMP version 3 username. Defaults to "snmpuser".
-snmp_password           | **Required.** SNMP version 3 password. No value defined as default.
-snmp_v3_use_privpass    | **Optional.** Define to use SNMP version 3 priv password. Defaults to false.
-snmp_v3_use_authprotocol| **Optional.** Define to use SNMP version 3 authentication protocol. Defaults to false.
-snmp_authprotocol       | **Optional.** SNMP version 3 authentication protocol. Defaults to "md5,des".
-snmp_privpass           | **Required.** SNMP version 3 priv password. No value defined as default..
-snmp_warn               | **Optional.** The warning threshold.
-snmp_crit               | **Optional.** The critical threshold.
-snmp_process_name       | **Optional.** Name of the process (regexp). No trailing slash!. Defaults to ".*".
-snmp_perf               | **Optional.** Enable perfdata values. Defaults to true.
-snmp_timeout            | **Optional.** The command timeout in seconds. Defaults to 5 seconds.
-snmp_process_use_params | **Optional.** Add process parameters to process name for regexp matching. Example: "named.*-t /var/named/chroot" will only select named process with this parameter. Defaults to false.
-
+Name                       | Description
+---------------------------|--------------
+snmp_address               | **Optional.** The host's address. Defaults to "$address$" if the host's `address` attribute is set, "$address6$" otherwise.
+snmp_nocrypt               | **Optional.** Define SNMP encryption. If set, **snmp_v3** needs to be set. Defaults to false.
+snmp_community             | **Optional.** The SNMP community. Defaults to "public".
+snmp_port                  | **Optional.** The SNMP port connection.
+snmp_v2                    | **Optional.** SNMP version to 2c. Defaults to false.
+snmp_v3                    | **Optional.** SNMP version to 3. Defaults to false.
+snmp_login                 | **Optional.** SNMP version 3 username. Defaults to "snmpuser".
+snmp_password              | **Required.** SNMP version 3 password. No value defined as default.
+snmp_v3_use_privpass       | **Optional.** Define to use SNMP version 3 priv password. Defaults to false.
+snmp_v3_use_authprotocol   | **Optional.** Define to use SNMP version 3 authentication protocol. Defaults to false.
+snmp_authprotocol          | **Optional.** SNMP version 3 authentication protocol. Defaults to "md5,des".
+snmp_privpass              | **Required.** SNMP version 3 priv password. No value defined as default..
+snmp_warn                  | **Optional.** The warning threshold.
+snmp_crit                  | **Optional.** The critical threshold.
+snmp_process_name          | **Optional.** Name of the process (regexp). No trailing slash!. Defaults to ".*".
+snmp_perf                  | **Optional.** Enable perfdata values. Defaults to true.
+snmp_timeout               | **Optional.** The command timeout in seconds. Defaults to 5 seconds.
+snmp_process_use_params    | **Optional.** Add process parameters to process name for regexp matching. Example: "named.*-t /var/named/chroot" will only select named process with this parameter. Defaults to false.
+snmp_process_mem_usage     | **Optional.** Define to check memory usage for the process. Defaults to false.
+snmp_process_mem_threshold | **Optional.** Defines the warning and critical thresholds in Mb when snmp_process_mem_usage set to true. Example "512,1024". Defaults to "0,0".
+snmp_process_cpu_usage     | **Optional.** Define to check CPU usage for the process. Defaults to false.
+snmp_process_cpu_threshold | **Optional.** Defines the warning and critical thresholds in % when snmp_process_cpu_usage set to true. If more than one CPU, value can be > 100% : 100%=1 CPU. Example "15,50". Defaults to "0,0".
 
 
 ## <a id="plugin-contrib"></a> Contributed Plugin Check Commands
index 9ab5f011b0ea8d76ad3b7c650053ee4002817f4f..40216656fcfd48b6a48ed0809daef7c068dc9bb7 100644 (file)
@@ -93,7 +93,7 @@ object CheckCommand "snmp-load" {
 }
 
 
-/** 
+/**
  * Memory and swap usage on Linux given by Net-snmp
  *   Memory usage on cisco routers or Pix
  *   For other systems use check_snmp_storage.pl
@@ -149,7 +149,7 @@ object CheckCommand "snmp-storage" {
 }
 
 
-/** 
+/**
  * snmp network interfaces
  *   Url reference: http://nagios.manubulon.com/snmp_int.html
  */
@@ -223,7 +223,7 @@ object CheckCommand "snmp-interface" {
 }
 
 
-/** 
+/**
  * snmp process
  *   Url reference: http://nagios.manubulon.com/snmp_process.html
  */
@@ -244,6 +244,16 @@ object CheckCommand "snmp-process" {
                "-A" = {
                        set_if = "$snmp_process_use_params$"
                }
+               "-m" = {
+                       description = "Checks memory usage. Values warning and critical in Mb eg. 512,1024"
+                       set_if = "$snmp_process_mem_usage$"
+                       value = "$snmp_process_mem_threshold$"
+               }
+               "-u" = {
+                       description = "Checks CPU usage. Values warning and critical in % (value can be > 100% : 100%=1 CPU) eg. 15,50"
+                       set_if = "$snmp_process_cpu_usage$"
+                       value = "$snmp_process_cpu_threshold$"
+               }
        }
 
        vars.snmp_process_name = ".*"
@@ -251,5 +261,8 @@ object CheckCommand "snmp-process" {
        vars.snmp_crit = 0
        vars.snmp_perf = true
        vars.snmp_process_use_params = false
+       vars.snmp_process_mem_usage = false
+       vars.snmp_process_mem_threshold = "0,0"
+       vars.snmp_process_cpu_usage = false
+       vars.snmp_process_cpu_threshold = "0,0"
 }
-