icinga2/itl/command-plugins-manubulon.conf

411 lines
11 KiB
Plaintext

/******************************************************************************
* Icinga 2 *
* Copyright (C) 2012-2018 Icinga Development Team (https://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" = {
value = "$snmp_address$"
description = "Name or IP address of host to check"
}
"-C" = {
set_if = "$snmp_nocrypt$"
value = "$snmp_community$"
description = "Community name for the host's SNMP agent (implies v1 protocol)"
}
"-p" = {
value = "$snmp_port$"
description = "SNMP port (Default 161)"
}
"-2" = {
set_if = "$snmp_v2$"
description = "Use snmp v2c"
}
"-l" = {
set_if = "$snmp_v3$"
value = "$snmp_login$"
description = "Login and auth password for snmpv3 authentication"
}
"-x" = {
set_if = "$snmp_v3$"
value = "$snmp_password$"
description = "Priv password"
}
"-L" = {
set_if = "$snmp_v3_use_authprotocol$"
value = "$snmp_authprotocol$"
description = "<authproto>,<privproto> - <Authentication protocol (md5|sha : default md5)>,<Priv protocole (des|aes : default des)>"
}
"-X" = {
set_if = "$snmp_v3_use_privpass$"
value = "$snmp_privpass$"
description = "Priv password for snmpv3 (AuthPriv protocol)"
}
"-w" = {
value = "$snmp_warn$"
}
"-c" = {
value = "$snmp_crit$"
}
"-t" = {
value = "$snmp_timeout$"
description = "Timeout for SNMP in seconds (Default: 5)"
}
}
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 env
* Url reference: http://nagios.manubulon.com/snmp_env.html
*/
object CheckCommand "snmp-env" {
import "snmp-manubulon-command"
command = [ ManubulonPluginDir + "/check_snmp_env.pl" ]
arguments += {
"-T" = {
value = "$snmp_env_type$"
description = "Environment Type [cisco|nokia|bc|iron|foundry|linux]"
}
"-F" = {
value = "$snmp_env_fan$"
description = "Minimum fan rpm value (only needed for 'iron' & 'linux')"
}
"-c" = {
value = "$snmp_env_celsius$"
description = "Maximum temp in degrees celsius (only needed for 'iron' & 'linux')"
}
"-f" = {
set_if = "$snmp_perf$"
description = "Perfparse compatible output"
}
}
vars.snmp_env_type = "cisco"
vars.snmp_perf = true
}
/**
* 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" = {
value = "$snmp_load_type$"
description = "CPU check"
}
"-f" = {
set_if = "$snmp_perf$"
description = "Perfparse compatible output"
}
}
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$"
description = "Performance data output"
}
"-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"
}
"-m" = {
set_if = "$snmp_memcached$"
description = "Include cached memory in used memory"
}
"-b" = {
set_if = "$snmp_membuffer$"
description = "Exclude buffered memory in used memory"
}
}
vars.snmp_warn = "94,50"
vars.snmp_crit = "98,80"
vars.snmp_perf = true
vars.snmp_is_cisco = false
vars.snmp_memcached = false
vars.snmp_membuffer = 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" = {
value = "$snmp_storage_name$"
description = "Name in description OID (can be mounpoints '/home' or 'Swap Space'...)"
}
"-f" = {
set_if = "$snmp_perf$"
description = "Perfparse compatible output"
}
"-e" = {
set_if = "$snmp_exclude$"
description = "Select all storages except the one(s) selected by -m. No action on storage type selection."
}
"-o" = {
value = "$snmp_storage_olength$"
description = "Max-size of the SNMP message, usefull in case of Too Long responses."
}
"-q" = {
value = "$snmp_storage_type$"
description = "Storage type: Other, Ram, VirtualMemory, FixedDisk, RemovableDisk, FloppyDisk, CompactDisk, RamDisk, FlashMemory, or NetworkDisk"
}
}
vars.snmp_storage_name = "^/$$"
vars.snmp_warn = 80
vars.snmp_crit = 90
vars.snmp_perf = true
vars.snmp_exclude = false
}
/**
* 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" = {
value = "$snmp_interface$"
description = "Name in description OID (eth0, ppp0 ...). This is treated as a regexp : -n eth will match eth0,eth1,..."
}
"-k" = {
set_if = "$snmp_interface_perf$"
description = "Check the input/ouput bandwidth of the interface"
}
"--label" = {
value = "$snmp_interface_label$"
description = "Add label before speed in output : in=, out=, errors-out=, etc..."
}
"-Y" = {
set_if = "$snmp_interface_bits_bytes$"
description = "Output performance data in bits/s or Bytes/s"
}
"-y" = {
set_if = "$snmp_interface_percent$"
description = "Output performance data in % of max speed"
}
"-B" = {
set_if = "$snmp_interface_kbits$"
description = "Make the warning and critical levels in K|M|G Bits/s instead of K|M|G Bytes/s"
}
"-M" = {
set_if = "$snmp_interface_megabytes$"
description = "Make the warning and critical levels in Mbps"
}
"--64bits" = {
set_if = "$snmp_interface_64bit$"
description = "Use 64 bits counters instead of the standard counters when checking bandwidth & performance data for interface >= 1Gbps"
}
"-e" = {
set_if = "$snmp_interface_errors$"
description = "Add error & discard to Perfparse output"
}
"-i" = {
set_if = "$snmp_interface_inverse$"
description = "Make critical when up"
}
"-r" = {
set_if = "$snmp_interface_noregexp$"
description = "Do not use regexp to match NAME in description OID"
}
"-d" = {
value = "$snmp_interface_delta$"
description = "Make an average of <delta> seconds (default 300=5min)"
}
"-u" = {
set_if = "$snmp_interface_warncrit_percent$"
description = "Make the warning and critical levels in % of reported interface speed"
}
"-N" = {
set_if = "$snmp_interface_ifname$"
}
"-A" = {
set_if = "$snmp_interface_ifalias$"
}
"-f" = {
set_if = "$snmp_perf$"
description = "Perfparse compatible output (no output when interface is down)"
}
"-W" = {
set_if = "$snmp_interface_weathermap$"
description = "Include 'weathermap' data for NagVis in performance data"
}
}
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" = {
value = "$snmp_process_name$"
description = "Regex service name eg. ^apache2$"
}
"-F" = {
set_if = "$snmp_perf$"
description = "Add performance output (outputs : memory_usage, num_process, cpu_usage)"
}
"-A" = {
set_if = "$snmp_process_use_params$"
description = "Add parameters to select processes (ex : 'named.*-t /var/named/chroot' will only select named process with this parameter)"
}
"-m" = {
set_if = "$snmp_process_mem_usage$"
value = "$snmp_process_mem_threshold$"
description = "Checks memory usage. Values warning and critical in Mb eg. 512,1024"
}
"-u" = {
set_if = "$snmp_process_cpu_usage$"
value = "$snmp_process_cpu_threshold$"
description = "Checks CPU usage. Values warning and critical in % (value can be > 100% : 100%=1 CPU) eg. 15,50"
}
}
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"
}
/**
* snmp service
* Url reference: http://nagios.manubulon.com/snmp_windows.html
*/
object CheckCommand "snmp-service" {
import "snmp-manubulon-command"
command = [ ManubulonPluginDir + "/check_snmp_win.pl" ]
arguments += {
"-n" = {
value = "$snmp_service_name$"
description = "Comma separated names of services (perl regular expressions can be used for every one). By default, it is not case sensitive. eg. ^dns$"
}
"-N" = {
value = "$snmp_service_count$"
description = "Compare matching services with <n> instead of the number of names provided."
}
"-s" = {
set_if = "$snmp_service_showall$"
description = "Show all services in the output, instead of only the non-active ones."
}
"-r" = {
set_if = "$snmp_service_noregexp$"
description = "Do not use regexp to match NAME in service description."
}
}
vars.snmp_service_name = ".*"
}