diff --git a/doc/6-configuring-icinga-2.md b/doc/6-configuring-icinga-2.md
index 495a1d149..6e5641862 100644
--- a/doc/6-configuring-icinga-2.md
+++ b/doc/6-configuring-icinga-2.md
@@ -2307,3 +2307,170 @@ 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.
+
+
+## SNMP Manubulon Plugin Check Commands
+
+### Overview
+
+The `SNMP Manubulon Plugin Check Commands` provide example configuration for plugin check
+commands provided by the [SNMP Manubulon project](http://nagios.manubulon.com/index_snmp.html).
+
+The SNMP manubulon plugin check commands assume that the global constant named `ManubulonPluginDir`
+is set to the path where the Manubublon SNMP plugins are installed.
+
+You can enable these plugin check commands by adding the following the include directive in your
+configuration [icinga2.conf](#icinga2-conf) file:
+
+ include
+
+### Checks by Host Type
+
+**N/A** : Not available for this type.
+
+**SNMP** : Available for simple SNMP query.
+
+**??** : Untested.
+
+**Specific** : Script name 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
check_snmp_vrrp.pl
+ IronPort | Yes | SNMP | SNMP | SNMP| No | Yes |
+ Cisco CSS | Yes | ?? | Yes | Yes | No | ?? | check_snmp_css.pl
+
+
+#### snmp-load
+
+Check command object for the [check_snmp_load.pl](http://nagios.manubulon.com/snmp_load.html) 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. Defaults to "stand". Check all available types int the [snmp load](http://nagios.manubulon.com/snmp_load.html) documentation.
+snmp_perf | **Optional.** Enable perfdata values. Defaults to "true".
+
+#### snmp-memory
+
+Check command object for the [check_snmp_mem.pl](http://nagios.manubulon.com/snmp_mem.html) 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".
+
+#### snmp-storage
+
+Check command object for the [check_snmp_storage.pl](http://nagios.manubulon.com/snmp_storage.html) 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 "^/$$". More options available in the [snmp storage](http://nagios.manubulon.com/snmp_storage.html) documentation.
+snmp_perf | **Optional.** Enable perfdata values. Defaults to "true".
+
+#### snmp-int
+
+Check command object for the [check_snmp_int.pl](http://nagios.manubulon.com/snmp_int.html) 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".
+
+#### snmp-process
+
+Check command object for the [check_snmp_process.pl](http://nagios.manubulon.com/snmp_process.html) 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".
diff --git a/etc/icinga2/constants.conf.cmake b/etc/icinga2/constants.conf.cmake
index c3ceb7322..faf6067fe 100644
--- a/etc/icinga2/constants.conf.cmake
+++ b/etc/icinga2/constants.conf.cmake
@@ -6,6 +6,12 @@
/* The directory which contains the plugins from the Monitoring Plugins project. */
const PluginDir = "@ICINGA2_PLUGINDIR@"
+
+/* The directory which contains the Manubulon plugins.
+ * Check the documentation, chapter "SNMP Manubulon Plugin Check Commands", for details.
+ */
+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/CMakeLists.txt b/itl/CMakeLists.txt
index 75714a369..c5c06629c 100644
--- a/itl/CMakeLists.txt
+++ b/itl/CMakeLists.txt
@@ -16,6 +16,6 @@
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
install(
- FILES itl command.conf command-icinga.conf timeperiod.conf plugins command-plugins.conf
+ FILES itl command.conf command-icinga.conf timeperiod.conf plugins command-plugins.conf manubulon command-plugins-manubulon.conf
DESTINATION ${CMAKE_INSTALL_DATADIR}/icinga2/include
)
diff --git a/itl/command-plugins-manubulon.conf b/itl/command-plugins-manubulon.conf
new file mode 100644
index 000000000..910bf6105
--- /dev/null
+++ b/itl/command-plugins-manubulon.conf
@@ -0,0 +1,202 @@
+/******************************************************************************
+ * Icinga 2 *
+ * Copyright (C) 2012-2014 Icinga Development Team (http://www.icinga.org) *
+ * *
+ * This program is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU General Public License *
+ * as published by the Free Software Foundation; either version 2 *
+ * of the License, or (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the Free Software Foundation *
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ******************************************************************************/
+
+/**
+ * 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
+}
+
diff --git a/itl/manubulon b/itl/manubulon
new file mode 100644
index 000000000..ecfc9938a
--- /dev/null
+++ b/itl/manubulon
@@ -0,0 +1,24 @@
+/******************************************************************************
+ * Icinga 2 *
+ * Copyright (C) 2012-2014 Icinga Development Team (http://www.icinga.org) *
+ * *
+ * This program is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU General Public License *
+ * as published by the Free Software Foundation; either version 2 *
+ * of the License, or (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the Free Software Foundation *
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ******************************************************************************/
+
+/**
+ * This is the SNMP Manubulon Template Library.
+ */
+
+include "plugin-commands-manubulon.conf"