/****************************************************************************** * Icinga 2 * * Copyright (C) 2012-2017 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 * * 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 "ipv4-or-ipv6" arguments = { "-H" = "$snmp_address$" "-C" = { set_if = "$snmp_nocrypt$" value = "$snmp_community$" } "-p" = "$snmp_port$" "-2" = { 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$" "-t" = "$snmp_timeout$" } vars.snmp_address = "$check_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" vars.snmp_timeout = "5" } /** * 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$" } "-I" = { set_if = "$snmp_is_cisco$" description = "check cisco memory (sum of all memory pools)" } "-E" = { set_if = "$snmp_is_hp$" description = "check HP / Procurve memory" } } vars.snmp_warn = "94,50" vars.snmp_crit = "98,80" vars.snmp_perf = true vars.snmp_is_cisco = false } /** * 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$" } "--label" = "$snmp_interface_label$" "-Y" = { set_if = "$snmp_interface_bits_bytes$" } "-y" = { set_if = "$snmp_interface_percent$" } "-B" = { set_if = "$snmp_interface_kbits$" } "-M" = { set_if = "$snmp_interface_megabytes$" } "--64bits" = { set_if = "$snmp_interface_64bit$" } "-e" = { set_if = "$snmp_interface_errors$" } "-i" = { set_if = "$snmp_interface_inverse$" } "-r" = { set_if = "$snmp_interface_noregexp$" } "-d" = "$snmp_interface_delta$" "-u" = { set_if = "$snmp_interface_warncrit_percent$" } "-N" = { set_if = "$snmp_interface_ifname$" } "-A" = { set_if = "$snmp_interface_ifalias$" } "-f" = { set_if = "$snmp_perf$" } } vars.snmp_interface = "eth0" vars.snmp_interface_perf = true vars.snmp_interface_bits_bytes = true vars.snmp_interface_percent = false vars.snmp_interface_kbits = true vars.snmp_interface_megabytes = true vars.snmp_interface_64bit = false vars.snmp_interface_errors = true vars.snmp_interface_noregexp = false vars.snmp_interface_delta = 300 vars.snmp_interface_warncrit_percent = false vars.snmp_interface_ifname = false vars.snmp_interface_ifalias = 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$" } "-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 = ".*" vars.snmp_warn = 0 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" }