summaryrefslogtreecommitdiffstats
path: root/itl/plugins-contrib.d/network-components.conf
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--itl/plugins-contrib.d/network-components.conf1063
1 files changed, 1063 insertions, 0 deletions
diff --git a/itl/plugins-contrib.d/network-components.conf b/itl/plugins-contrib.d/network-components.conf
new file mode 100644
index 0000000..333a82c
--- /dev/null
+++ b/itl/plugins-contrib.d/network-components.conf
@@ -0,0 +1,1063 @@
+/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
+
+object CheckCommand "interfacetable" {
+ command = [ PluginContribDir + "/check_interface_table_v3t" ]
+
+ arguments = {
+ "-H" = {
+ value = "$interfacetable_hostquery$"
+ description = "Specifies the remote host to poll"
+ }
+ "-h" = {
+ value = "$interfacetable_hostdisplay$"
+ description = "Specifies the hostname to display in the HTML link"
+ }
+ "-r" = {
+ set_if = "$interfacetable_regex$"
+ description = "Interface names and property names for some other options will be interpreted as regular expressions"
+ }
+ "--outputshort" = {
+ set_if = "$interfacetable_outputshort$"
+ description = "Reduce the verbosity of the plugin output"
+ }
+ "-e" = {
+ value = "$interfacetable_exclude$"
+ description = "Comma separated list of interfaces globally excluded from the monitoring"
+ }
+ "-i" = {
+ value = "$interfacetable_include$"
+ description = "Comma separated list of interfaces globally included in the monitoring"
+ }
+ "--alias-matching" = {
+ set_if = "$interfacetable_aliasmatching$"
+ description = "Allow you to specify alias in addition to interface names"
+ }
+ "--et" = {
+ value = "$interfacetable_excludetraffic$"
+ description = "Comma separated list of interfaces excluded from traffic checks"
+ }
+ "--it" = {
+ value = "$interfacetable_includetraffic$"
+ description = "Comma separated list of interfaces included for traffic checks"
+ }
+ "--wt" = {
+ value = "$interfacetable_warningtraffic$"
+ description = "Interface traffic load percentage leading to a warning alert"
+ }
+ "--ct" = {
+ value = "$interfacetable_criticaltraffic$"
+ description = "Interface traffic load percentage leading to a critical alert"
+ }
+ "--pkt" = {
+ set_if = "$interfacetable_pkt$"
+ description = "Add unicast/non-unicast pkt stats for each interface"
+ }
+ "--trafficwithpkt" = {
+ set_if = "$interfacetable_trafficwithpkt$"
+ description = "Enable traffic calculation using pkt counters instead of octet counters. Useful when using 32-bit counters to track the load on > 1GbE interfaces."
+ }
+ "--tp" = {
+ value = "$interfacetable_trackproperty$"
+ description = "List of tracked properties"
+ }
+ "--ep" = {
+ value = "$interfacetable_excludeproperty$"
+ description = "Comma separated list of interfaces excluded from the property tracking"
+ }
+ "--ip" = {
+ value = "$interfacetable_includeproperty$"
+ description = "Comma separated list of interfaces included in the property tracking"
+ }
+ "--wp" = {
+ value = "$interfacetable_warningproperty$"
+ description = "Number of property changes before leading to a warning alert"
+ }
+ "--cp" = {
+ value = "$interfacetable_criticalproperty$"
+ description = "Number of property changes before leading to a critical alert"
+ }
+ "-C" = {
+ value = "$interfacetable_community$"
+ description = "Specifies the snmp v1/v2c community string"
+ }
+ "-2" = {
+ set_if = "$interfacetable_snmpv2$"
+ description = "Use snmp v2c"
+ }
+ "-l" = {
+ value = "$interfacetable_login$"
+ description = "Login for snmpv3 authentication"
+ }
+ "-x" = {
+ value = "$interfacetable_passwd$"
+ description = "Auth password for snmpv3 authentication"
+ }
+ "-X" = {
+ value = "$interfacetable_privpass$"
+ description = "Priv password for snmpv3"
+ }
+ "-L" = {
+ value = "$interfacetable_protocols$"
+ description = "Authentication protocol,Priv protocol"
+ }
+ "--domain" = {
+ value = "$interfacetable_domain$"
+ description = "SNMP transport domain"
+ }
+ "--contextname" = {
+ value = "$interfacetable_contextname$"
+ description = "Context name for the snmp requests"
+ }
+ "-P" = {
+ value = "$interfacetable_port$"
+ description = "SNMP port"
+ }
+ "--64bits" = {
+ set_if = "$interfacetable_64bits$"
+ description = "Use SNMP 64-bits counters"
+ }
+ "--max-repetitions" = {
+ value = "$interfacetable_maxrepetitions$"
+ description = "Increasing this value may enhance snmp query performances by gathering more results at one time"
+ }
+ "--snmp-timeout" = {
+ value = "$interfacetable_snmptimeout$"
+ description = "Define the Transport Layer timeout for the snmp queries"
+ }
+ "--snmp-retries" = {
+ value = "$interfacetable_snmpretries$"
+ description = "Define the number of times to retry sending a SNMP message"
+ }
+ "--snmp-maxmsgsize" = {
+ value = "$interfacetable_snmpmaxmsgsize$"
+ description = "Size of the SNMP message in octets, usefull in case of too long responses. Be carefull with network filters. Range 484 - 65535. Apply only to netsnmp perl bindings. The default is 1472 octets for UDP/IPv4, 1452 octets for UDP/IPv6, 1460 octets for TCP/IPv4, and 1440 octets for TCP/IPv6."
+ }
+ "--unixsnmp" = {
+ set_if = "$interfacetable_unixsnmp$"
+ description = "Use unix snmp utilities for snmp requests"
+ }
+ "-f" = {
+ set_if = "$interfacetable_enableperfdata$"
+ description = "Enable port performance data"
+ }
+ "--perfdataformat" = {
+ value = "$interfacetable_perfdataformat$"
+ description = "Define which performance data will be generated"
+ }
+ "--perfdatathreshold" = {
+ value = "$interfacetable_perfdatathreshold$"
+ description = "Define which thresholds are printed in the generated performance data"
+ }
+ "--perfdatadir" = {
+ value = "$interfacetable_perfdatadir$"
+ description = "When specified, the performance data are also written directly to a file, in the specified location"
+ }
+ "--perfdataservicedesc" = {
+ value = "$interfacetable_perfdataservicedesc$"
+ description = "Specify additional parameters for output performance data to PNP"
+ }
+ "-g" = {
+ value = "$interfacetable_grapher$"
+ description = "Specify the used graphing solution"
+ }
+ "--grapherurl" = {
+ value = "$interfacetable_grapherurl$"
+ description = "Graphing system url"
+ }
+ "--portperfunit" = {
+ value = "$interfacetable_portperfunit$"
+ description = "Traffic could be reported in bits (counters) or in bps (calculated value)"
+ }
+ "--nodetype" = {
+ value = "$interfacetable_nodetype$"
+ description = "Specify the node type, for specific information to be printed / specific oids to be used"
+ }
+ "--duplex" = {
+ set_if = "$interfacetable_duplex$"
+ description = "Add the duplex mode property for each interface in the interface table"
+ }
+ "--stp" = {
+ set_if = "$interfacetable_stp$"
+ description = "Add the stp state property for each interface in the interface table"
+ }
+ "--vlan" = {
+ set_if = "$interfacetable_vlan$"
+ description = "Add the vlan attribution property for each interface in the interface table"
+ }
+ "--noipinfo" = {
+ set_if = "$interfacetable_noipinfo$"
+ description = "Remove the ip information for each interface from the interface table"
+ }
+ "--alias" = {
+ set_if = "$interfacetable_alias$"
+ description = "Add the alias information for each interface in the interface table"
+ }
+ "--accessmethod" = {
+ value = "$interfacetable_accessmethod$"
+ description = "Access method for a shortcut to the host in the HTML page"
+ }
+ "--htmltablelinktarget" = {
+ value = "$interfacetable_htmltablelinktarget$"
+ description = "Specifies the windows or the frame where the [details] link will load the generated html page"
+ }
+ "--delta" = {
+ value = "$interfacetable_delta$"
+ description = "Set the delta used for interface throuput calculation"
+ }
+ "--ifs" = {
+ value = "$interfacetable_ifs$"
+ description = "Input field separator"
+ }
+ "--cache" = {
+ value = "$interfacetable_cache$"
+ description = "Define the retention time of the cached data"
+ }
+ "--noifloadgradient" = {
+ set_if = "$interfacetable_noifloadgradient$"
+ description = "Disable color gradient from green over yellow to red for the load percentage"
+ }
+ "--nohuman" = {
+ set_if = "$interfacetable_nohuman$"
+ description = "Do not translate bandwidth usage in human readable format"
+ }
+ "--snapshot" = {
+ set_if = "$interfacetable_snapshot$"
+ description = "Force the plugin to run like if it was the first launch"
+ }
+ "--timeout" = {
+ value = "$interfacetable_timeout$"
+ description = "Define the global timeout limit of the plugin"
+ }
+ "--css" = {
+ value = "$interfacetable_css$"
+ description = "Define the css stylesheet used by the generated html files"
+ }
+ "--config" = {
+ value = "$interfacetable_config$"
+ description = "Specify a config file to load"
+ }
+ "--noconfigtable" = {
+ set_if = "$interfacetable_noconfigtable$"
+ description = "Disable configuration table on the generated HTML page"
+ }
+ "--notips" = {
+ set_if = "$interfacetable_notips$"
+ description = "Disable the tips in the generated html tables"
+ }
+ "--default-table-sorting" = {
+ value = "$interfacetable_defaulttablesorting$"
+ description = "Default table sorting"
+ }
+ "--table-split" = {
+ set_if = "$interfacetable_tablesplit$"
+ description = "Generate multiple interface tables, one per interface type"
+ }
+ "--notype" = {
+ set_if = "$interfacetable_notype$"
+ description = "Remove the interface type for each interface"
+ }
+ }
+
+ vars.interfacetable_hostquery = "$address$"
+ vars.interfacetable_hostdisplay = "$host.display_name$"
+ vars.interfacetable_perfdataservicedesc = "$service.name$"
+ vars.interfacetable_regex = false
+ vars.interfacetable_outputshort = false
+ vars.interfacetable_aliasmatching = false
+ vars.interfacetable_pkt = false
+ vars.interfacetable_trafficwithpkt = false
+ vars.interfacetable_snmpv2 = false
+ vars.interfacetable_64bits = false
+ vars.interfacetable_unixsnmp = false
+ vars.interfacetable_enableperfdata = false
+ vars.interfacetable_duplex = false
+ vars.interfacetable_stp = false
+ vars.interfacetable_vlan = false
+ vars.interfacetable_noipinfo = false
+ vars.interfacetable_noifloadgradient = false
+ vars.interfacetable_nohuman = false
+ vars.interfacetable_snapshot = false
+ vars.interfacetable_noconfigtable = false
+ vars.interfacetable_notips = false
+ vars.interfacetable_notype = false
+}
+
+object CheckCommand "iftraffic" {
+ import "ipv4-or-ipv6"
+
+ command = [ PluginContribDir + "/check_iftraffic.pl"]
+
+ arguments = {
+ "-H" = {
+ value = "$iftraffic_address$"
+ description = "Check interface on the indicated host."
+ required = true
+ }
+ "-C" = {
+ value = "$iftraffic_community$"
+ description = "SNMP community. Defaults to 'public' if omitted."
+ }
+ "-V" = {
+ value = "$iftraffic_version$"
+ description = "SNMP version. Defaults to '1' if omitted."
+ }
+ "-i" = {
+ value = "$iftraffic_interface$"
+ description = "Interface name."
+ required = true
+ }
+ "-b" = {
+ value = "$iftraffic_bandwidth$"
+ description = "Interface maximum speed in kilo/mega/giga/bits per second."
+ required = true
+ }
+ "-u" = {
+ value = "$iftraffic_units$"
+ description = "g=gigabits/s,m=megabits/s,k=kilobits/s,b=bits/s."
+ }
+ "-w" = {
+ value = "$iftraffic_warn$"
+ description = "% of bandwidth usage necessary to result in warning status (default: 85)"
+ }
+ "-c" = {
+ value = "$iftraffic_crit$"
+ description = "% of bandwidth usage necessary to result in critical status (default: 98)"
+ }
+ "-M" = {
+ value = "$iftraffic_max_counter$"
+ description = "Max counter value of net devices in kilo/mega/giga/bytes."
+ }
+ }
+
+ vars.iftraffic_address = "$check_address$"
+ vars.iftraffic_warn = "85"
+ vars.iftraffic_crit = "98"
+}
+
+object CheckCommand "iftraffic64" {
+ import "ipv4-or-ipv6"
+
+ command = [ PluginContribDir + "/check_iftraffic64.pl"]
+
+ arguments = {
+ "-H" = {
+ value = "$iftraffic64_address$"
+ description = "Check interface on the indicated host."
+ required = true
+ }
+ "-C" = {
+ value = "$iftraffic64_community$"
+ description = "SNMP community. Defaults to 'public' if omitted."
+ }
+ "-i" = {
+ value = "$iftraffic64_interface$"
+ description = "Interface name."
+ required = true
+ }
+ "-b" = {
+ value = "$iftraffic64_bandwidth$"
+ description = "Interface maximum speed in kilo/mega/giga/bits per second."
+ required = true
+ }
+ "-u" = {
+ value = "$iftraffic64_units$"
+ description = "g=gigabits/s,m=megabits/s,k=kilobits/s,b=bits/s."
+ }
+ "-w" = {
+ value = "$iftraffic64_warn$"
+ description = "% of bandwidth usage necessary to result in warning status (default: 85)"
+ }
+ "-c" = {
+ value = "$iftraffic64_crit$"
+ description = "% of bandwidth usage necessary to result in critical status (default: 98)"
+ }
+ "-M" = {
+ value = "$iftraffic64_max_counter$"
+ description = "Max counter value of net devices in kilo/mega/giga/bytes."
+ }
+ }
+
+ vars.iftraffic64_address = "$check_address$"
+ vars.iftraffic64_warn = "85"
+ vars.iftraffic64_crit = "98"
+}
+
+object CheckCommand "interfaces" {
+ import "ipv4-or-ipv6"
+
+ command = [ PluginContribDir + "/check_interfaces" ]
+
+ arguments = {
+ "--hostname" = "$interfaces_address$"
+ "--community" = {
+ value = "$interfaces_community$"
+ description = "The community string (default public)."
+ }
+ "--regex" = {
+ value = "$interfaces_regex$"
+ description = "Interface list regexp."
+ }
+ "--exclude-regex" = {
+ value = "$interfaces_exclude_regex$"
+ description = "Interface list negative regexp."
+ }
+ "--errors" = {
+ value = "$interfaces_errors$"
+ description = "Number of in errors (CRC errors for cisco) to consider a warning (default 50)."
+ }
+ "--out-errors" = {
+ value = "$interface_out_errors$"
+ description = "Number of out errors (collisions for cisco) to consider a warning (default same as in errors)."
+ }
+ "--perfdata" = {
+ value = "$interfaces_perfdata$"
+ }
+ "--prefix" = {
+ value = "$interfaces_prefix$"
+ description = "Prefix interface names with this label."
+ }
+ "--lastcheck" = {
+ value = "$interfaces_lastcheck$"
+ description = "Last checktime (unixtime)."
+ }
+ "--bandwidth" = {
+ value = "$interfaces_bandwidth$"
+ description = "Bandwidth warn level in percent."
+ }
+ "--speed" = {
+ value = "$interfaces_speed$"
+ description = "Override speed detection with this value (bits per sec)."
+ }
+ "--trim" = {
+ value = "$interfaces_trim$"
+ description = "Cut this number of characters from the start of interface descriptions."
+ }
+ "--mode" = {
+ value = "$interfaces_mode$"
+ description = "Special operating mode (default,cisco,nonbulk,bintec)."
+ }
+ "--auth-proto" = {
+ value = "$interfaces_auth_proto$"
+ description = "SNMPv3 Auth Protocol (SHA|MD5)"
+ }
+ "--auth-phrase" = {
+ value = "$interfaces_auth_phrase$"
+ description = "SNMPv3 Auth Phrase"
+ }
+ "--priv-proto" = {
+ value = "$interfaces_priv_proto$"
+ description = "SNMPv3 Privacy Protocol (AES|DES)"
+ }
+ "--priv-phrase" = {
+ value = "$interfaces_priv_phrase$"
+ description = "SNMPv3 Privacy Phrase"
+ }
+ "--user" = {
+ value = "$interfaces_user$"
+ description = "SNMPv3 User"
+ }
+ "--down-is-ok" = {
+ set_if = "$interfaces_down_is_ok$"
+ description = "Disables critical alerts for down interfaces."
+ }
+ "--aliases" = {
+ set_if = "$interfaces_aliases$"
+ description = "Retrieves the interface description."
+ }
+ "--match-aliases" = {
+ set_if = "$interfaces_match_aliases$"
+ description = "Also match against aliases (Option --aliases automatically enabled)."
+ }
+ "--timeout" = {
+ value = "$interfaces_timeout$"
+ description = "Sets the SNMP timeout (in ms)."
+ }
+ "--sleep" = {
+ value = "$interfaces_sleep$"
+ description = "Sleep between every SNMP query (in ms)."
+ }
+ "--if-names" = {
+ set_if = "$interfaces_names$"
+ description = "Use ifName instead of ifDescr."
+ }
+ }
+
+ vars.interfaces_address = "$check_address$"
+ vars.interfaces_down_is_ok = false
+ vars.interfaces_aliases = false
+ vars.interfaces_match_aliases = false
+}
+
+object CheckCommand "nwc_health" {
+ import "ipv4-or-ipv6"
+
+ command = [ PluginContribDir + "/check_nwc_health" ]
+
+ arguments = {
+ "--timeout" = {
+ value = "$nwc_health_timeout$"
+ description = "Seconds before plugin times out (default: 15)"
+ }
+ "--blacklist" = {
+ value = "$nwc_health_blacklist$"
+ description = "Blacklist some (missing/failed) components"
+ }
+ "--hostname" = {
+ value = "$nwc_health_hostname$"
+ description = "Hostname or IP-address of the switch or router"
+ }
+ "--port" = {
+ value = "$nwc_health_port$"
+ description = "The SNMP port to use (default: 161)"
+ }
+ "--domain" = {
+ value = "$nwc_health_domain$"
+ description = "The transport domain to use (default: udp/ipv4, other possible values: udp6, udp/ipv6, tcp, tcp4, tcp/ipv4, tcp6, tcp/ipv6)"
+ }
+ "--protocol" = {
+ value = "$nwc_health_protocol$"
+ description = "The SNMP protocol to use (default: 2c, other possibilities: 1,3)"
+ }
+ "--community" = {
+ value = "$nwc_health_community$"
+ description = "SNMP community of the server (SNMP v1/2 only)"
+ }
+ "--username" = {
+ value = "$nwc_health_username$"
+ description = "The securityName for the USM security model (SNMPv3 only)"
+ }
+ "--authpassword" = {
+ value = "$nwc_health_authpassword$"
+ description = "The authentication password for SNMPv3"
+ }
+ "--authprotocol" = {
+ value = "$nwc_health_authprotocol$"
+ description = "The authentication protocol for SNMPv3 (md5|sha)"
+ }
+ "--privpassword" = {
+ value = "$nwc_health_privpassword$"
+ description = "The password for authPriv security level"
+ }
+ "--privprotocol" = {
+ value = "$nwc_health_privprotocol$"
+ description = "The private protocol for SNMPv3 (des|aes|aes128|3des|3desde)"
+ }
+ "--contextengineid" = {
+ value = "$nwc_health_contextengineid$"
+ description = "The context engine id for SNMPv3 (10 to 64 hex characters)"
+ }
+ "--contextname" = {
+ value = "$nwc_health_contextname$"
+ description = "The context name for SNMPv3 (empty represents the default context)"
+ }
+ "--community2" = {
+ value = "$nwc_health_community2$"
+ description = "SNMP community which can be used to switch the context during runtime"
+ }
+ "--mode" = {
+ value = "$nwc_health_mode$"
+ description = "Which mode should be executed. A list of all available modes can be found in the plugin documentation"
+ }
+ "--name" = {
+ value = "$nwc_health_name$"
+ description = "The name of an interface (ifDescr)"
+ }
+ "--drecksptkdb" = {
+ value = "$nwc_health_drecksptkdb$"
+ description = "This parameter must be used instead of --name, because Devel::ptkdb is stealing the latter from the command line"
+ }
+ "--alias" = {
+ value = "$nwc_health_alias$"
+ description = "The alias name of a 64bit-interface (ifAlias)"
+ }
+ "--regexp" = {
+ set_if = "$nwc_health_regexp$"
+ description = "A flag indicating that --name is a regular expression"
+ }
+ "--ifspeedin" = {
+ value = "$nwc_health_ifspeedin$"
+ description = "Override the ifspeed oid of an interface (only inbound)"
+ }
+ "--ifspeedout" = {
+ value = "$nwc_health_ifspeedout$"
+ description = "Override the ifspeed oid of an interface (only outbound)"
+ }
+ "--ifspeed" = {
+ value = "$nwc_health_ifspeed$"
+ description = "Override the ifspeed oid of an interface"
+ }
+ "--units" = {
+ value = "$nwc_health_units$"
+ description = "One of %, B, KB, MB, GB, Bit, KBi, MBi, GBi. (used for e.g. mode interface-usage)"
+ }
+ "--name2" = {
+ value = "$nwc_health_name2$"
+ description = "The secondary name of a component"
+ }
+ "--name3" = {
+ value = "$nwc_health_name3$"
+ description = "The tertiary name of a component"
+ }
+ "--role" = {
+ value = "$nwc_health_role$"
+ description = "The role of this device in a hsrp group (active/standby/listen)"
+ }
+ "--report" = {
+ value = "$nwc_health_report$"
+ description = "Can be used to shorten the output. Possible values are: 'long' (default), 'short' (to shorten if available), or 'html' (to produce some html outputs if available)"
+ }
+ "--lookback" = {
+ value = "$nwc_health_lookback$"
+ description = "The amount of time you want to look back when calculating average rates. Use it for mode interface-errors or interface-usage. Without --lookback the time between two runs of check_nwc_health is the base for calculations. If you want your checkresult to be based for example on the past hour, use --lookback 3600."
+ }
+ "--critical" = {
+ value = "$nwc_health_critical$"
+ description = "The critical threshold"
+ }
+ "--warning" = {
+ value = "$nwc_health_warning$"
+ description = "The warning threshold"
+ }
+ "--warningx" = {
+ value = "$nwc_health_warningx$"
+ repeat_key = true
+ description = "The extended warning thresholds"
+ }
+ "--criticalx" = {
+ value = "$nwc_health_criticalx$"
+ repeat_key = true
+ description = "The extended critical thresholds"
+ }
+ "--mitigation" = {
+ value = "$nwc_health_mitigation$"
+ description = "The parameter allows you to change a critical error to a warning."
+ }
+ "--selectedperfdata" = {
+ value = "$nwc_health_selectedperfdata$"
+ description = "The parameter allows you to limit the list of performance data. It's a perl regexp. Only matching perfdata show up in the output."
+ }
+ "--morphperfdata" = {
+ value = "$nwc_health_morphperfdata$"
+ description = "The parameter allows you to change performance data labels. It's a perl regexp and a substitution. --morphperfdata '(.*)ISATAP(.*)'='$1patasi$2'"
+ }
+ "--negate" = {
+ value = "$nwc_health_negate$"
+ description = "The parameter allows you to map exit levels, such as warning=critical"
+ }
+ "--with-mymodules-dyn-dir" = {
+ value = "$nwc_health_mymodules-dyn-dir$"
+ description = "A directory where own extensions can be found"
+ }
+ "--servertype" = {
+ value = "$nwc_health_servertype$"
+ description = "The type of the network device: cisco (default). Use it if auto-detection is not possible"
+ }
+ "--statefilesdir" = {
+ value = "$nwc_health_statefilesdir$"
+ description = "An alternate directory where the plugin can save files"
+ }
+ "--oids" = {
+ value = "$nwc_health_oids$"
+ description = "A list of oids which are downloaded and written to a cache file. Use it together with --mode oidcache"
+ }
+ "--offline" = {
+ value = "$nwc_health_offline$"
+ description = "The maximum number of seconds since the last update of cache file before it is considered too old"
+ }
+ "--multiline" = {
+ set_if = "$nwc_health_multiline$"
+ description = "Multiline output"
+ }
+ }
+
+ vars.nwc_health_hostname = "$check_address$"
+ vars.nwc_health_mode = "hardware-health"
+}
+
+object CheckCommand "printer_health" {
+ import "ipv4-or-ipv6"
+
+ command = [ PluginContribDir + "/check_printer_health" ]
+
+ arguments = {
+ "--timeout" = {
+ value = "$printer_health_timeout$"
+ description = "Seconds before plugin times out (default: 15)"
+ }
+ "--blacklist" = {
+ value = "$printer_health_blacklist$"
+ description = "Blacklist some (missing/failed) components"
+ }
+ "--hostname" = {
+ value = "$printer_health_hostname$"
+ description = "Hostname or IP-address of the switch or router"
+ }
+ "--port" = {
+ value = "$printer_health_port$"
+ description = "The SNMP port to use (default: 161)"
+ }
+ "--domain" = {
+ value = "$printer_health_domain$"
+ description = "The transport domain to use (default: udp/ipv4, other possible values: udp6, udp/ipv6, tcp, tcp4, tcp/ipv4, tcp6, tcp/ipv6)"
+ }
+ "--protocol" = {
+ value = "$printer_health_protocol$"
+ description = "The SNMP protocol to use (default: 2c, other possibilities: 1,3)"
+ }
+ "--community" = {
+ value = "$printer_health_community$"
+ description = "SNMP community of the server (SNMP v1/2 only)"
+ }
+ "--username" = {
+ value = "$printer_health_username$"
+ description = "The securityName for the USM security model (SNMPv3 only)"
+ }
+ "--authpassword" = {
+ value = "$printer_health_authpassword$"
+ description = "The authentication password for SNMPv3"
+ }
+ "--authprotocol" = {
+ value = "$printer_health_authprotocol$"
+ description = "The authentication protocol for SNMPv3 (md5|sha)"
+ }
+ "--privpassword" = {
+ value = "$printer_health_privpassword$"
+ description = "The password for authPriv security level"
+ }
+ "--privprotocol" = {
+ value = "$printer_health_privprotocol$"
+ description = "The private protocol for SNMPv3 (des|aes|aes128|3des|3desde)"
+ }
+ "--contextengineid" = {
+ value = "$printer_health_contextengineid$"
+ description = "The context engine id for SNMPv3 (10 to 64 hex characters)"
+ }
+ "--contextname" = {
+ value = "$printer_health_contextname$"
+ description = "The context name for SNMPv3 (empty represents the default context)"
+ }
+ "--community2" = {
+ value = "$printer_health_community2$"
+ description = "SNMP community which can be used to switch the context during runtime"
+ }
+ "--mode" = {
+ value = "$printer_health_mode$"
+ description = "Which mode should be executed. Available modes: hardware-health, supplies-status and uptime."
+ }
+ "--name" = {
+ value = "$printer_health_name$"
+ description = "The name of an interface (ifDescr)"
+ }
+ "--regexp" = {
+ set_if = "$printer_health_regexp$"
+ description = "A flag indicating that --name is a regular expression"
+ }
+ "--units" = {
+ value = "$printer_health_units$"
+ description = "One of %, B, KB, MB, GB, Bit, KBi, MBi, GBi. (used for e.g. mode interface-usage)"
+ }
+ "--name2" = {
+ value = "$printer_health_name2$"
+ description = "The secondary name of a component"
+ }
+ "--name3" = {
+ value = "$printer_health_name3$"
+ description = "The teritary name of a component"
+ }
+ "--report" = {
+ value = "$printer_health_report$"
+ description = "Can be used to shorten the output."
+ }
+ "--lookback" = {
+ value = "$printer_health_lookback$"
+ description = "The amount of time you want to look back when calculating average rates. Use it for mode interface-errors or interface-usage. Without --lookback the time between two runs of check_printer_health is the base for calculations. If you want your checkresult to be based for example on the past hour, use --lookback 3600."
+ }
+ "--critical" = {
+ value = "$printer_health_critical$"
+ description = "The critical threshold"
+ }
+ "--warning" = {
+ value = "$printer_health_warning$"
+ description = "The warning threshold"
+ }
+ "--warningx" = {
+ value = "$printer_health_warningx$"
+ description = "The extended warning thresholds"
+ }
+ "--criticalx" = {
+ value = "$printer_health_criticalx$"
+ description = "The extended critical thresholds"
+ }
+ "--mitigation" = {
+ value = "$printer_health_mitigation$"
+ description = "The parameter allows you to change a critical error to a warning."
+ }
+ "--selectedperfdata" = {
+ value = "$printer_health_selectedperfdata$"
+ description = "The parameter allows you to limit the list of performance data. It's a perl regexp. Only matching perfdata show up in the output."
+ }
+ "--morphperfdata" = {
+ value = "$printer_health_morphperfdata$"
+ description = "The parameter allows you to change performance data labels. It's a perl regexp and a substitution. --morphperfdata '(.*)ISATAP(.*)'='$1patasi$2'"
+ }
+ "--negate" = {
+ value = "$printer_health_negate$"
+ description = "The parameter allows you to map exit levels, such as warning=critical"
+ }
+ "--with-mymodules-dyn-dir" = {
+ value = "$printer_health_mymodules-dyn-dir$"
+ description = "A directory where own extensions can be found"
+ }
+ "--servertype" = {
+ value = "$printer_health_servertype$"
+ description = "The type of the network device: cisco (default). Use it if auto-detection is not possible"
+ }
+ "--statefilesdir" = {
+ value = "$printer_health_statefilesdir$"
+ description = "An alternate directory where the plugin can save files"
+ }
+ "--oids" = {
+ value = "$printer_health_oids$"
+ description = "A list of oids which are downloaded and written to a cache file. Use it together with --mode oidcache"
+ }
+ "--offline" = {
+ value = "$printer_health_offline$"
+ description = "The maximum number of seconds since the last update of cache file before it is considered too old"
+ }
+ "--multiline" = {
+ set_if = "$printer_health_multiline$"
+ description = "Multiline output"
+ }
+ }
+
+ vars.printer_health_hostname = "$check_address$"
+ vars.printer_health_mode = "supplies-status"
+}
+
+template CheckCommand "generic-thola-check-command" {
+ command = [ PluginContribDir + "/thola-client", "check" ]
+
+ arguments = {
+ "--target-api" = {
+ required = true
+ value = "$thola_api_address$"
+ description = "Address of the thola API"
+ }
+ }
+}
+
+template CheckCommand "generic-thola-device-check-command" {
+ import "generic-thola-check-command"
+ import "ipv4-or-ipv6"
+
+ arguments += {
+ "thola_device_address" = {
+ order = 0
+ required = true
+ skip_key = true
+ value = "$thola_device_address$"
+ description = "IP address of target device"
+ }
+ "--snmp-community" = {
+ value = "$thola_device_snmp_community$"
+ description = "SNMP Community of target device"
+ }
+ "--snmp-version" = {
+ value = "$thola_device_snmp_protocol$"
+ description = "SNMP Version of target device"
+ }
+ }
+
+ vars.thola_device_address = "$check_address$"
+}
+
+object CheckCommand "thola-cpu-load" {
+ import "generic-thola-device-check-command"
+
+ command += [ "cpu-load" ]
+
+ arguments += {
+ "--critical" = {
+ value = "$thola_cpu_load_critical$"
+ description = "Critical threshold for the CPU load in %"
+ }
+ "--warning" = {
+ value = "$thola_cpu_load_warning$"
+ description = "Warning threshold for the CPU load in %"
+ }
+ }
+}
+
+object CheckCommand "thola-interface-metrics" {
+ import "generic-thola-device-check-command"
+
+ command += [ "interface-metrics" ]
+}
+
+object CheckCommand "thola-hardware-health" {
+ import "generic-thola-device-check-command"
+
+ command += [ "hardware-health" ]
+}
+
+object CheckCommand "thola-identify" {
+ import "generic-thola-device-check-command"
+
+ command += [ "identify" ]
+
+ arguments += {
+ "--model" = {
+ value = "$thola_identify_model$"
+ description = "Model that is compared to the actual model of the device"
+ }
+ "--os-version" = {
+ value = "$thola_identify_os_version$"
+ description = "OS-version that is compared to the actual OS-version of the device"
+ }
+ "--vendor" = {
+ value = "$thola_identify_vendor$"
+ description = "Vendor that is compared to the actual vendor of the device"
+ }
+ "--serial-number" = {
+ value = "$thola_identify_serial_number$"
+ description = "Serial number that is compared to the actual serial number of the device"
+ }
+ "--snmp-discover-retries" = {
+ value = "$thola_identify_discover_retries$"
+ description = "Number of discover retries"
+ }
+ "--snmp-discover-timeout" = {
+ value = "$thola_identify_discover_timeouts$"
+ description = "Number of discover timeouts"
+ }
+ }
+}
+
+object CheckCommand "thola-memory-usage" {
+ import "generic-thola-device-check-command"
+
+ command += [ "memory-usage" ]
+
+ arguments += {
+ "--critical" = {
+ value = "$thola_memory_usage_critical$"
+ description = "Critical threshold for the memory usage in %"
+ }
+ "--warning" = {
+ value = "$thola_memory_usage_warning$"
+ description = "Warning threshold for the memory usage in %"
+ }
+ }
+}
+
+object CheckCommand "thola-sbc" {
+ import "generic-thola-device-check-command"
+
+ command += [ "sbc" ]
+
+ arguments += {
+ "--system-health-score-critical" = {
+ value = "$thola_sbc_system_health_score_critical$"
+ description = "Critical threshold for the health score in %"
+ }
+ "--system-health-score-warning" = {
+ value = "$thola_sbc_system_health_score_warning$"
+ description = "Warning threshold for the health score in %"
+ }
+ }
+}
+
+object CheckCommand "thola-thola-server" {
+ import "generic-thola-check-command"
+
+ command += [ "thola-server" ]
+}
+
+object CheckCommand "thola-ups" {
+ import "generic-thola-device-check-command"
+
+ command += [ "ups" ]
+
+ arguments += {
+ "--batt-current-critical-max" = {
+ value = "$thola_ups_batt_current_critical_max$"
+ description = "High critical threshold for the battery current in Volt"
+ }
+ "--batt-current-critical-min" = {
+ value = "$thola_ups_batt_current_critical_min$"
+ description = "Low critical threshold for the battery current in Volt"
+ }
+ "--batt-current-warning-max" = {
+ value = "$thola_ups_batt_current_warning_max$"
+ description = "High warning threshold for the battery current in Volt"
+ }
+ "--batt-current-warning-min" = {
+ value = "$thola_ups_batt_current_warning_min$"
+ description = "Low warning threshold for the battery current in Volt"
+ }
+ "--batt-temperature-critical-max" = {
+ value = "$thola_ups_batt_temperature_critical_max$"
+ description = "High critical threshold for the battery temperature in degree celsius"
+ }
+ "--batt-temperature-critical-min" = {
+ value = "$thola_ups_batt_temperature_critical_min$"
+ description = "Low critical threshold for the battery temperature in degree celsius"
+ }
+ "--batt-temperature-warning-max" = {
+ value = "$thola_ups_batt_temperature_warning_max$"
+ description = "High warning threshold for the battery temperature in degree celsius"
+ }
+ "--batt-temperature-warning-min" = {
+ value = "$thola_ups_batt_temperature_warning_min$"
+ description = "Low warning threshold for the battery temperature in degree celsius"
+ }
+ "--current-load-critical-max" = {
+ value = "$thola_ups_current_load_critical_max$"
+ description = "High critical threshold for the current load in %"
+ }
+ "--current-load-critical-min" = {
+ value = "$thola_ups_current_load_critical_min$"
+ description = "Low critical threshold for the current load in %"
+ }
+ "--current-load-warning-max" = {
+ value = "$thola_ups_current_load_warning_max$"
+ description = "High warning threshold for the current load in %"
+ }
+ "--current-load-warning-min" = {
+ value = "$thola_ups_current_load_warning_min$"
+ description = "Low warning threshold for the current load in %"
+ }
+ "--rectifier-current-critical-max" = {
+ value = "$thola_ups_rectifier_current_critical_max$"
+ description = "High critical threshold for the current rectifier in Volt"
+ }
+ "--rectifier-current-critical-min" = {
+ value = "$thola_ups_rectifier_current_critical_min$"
+ description = "Low critical threshold for the current rectifier in Volt"
+ }
+ "--rectifier-current-warning-max" = {
+ value = "$thola_ups_rectifier_current_warning_max$"
+ description = "High warning threshold for the current rectifier in Volt"
+ }
+ "--rectifier-current-warning-min" = {
+ value = "$thola_ups_rectifier_current_warning_min$"
+ description = "Low warning threshold for the current rectifier in Volt"
+ }
+ "--system-voltage-critical-max" = {
+ value = "$thola_ups_system_voltage_critical_max$"
+ description = "High critical threshold for the system voltage in Volt"
+ }
+ "--system-voltage-critical-min" = {
+ value = "$thola_ups_system_voltage_critical_min$"
+ description = "Low critical threshold for the system voltage in Volt"
+ }
+ "--system-voltage-warning-max" = {
+ value = "$thola_ups_system_voltage_warning_max$"
+ description = "High warning threshold for the system voltage in Volt"
+ }
+ "--system-voltage-warning-min" = {
+ value = "$thola_ups_system_voltage_warning_min$"
+ description = "Low warning threshold for the system voltage in Volt"
+ }
+ }
+}