]> granicus.if.org Git - icinga2/commitdiff
Add some manubulon snmp plugins
authorCarlos Cesario <carloscesario@gmail.com>
Fri, 8 Aug 2014 12:06:44 +0000 (09:06 -0300)
committerMichael Friedrich <michael.friedrich@netways.de>
Wed, 27 Aug 2014 17:57:43 +0000 (19:57 +0200)
refs #6650

doc/6-configuring-icinga-2.md
etc/icinga2/constants.conf.cmake
itl/plugin-commands-manubulon.conf [new file with mode: 0644]

index 495a1d149d8304c948776cedbc496bcc3e3463fd..73b6fd5d2cfe3c89d614acbd5edcd38cc22530ee 100644 (file)
@@ -2307,3 +2307,163 @@ Check command object for the `check_running_kernel` plugin
 provided by the `nagios-plugins-contrib` package on Debian.
 
 The `running_kernel` check command does not support any vars.
+
+
+## <a id="snmp-manubulon-plugin-check-commands"></a> SNMP Manubulon Plugin Check Commands
+
+### <a id="snmp-manubulon-plugin-check-commands-overview"></a> Overview
+
+The SNMP Manubulon Plugin Check Commands provides example configuration for plugin check commands provided by the <a href="http://nagios.manubulon.com/index_snmp.html">Snmp Manubulon</a> plugins.
+
+The SNMP manubulon plugin check commands assume that there's a global constant named `ManubulonPluginDir` which contains the path of the plugins from the <a href="http://nagios.manubulon.com/index_snmp.html">Snmp Manubulon</a> page.
+
+### Checks you can make by host type
+
+**N/A**      : nothing of this type to check.
+
+**SNMP**     : yes with simple SNMP query.
+
+**??**       : not tested because useless most of the time.
+
+**Specific** : name of the script to look at for platform specific checks.
+
+
+  Host type               | Interface  | storage  | load/cpu  | mem | process  | env | specific
+  ------------------------|------------|----------|-----------|-----|----------|-----|-------------------------
+  Linux                   |   Yes      |   Yes    |   Yes     | Yes |   Yes    | No  |
+  Windows                 |   Yes      |   Yes    |   Yes     | Yes |   Yes    | No  | check_snmp_win.pl
+  Cisco router/switch     |   Yes      |   N/A    |   Yes     | Yes |   N/A    | Yes |
+  HP router/switch        |   Yes      |   N/A    |   Yes     | Yes |   N/A    | No  |
+  Bluecoat proxy          |   Yes      |   SNMP   |   Yes     | SNMP|   No     | Yes |
+  CheckPoint on SPLAT     |   Yes      |   Yes    |   Yes     | Yes |   Yes    | No  | check_snmp_cpfw.pl
+  CheckPoint on Nokia IP  |   Yes      |   Yes    |   Yes     | No  |   ??     | No  | check_snmp_vrrp.pl
+  Boostedge               |   Yes      |   Yes    |   Yes     | Yes |   ??     | No  | check_snmp_boostedge.pl
+  AS400                   |   Yes      |   Yes    |   Yes     | Yes |   No     | No  |
+  NetsecureOne Netbox     |   Yes      |   Yes    |   Yes     | ??  |   Yes    | No  |
+  Radware Linkproof       |   Yes      |   N/A    |   SNMP    | SNMP|   No     | No  | check_snmp_linkproof_nhr <br> check_snmp_vrrp.pl
+  IronPort                |   Yes      |   SNMP   |   SNMP    | SNMP|   No     | Yes |
+  Cisco CSS               |   Yes      |   ??     |   Yes     | Yes |   No     | ??  | check_snmp_css.pl
+
+
+#### <a id="plugin-check-command-snmp-load"></a> snmp-load
+
+Check command object for the <a href="http://nagios.manubulon.com/snmp_load.html">check_snmp_load.pl</a> plugin.
+
+Custom Attributes:
+
+
+Name                    | Description
+------------------------|--------------
+snmp_address            | **Optional.** The host's address. Defaults to "$address$".
+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_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_load_type          | **Optional.** Load type. Default  to "stand". Check all availables <a href="http://nagios.manubulon.com/snmp_load.html">snmp load</a>.
+snmp_perf               | **Optional.** Enable perfdata values. Defaults to "true".
+
+#### <a id="plugin-check-command-snmp-memory"></a> snmp-memory
+
+Check command object for the <a href="http://nagios.manubulon.com/snmp_mem.html">check_snmp_mem.pl</a> plugin.
+
+Custom Attributes:
+
+Name                    | Description
+------------------------|--------------
+snmp_address            | **Optional.** The host's address. Defaults to "$address$".
+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_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_perf               | **Optional.** Enable perfdata values. Defaults to "true".
+
+#### <a id="plugin-check-command-snmp-storage"></a> snmp-storage
+
+Check command object for the <a href="http://nagios.manubulon.com/snmp_storage.html">check_snmp_storage.pl</a> plugin.
+
+Custom Attributes:
+
+Name                    | Description
+------------------------|--------------
+snmp_address            | **Optional.** The host's address. Defaults to "$address$".
+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_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_storage_name       | **Optional.** Storage name. Default to regex "^/$$". Check more options in <a href="http://nagios.manubulon.com/snmp_storage.html">snmp storage</a>.
+snmp_perf               | **Optional.** Enable perfdata values. Defaults to "true".
+
+#### <a id="plugin-check-command-snmp-int"></a> snmp-int
+
+Check command object for the <a href="http://nagios.manubulon.com/snmp_int.html">check_snmp_int.pl</a> plugin.
+
+Custom Attributes:
+
+Name                    | Description
+------------------------|--------------
+snmp_address            | **Optional.** The host's address. Defaults to "$address$".
+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_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_interface          | **Optional.** Network interface name. Default to regex "eth0".
+snmp_interface_perf     | **Optional.** Check the input/ouput bandwidth of the interface. Defaults to "true".
+snmp_interface_bits     | **Optional.** Make the warning and critical levels in KBits/s. Defaults to "true".
+snmp_interface_64bit    | **Optional.** Use 64 bits counters instead of the standard counters when checking bandwidth & performance data for interface >= 1Gbps. Defaults to "false".
+snmp_perf               | **Optional.** Enable perfdata values. Defaults to "true".
+
+#### <a id="plugin-check-command-snmp-process"></a> snmp-process
+
+Check command object for the <a href="http://nagios.manubulon.com/snmp_process.html">check_snmp_process.pl</a> plugin.
+
+Custom Attributes:
+
+Name                    | Description
+------------------------|--------------
+snmp_address            | **Optional.** The host's address. Defaults to "$address$".
+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_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".
index c3ceb73224badd94385806b3912e4757445f381c..d2337226f5b7d227b504144cea8c1f6625012f7e 100644 (file)
@@ -6,6 +6,10 @@
 /* The directory which contains the plugins from the Monitoring Plugins project. */
 const PluginDir = "@ICINGA2_PLUGINDIR@"
 
