/* 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 "linux_netdev" { command = [ PluginContribDir + "/check_linux_netdev" ] arguments = { "-d" = { value = "$linux_netdev_duration$" description = "For how long to run. E.g. '10s' or '2m'. Default: '1m'" } "-e" = { value = "$linux_netdev_exclude$" description = "Which NICs to exclude. E.g. 'eth0' or 'eth?*', may be an array. Default: none" } "INTERFACE:METRIC:THRESHOLD=RANGE" = { order = 1 skip_key = true value = "$linux_netdev_thresholds$" description = "Warning and critical thresholds. E.g. 'eth?*:tx:bytes:persec:w=1000000000' (see https://github.com/Al2Klimov/check_linux_netdev#usage), may be an array. Default: none" } } } 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)" set_if = {{ string(macro("$nwc_health_protocol$")) == "3" }} } "--authpassword" = { value = "$nwc_health_authpassword$" description = "The authentication password for SNMPv3" set_if = {{ string(macro("$nwc_health_protocol$")) == "3" }} } "--authprotocol" = { value = "$nwc_health_authprotocol$" description = "The authentication protocol for SNMPv3 (md5|sha)" set_if = {{ string(macro("$nwc_health_protocol$")) == "3" }} } "--privpassword" = { value = "$nwc_health_privpassword$" description = "The password for authPriv security level" set_if = {{ string(macro("$nwc_health_protocol$")) == "3" }} } "--privprotocol" = { value = "$nwc_health_privprotocol$" description = "The private protocol for SNMPv3 (des|aes|aes128|3des|3desde)" set_if = {{ string(macro("$nwc_health_protocol$")) == "3" }} } "--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" } } }