+
+/* The directory which contains the Manubulon plugins from http://nagios.manubulon.com/index_snmp.html. */
+const ManubulonPluginDir = "@ICINGA2_PLUGINDIR@"
+
 /* Our local instance name. By default this is the server's hostname as returned by `hostname --fqdn`.
  * This should be the common name from the API certificate.
  */
diff --git a/itl/plugin-commands-manubulon.conf b/itl/plugin-commands-manubulon.conf
new file mode 100644 (file)
index 0000000..49d6c26
--- /dev/null
@@ -0,0 +1,172 @@
+/* main snmp-manubulon template */
+template CheckCommand "snmp-manubulon-command" {
+       import "plugin-check-command",
+
+       arguments = {
+               "-H" = "$snmp_address$"
+               "-C" = {
+                       set_if = "$snmp_nocrypt$"
+                       value = "$snmp_community$"
+               }
+               "-p" = "$snmp_port$"
+               "-v2c" = {
+                       set_if = "$snmp_v2$"
+               }
+               "-l" = {
+                       set_if = "$snmp_v3$"
+                       value = "$snmp_login$"
+               }
+               "-x" = {
+                       set_if = "$snmp_v3$"
+                       value = "$snmp_password$"
+               }
+               "-L" = {
+                       set_if = "$snmp_v3_use_authprotocol$"
+                       value = "$snmp_authprotocol$"
+               }
+               "-X" = {
+                       set_if = "$snmp_v3_use_privpass$"
+                       value = "$snmp_privpass$"
+               }
+
+               "-w" = "$snmp_warn$"
+               "-c" = "$snmp_crit$"
+       }
+
+       vars.snmp_address = "$address$"
+       vars.snmp_nocrypt = true
+       vars.snmp_community = "public"
+       vars.snmp_v2 = false
+       vars.snmp_v3 = false
+       vars.snmp_login = "snmpuser"
+       vars.snmp_v3_use_privpass = false
+       vars.snmp_v3_use_authprotocol = false
+       vars.snmp_authprotocol = "md5,des"
+}
+
+
+/** snmp load
+ *  Url reference: http://nagios.manubulon.com/snmp_load.html
+ **/
+object CheckCommand "snmp-load" {
+       import "snmp-manubulon-command",
+
+       command = [ ManubulonPluginDir + "/check_snmp_load.pl" ]
+
+       arguments += {
+               "-T" = "$snmp_load_type$"
+               "-f" = {
+                       set_if = "$snmp_perf$"
+               }
+       }
+
+       vars.snmp_load_type = "stand"
+       vars.snmp_warn = 85
+       vars.snmp_crit = 95
+       vars.snmp_perf = true
+}
+
+
+/** 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
+ *  Url reference: http://nagios.manubulon.com/snmp_mem.html
+ **/
+
+object CheckCommand "snmp-memory" {
+       import "snmp-manubulon-command",
+
+       command = [ ManubulonPluginDir + "/check_snmp_mem.pl" ]
+
+       arguments += {
+               "-f" = {
+                       set_if = "$snmp_perf$"
+               }
+       }
+
+       vars.snmp_warn = "94,50"
+       vars.snmp_crit = "98,80"
+       vars.snmp_perf = true
+}
+
+
+/** snmp storage - Disk/Memory
+ *  Url reference: http://nagios.manubulon.com/snmp_storage.html
+ **/
+object CheckCommand "snmp-storage" {
+       import "snmp-manubulon-command",
+
+       command = [ ManubulonPluginDir + "/check_snmp_storage.pl" ]
+
+       arguments += {
+               "-m" = "$snmp_storage_name$"
+               "-f" = {
+                       set_if = "$snmp_perf$"
+               }
+       }
+
+       vars.snmp_storage_name = "^/$$"
+       vars.snmp_warn = 80
+       vars.snmp_crit = 90
+       vars.snmp_perf = true
+}
+
+
+/** snmp network interfaces
+ *  Url reference: http://nagios.manubulon.com/snmp_int.html
+ **/
+object CheckCommand "snmp-interface" {
+       import "snmp-manubulon-command",
+
+       command = [ ManubulonPluginDir + "/check_snmp_int.pl" ]
+
+       arguments += {
+               "-n" = "$snmp_interface$"
+               "-k" = {
+                       set_if = "$snmp_interface_perf$"
+               }
+               "-B" = {
+                       set_if = "$snmp_interface_bits$"
+               }
+               "--64bits" = {
+                       set_if = "$snmp_interface_64bit$"
+               }
+               "-f" = {
+                       set_if = "$snmp_perf$"
+               }
+       }
+
+       vars.snmp_interface = "eth0"
+       vars.snmp_interface_perf = true
+       vars.snmp_interface_bits = true
+       vars.snmp_interface_64bit = false
+       vars.snmp_warn = "300,400"
+       vars.snmp_crit = "0,600"
+       vars.snmp_perf = true
+}
+
+
+/** snmp process
+ *  Url reference: http://nagios.manubulon.com/snmp_process.html
+ **/
+object CheckCommand "snmp-process" {
+       import "snmp-manubulon-command",
+
+       command = [ ManubulonPluginDir + "/check_snmp_process.pl" ]
+
+       arguments += {
+               "-n" = {
+                       description = "Regex service name eg. ^apache2$"
+                       value = "$snmp_process_name$"
+               }
+               "-F" = {
+                       set_if = "$snmp_perf$"
+               }
+       }
+
+       vars.snmp_process_name = ".*"
+       vars.snmp_warn = 0
+       vars.snmp_crit = 0
+       vars.snmp_perf = true
+}
+