]> granicus.if.org Git - icinga2/commitdiff
Add ipv4 / ipv6 support for all monitoring-plugins
authorSebastian Chrostek <sebastian@chrostek.net>
Sat, 21 Nov 2015 10:26:38 +0000 (11:26 +0100)
committerGunnar Beutner <gunnar@beutner.name>
Mon, 30 Nov 2015 07:36:36 +0000 (08:36 +0100)
Add some options to check_smtp/check_ssmtp/check_imap/check_simap/check_pop/check_spop

Refs #10669

Signed-off-by: Gunnar Beutner <gunnar@beutner.name>
doc/7-icinga-template-library.md
itl/command-plugins.conf

index 69cec1e5f4f0a7315811d0b82ccf48baa6a8e0fc..234969635aa97b3301c4976af51853b0e279f43d 100644 (file)
@@ -129,6 +129,9 @@ by_ssh_warn     | **Optional.** The warning threshold.
 by_ssh_crit     | **Optional.** The critical threshold.
 by_ssh_timeout  | **Optional.** The timeout in seconds.
 by_ssh_options  | **Optional.** Call ssh with '-o OPTION' (multiple options may be specified as an array).
+by_ssh_ipv4     | **Optional.** Use IPv4 connection. Defaults to false.
+by_ssh_ipv6     | **Optional.** Use IPv6 connection. Defaults to false.
+
 
 ### <a id="plugin-check-command-clamd"></a> clamd
 
@@ -156,6 +159,9 @@ clamd_ssl            | **Optional.** Use SSL for the connection. Defaults to fal
 clamd_wtime          | **Optional.** Response time to result in warning status (seconds).
 clamd_ctime          | **Optional.** Response time to result in critical status (seconds).
 clamd_timeout        | **Optional.** Seconds before connection times out. Defaults to 10.
+clamd_ipv4           | **Optional.** Use IPv4 connection. Defaults to false.
+clamd_ipv6           | **Optional.** Use IPv6 connection. Defaults to false.
+
 
 ### <a id="plugin-check-command-dhcp"></a> dhcp
 
@@ -182,15 +188,17 @@ Custom attributes passed as [command parameters](3-monitoring-basics.md#command-
 Name                 | Description
 ---------------------|--------------
 dig_server           | **Optional.** The DNS server to query. Defaults to "127.0.0.1".
-dig_port            | **Optional.** Port number (default: 53).
+dig_port                | **Optional.** Port number (default: 53).
 dig_lookup           | **Required.** The address that should be looked up.
 dig_record_type      | **Optional.** Record type to lookup (default: A).
 dig_expected_address | **Optional.** An address expected to be in the answer section. If not set, uses whatever was in -l.
 dig_arguments        | **Optional.** Pass STRING as argument(s) to dig.
-dig_retries         | **Optional.** Number of retries passed to dig, timeout is divided by this value (Default: 3).
+dig_retries             | **Optional.** Number of retries passed to dig, timeout is divided by this value (Default: 3).
 dig_warning          | **Optional.** Response time to result in warning status (seconds).
 dig_critical         | **Optional.** Response time to result in critical status (seconds).
 dig_timeout          | **Optional.** Seconds before connection times out (default: 10).
+dig_ipv4             | **Optional.** Force dig to only use IPv4 query transport. Defaults to false.
+dig_ipv6             | **Optional.** Force dig to only use IPv6 query transport. Defaults to false.
 
 
 ### <a id="plugin-check-command-disk"></a> disk
@@ -223,7 +231,7 @@ disk_local             | **Optional.** Only check local filesystems. May be true
 disk_stat_remote_fs    | **Optional.** Only check local filesystems against thresholds. Yet call stat on remote filesystems to test if they are accessible (e.g. to detect Stale NFS Handles). Myy be true or false
 disk_mountpoint        | **Optional.** Display the mountpoint instead of the partition. May be true or false.
 disk_megabytes         | **Optional.** Same as --units MB. May be true or false.
-disk_all               | **Optional.** Explicitly select all paths. This is equivalent to -R '.\*'. May be true or false.
+disk_all               | **Optional.** Explicitly select all paths. This is equivalent to -R '.*'. May be true or false.
 disk_eregi_path        | **Optional.** Case insensitive regular expression for path/partition (may be repeated).
 disk_ereg_path         | **Optional.** Regular expression for path or partition (may be repeated).
 disk_ignore_eregi_path | **Optional.** Regular expression to ignore selected path/partition (case insensitive) (may be repeated).
@@ -352,6 +360,8 @@ ftp_ssl            | **Optional.** Use SSL for the connection. Defaults to false
 ftp_wtime          | **Optional.** Response time to result in warning status (seconds).
 ftp_ctime          | **Optional.** Response time to result in critical status (seconds).
 ftp_timeout        | **Optional.** Seconds before connection times out. Defaults to 10.
+ftp_ipv4           | **Optional.** Use IPv4 connection. Defaults to false.
+ftp_ipv6           | **Optional.** Use IPv6 connection. Defaults to false.
 
 
 ### <a id="plugin-check-command-hostalive"></a> hostalive
@@ -461,8 +471,8 @@ http_extendedperfdata    | **Optional.** Print additional perfdata. Defaults to
 http_onredirect          | **Optional.** How to handle redirect pages. Possible values: "ok" (default), "warning", "critical", "follow", "sticky" (like follow but stick to address), "stickyport" (like sticky but also to port)
 http_pagesize            | **Optional.** Minimum page size required:Maximum page size required.
 http_timeout             | **Optional.** Seconds before connection times out.
-http_ipv4                | **Optional.** Use IPv4 only.
-http_ipv6                | **Optional.** Use IPv6 only.
+http_ipv4                | **Optional.** Use IPv4 connection. Defaults to false.
+http_ipv6                | **Optional.** Use IPv6 connection. Defaults to false.
 
 
 ### <a id="plugin-check-command-icmp"></a> icmp
@@ -493,11 +503,27 @@ Check command object for the `check_imap` plugin.
 
 Custom attributes passed as [command parameters](3-monitoring-basics.md#command-passing-parameters):
 
-Name            | Description
-----------------|--------------
-imap_address    | **Optional.** The host's address. Defaults to "$address$" if the host's `address` attribute is set, "$address6$" otherwise.
-imap_port       | **Optional.** The port that should be checked. Defaults to 143.
-imap_timeout    | **Optional.** The timeout in seconds.
+Name                  | Description
+----------------------|--------------
+imap_address          | **Optional.** The host's address. Defaults to "$address$" if the host's `address` attribute is set, "$address6$" otherwise.
+imap_port             | **Optional.** The port that should be checked. Defaults to 143.
+imap_escape           | **Optional.** Can use \n, \r, \t or \\ in send or quit string. Must come before send or quit option. Default: nothing added to send, \r\n added to end of quit.
+imap_send             | **Optional.** String to send to the server.
+imap_expect           | **Optional.** String to expect in server response (may be repeated).
+imap_all              | **Optional.** All expect strings need to occur in server response. Default is any.
+imap_quit             | **Optional.** String to send server to initiate a clean close of the connection.
+imap_refuse           | **Optional.** Accept TCP refusals with states ok, warn, crit (default: crit).
+imap_mismatch         | **Optional.** Accept expected string mismatches with states ok, warn, crit (default: warn).
+imap_jail             | **Optional.** Hide output from TCP socket.
+imap_maxbytes         | **Optional.** Close connection once more than this number of bytes are received.
+imap_delay            | **Optional.** Seconds to wait between sending string and polling for response.
+imap_certificate_age  | **Optional.** Minimum number of days a certificate has to be valid.
+imap_ssl              | **Optional.** Use SSL for the connection.
+imap_warning          | **Optional.** Response time to result in warning status (seconds).
+imap_critical         | **Optional.** Response time to result in critical status (seconds).
+imap_timeout          | **Optional.** Seconds before connection times out (default: 10).
+imap_ipv4             | **Optional.** Use IPv4 connection. Defaults to false.
+imap_ipv6             | **Optional.** Use IPv6 connection. Defaults to false.
 
 
 ### <a id="plugin-check-command-ldap"></a> ldap
@@ -510,7 +536,7 @@ Name            | Description
 ----------------|--------------
 ldap_address    | **Optional.** Host name, IP Address, or unix socket (must be an absolute path). Defaults to "$address$" if the host's `address` attribute is set, "$address6$" otherwise.
 ldap_port       | **Optional.** Port number. Defaults to 389.
-ldap_attr      | **Optional.** LDAP attribute to search for (default: "(objectclass=\*)"
+ldap_attr      | **Optional.** LDAP attribute to search for (default: "(objectclass=*)"
 ldap_base       | **Required.** LDAP base (eg. ou=myunit,o=myorg,c=at).
 ldap_bind       | **Optional.** LDAP bind DN (if required).
 ldap_pass       | **Optional.** LDAP password (if required).
@@ -612,8 +638,8 @@ nrpe_no_ssl     | **Optional.** Whether to disable SSL or not. Defaults to `fals
 nrpe_timeout_unknown | **Optional.** Whether to set timeouts to unknown instead of critical state. Defaults to `false`.
 nrpe_timeout    | **Optional.** The timeout in seconds.
 nrpe_arguments | **Optional.** Arguments that should be passed to the command. Multiple arguments must be defined as array.
-nrpe_ipv4       | **Optional.** Use IPv4 only.
-nrpe_ipv6       | **Optional.** Use IPv6 only.
+nrpe_ipv4       | **Optional.** Use IPv4 connection. Defaults to false.
+nrpe_ipv6       | **Optional.** Use IPv6 connection. Defaults to false.
 
 
 ### <a id="plugin-check-command-nscp"></a> nscp
@@ -650,6 +676,8 @@ ntp_warning     | **Optional.** Offset to result in warning status (seconds).
 ntp_critical    | **Optional.** Offset to result in critical status (seconds).
 ntp_timeoffset  | **Optional.** Expected offset of the ntp server relative to local server (seconds).
 ntp_timeout     | **Optional.** Seconds before connection times out (default: 10).
+ntp_ipv4        | **Optional.** Use IPv4 connection. Defaults to false.
+ntp_ipv6        | **Optional.** Use IPv6 connection. Defaults to false.
 
 
 ### <a id="plugin-check-command-ntp-peer"></a> ntp_peer
@@ -671,6 +699,8 @@ ntp_cjitter     | **Optional.** Critical threshold for jitter.
 ntp_wsource     | **Optional.** Warning threshold for number of usable time sources.
 ntp_csource     | **Optional.** Critical threshold for number of usable time sources.
 ntp_timeout     | **Optional.** Seconds before connection times out (default: 10).
+ntp_ipv4        | **Optional.** Use IPv4 connection. Defaults to false.
+ntp_ipv6        | **Optional.** Use IPv6 connection. Defaults to false.
 
 
 ### <a id="plugin-check-command-passive"></a> passive
@@ -763,11 +793,27 @@ Check command object for the `check_pop` plugin.
 
 Custom attributes passed as [command parameters](3-monitoring-basics.md#command-passing-parameters):
 
-Name            | Description
-----------------|--------------
-pop_address     | **Optional.** The host's address. Defaults to "$address$" if the host's `address` attribute is set, "$address6$" otherwise.
-pop_port        | **Optional.** The port that should be checked. Defaults to 110.
-pop_timeout     | **Optional.** The timeout in seconds.
+Name                 | Description
+---------------------|--------------
+pop_address          | **Optional.** The host's address. Defaults to "$address$" if the host's `address` attribute is set, "$address6$" otherwise.
+pop_port             | **Optional.** The port that should be checked. Defaults to 110.
+pop_escape           | **Optional.** Can use \n, \r, \t or \\ in send or quit string. Must come before send or quit option. Default: nothing added to send, \r\n added to end of quit.
+pop_send             | **Optional.** String to send to the server.
+pop_expect           | **Optional.** String to expect in server response (may be repeated).
+pop_all              | **Optional.** All expect strings need to occur in server response. Default is any.
+pop_quit             | **Optional.** String to send server to initiate a clean close of the connection.
+pop_refuse           | **Optional.** Accept TCP refusals with states ok, warn, crit (default: crit).
+pop_mismatch         | **Optional.** Accept expected string mismatches with states ok, warn, crit (default: warn).
+pop_jail             | **Optional.** Hide output from TCP socket.
+pop_maxbytes         | **Optional.** Close connection once more than this number of bytes are received.
+pop_delay            | **Optional.** Seconds to wait between sending string and polling for response.
+pop_certificate_age  | **Optional.** Minimum number of days a certificate has to be valid.
+pop_ssl              | **Optional.** Use SSL for the connection.
+pop_warning          | **Optional.** Response time to result in warning status (seconds).
+pop_critical         | **Optional.** Response time to result in critical status (seconds).
+pop_timeout          | **Optional.** Seconds before connection times out (default: 10).
+pop_ipv4             | **Optional.** Use IPv4 connection. Defaults to false.
+pop_ipv6             | **Optional.** Use IPv6 connection. Defaults to false.
 
 
 ### <a id="plugin-check-command-processes"></a> procs
@@ -801,11 +847,27 @@ Check command object for the `check_simap` plugin.
 
 Custom attributes passed as [command parameters](3-monitoring-basics.md#command-passing-parameters):
 
-Name            | Description
-----------------|--------------
-simap_address   | **Optional.** The host's address. Defaults to "$address$" if the host's `address` attribute is set, "$address6$" otherwise.
-simap_port      | **Optional.** The host's port.
-simap_timeout   | **Optional.** The timeout in seconds.
+Name                   | Description
+-----------------------|--------------
+simap_address          | **Optional.** The host's address. Defaults to "$address$" if the host's `address` attribute is set, "$address6$" otherwise.
+simap_port             | **Optional.** The port that should be checked. Defaults to 993.
+simap_escape           | **Optional.** Can use \n, \r, \t or \\ in send or quit string. Must come before send or quit option. Default: nothing added to send, \r\n added to end of quit.
+simap_send             | **Optional.** String to send to the server.
+simap_expect           | **Optional.** String to expect in server response (may be repeated).
+simap_all              | **Optional.** All expect strings need to occur in server response. Default is any.
+simap_quit             | **Optional.** String to send server to initiate a clean close of the connection.
+simap_refuse           | **Optional.** Accept TCP refusals with states ok, warn, crit (default: crit).
+simap_mismatch         | **Optional.** Accept expected string mismatches with states ok, warn, crit (default: warn).
+simap_jail             | **Optional.** Hide output from TCP socket.
+simap_maxbytes         | **Optional.** Close connection once more than this number of bytes are received.
+simap_delay            | **Optional.** Seconds to wait between sending string and polling for response.
+simap_certificate_age  | **Optional.** Minimum number of days a certificate has to be valid.
+simap_ssl              | **Optional.** Use SSL for the connection.
+simap_warning          | **Optional.** Response time to result in warning status (seconds).
+simap_critical         | **Optional.** Response time to result in critical status (seconds).
+simap_timeout          | **Optional.** Seconds before connection times out (default: 10).
+simap_ipv4             | **Optional.** Use IPv4 connection. Defaults to false.
+simap_ipv6             | **Optional.** Use IPv6 connection. Defaults to false.
 
 
 ### <a id="plugin-check-command-smtp"></a> smtp
@@ -832,6 +894,8 @@ smtp_ignore_quit      | **Optional.** Ignore failure when sending QUIT command t
 smtp_warning          | **Optional.** Response time to result in warning status (seconds).
 smtp_critical         | **Optional.** Response time to result in critical status (seconds).
 smtp_timeout          | **Optional.** Seconds before connection times out (default: 10).
+smtp_ipv4             | **Optional.** Use IPv4 connection. Defaults to false.
+smtp_ipv6             | **Optional.** Use IPv6 connection. Defaults to false.
 
 
 ### <a id="plugin-check-command-snmp"></a> snmp
@@ -905,11 +969,27 @@ Check command object for the `check_spop` plugin.
 
 Custom attributes passed as [command parameters](3-monitoring-basics.md#command-passing-parameters):
 
-Name            | Description
-----------------|--------------
-spop_address    | **Optional.** The host's address. Defaults to "$address$" if the host's `address` attribute is set, "$address6$" otherwise.
-spop_port       | **Optional.** The host's port.
-spop_timeout    | **Optional.** The timeout in seconds.
+Name                  | Description
+----------------------|--------------
+spop_address          | **Optional.** The host's address. Defaults to "$address$" if the host's `address` attribute is set, "$address6$" otherwise.
+spop_port             | **Optional.** The port that should be checked. Defaults to 995.
+spop_escape           | **Optional.** Can use \n, \r, \t or \\ in send or quit string. Must come before send or quit option. Default: nothing added to send, \r\n added to end of quit.
+spop_send             | **Optional.** String to send to the server.
+spop_expect           | **Optional.** String to expect in server response (may be repeated).
+spop_all              | **Optional.** All expect strings need to occur in server response. Default is any.
+spop_quit             | **Optional.** String to send server to initiate a clean close of the connection.
+spop_refuse           | **Optional.** Accept TCP refusals with states ok, warn, crit (default: crit).
+spop_mismatch         | **Optional.** Accept expected string mismatches with states ok, warn, crit (default: warn).
+spop_jail             | **Optional.** Hide output from TCP socket.
+spop_maxbytes         | **Optional.** Close connection once more than this number of bytes are received.
+spop_delay            | **Optional.** Seconds to wait between sending string and polling for response.
+spop_certificate_age  | **Optional.** Minimum number of days a certificate has to be valid.
+spop_ssl              | **Optional.** Use SSL for the connection.
+spop_warning          | **Optional.** Response time to result in warning status (seconds).
+spop_critical         | **Optional.** Response time to result in critical status (seconds).
+spop_timeout          | **Optional.** Seconds before connection times out (default: 10).
+spop_ipv4             | **Optional.** Use IPv4 connection. Defaults to false.
+spop_ipv6             | **Optional.** Use IPv6 connection. Defaults to false.
 
 
 ### <a id="plugin-check-command-ssh"></a> ssh
@@ -923,6 +1003,8 @@ Name            | Description
 ssh_address     | **Optional.** The host's address. Defaults to "$address$" if the host's `address` attribute is set, "$address6$" otherwise.
 ssh_port        | **Optional.** The port that should be checked. Defaults to 22.
 ssh_timeout     | **Optional.** Seconds before connection times out. Defaults to 10.
+ssh_ipv4        | **Optional.** Use IPv4 connection. Defaults to false.
+ssh_ipv6        | **Optional.** Use IPv6 connection. Defaults to false.
 
 
 ### <a id="plugin-check-command-ssl"></a> ssl
@@ -946,10 +1028,27 @@ Check command object for the `check_ssmtp` plugin.
 
 Custom attributes passed as [command parameters](3-monitoring-basics.md#command-passing-parameters):
 
-Name            | Description
-----------------|--------------
-ssmtp_address   | **Required.** The host's address. Defaults to "$address$" if the host's `address` attribute is set, "$address6$" otherwise.
-ssmtp_port      | **Optional.** The port that should be checked. Defaults to 465.
+Name                   | Description
+-----------------------|--------------
+ssmtp_address          | **Optional.** The host's address. Defaults to "$address$" if the host's `address` attribute is set, "$address6$" otherwise.
+ssmtp_port             | **Optional.** The port that should be checked. Defaults to 465.
+ssmtp_escape           | **Optional.** Can use \n, \r, \t or \\ in send or quit string. Must come before send or quit option. Default: nothing added to send, \r\n added to end of quit.
+ssmtp_send             | **Optional.** String to send to the server.
+ssmtp_expect           | **Optional.** String to expect in server response (may be repeated).
+ssmtp_all              | **Optional.** All expect strings need to occur in server response. Default is any.
+ssmtp_quit             | **Optional.** String to send server to initiate a clean close of the connection.
+ssmtp_refuse           | **Optional.** Accept TCP refusals with states ok, warn, crit (default: crit).
+ssmtp_mismatch         | **Optional.** Accept expected string mismatches with states ok, warn, crit (default: warn).
+ssmtp_jail             | **Optional.** Hide output from TCP socket.
+ssmtp_maxbytes         | **Optional.** Close connection once more than this number of bytes are received.
+ssmtp_delay            | **Optional.** Seconds to wait between sending string and polling for response.
+ssmtp_certificate_age  | **Optional.** Minimum number of days a certificate has to be valid.
+ssmtp_ssl              | **Optional.** Use SSL for the connection.
+ssmtp_warning          | **Optional.** Response time to result in warning status (seconds).
+ssmtp_critical         | **Optional.** Response time to result in critical status (seconds).
+ssmtp_timeout          | **Optional.** Seconds before connection times out (default: 10).
+ssmtp_ipv4             | **Optional.** Use IPv4 connection. Defaults to false.
+ssmtp_ipv6             | **Optional.** Use IPv6 connection. Defaults to false.
 
 
 ### <a id="plugin-check-command-swap"></a> swap
@@ -990,8 +1089,8 @@ tcp_ssl         | **Optional.** Use SSL for the connection. Defaults to false.
 tcp_wtime       | **Optional.** Response time to result in warning status (seconds).
 tcp_ctime       | **Optional.** Response time to result in critical status (seconds).
 tcp_timeout     | **Optional.** Seconds before connection times out. Defaults to 10.
-tcp_ipv4        | **Optional.** Use IPv4 only.
-tcp_ipv6        | **Optional.** Use IPv6 only.
+tcp_ipv4        | **Optional.** Use IPv4 connection. Defaults to false.
+tcp_ipv6        | **Optional.** Use IPv6 connection. Defaults to false.
 
 
 ### <a id="plugin-check-command-udp"></a> udp
@@ -1007,8 +1106,8 @@ udp_port        | **Required.** The port that should be checked.
 udp_send        | **Required.** The payload to send in the UDP datagram.
 udp_expect      | **Required.** The payload to expect in the response datagram.
 udp_quit        | **Optional.** The payload to send to 'close' the session.
-udp_ipv4        | **Optional.** Use IPv4 only.
-udp_ipv6        | **Optional.** Use IPv6 only.
+udp_ipv4        | **Optional.** Use IPv4 connection. Defaults to false.
+udp_ipv6        | **Optional.** Use IPv6 connection. Defaults to false.
 
 
 ### <a id="plugin-check-command-ups"></a> ups
@@ -1514,7 +1613,7 @@ snmp_authprotocol       | **Optional.** SNMP version 3 authentication protocol.
 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_process_name       | **Optional.** Name of the process (regexp). No trailing slash!. Defaults to ".*".
 snmp_perf               | **Optional.** Enable perfdata values. Defaults to true.
 snmp_timeout            | **Optional.** The command timeout in seconds. Defaults to 5 seconds.
 
@@ -1758,7 +1857,7 @@ ipmi_config_file                 | **Optional.** Path to the FreeIPMI configurat
 ipmi_username                    | **Optional.** The IPMI username.
 ipmi_password                    | **Optional.** The IPMI password.
 ipmi_privilege_level             | **Optional.** The IPMI privilege level of the IPMI user.
-ipmi_backward_compatibility_mode | **Optional.** Enable backward compatibility mode, useful for FreeIPMI 0.5.\* (this omits FreeIPMI options "--quiet-cache" and "--sdr-cache-recreate").
+ipmi_backward_compatibility_mode | **Optional.** Enable backward compatibility mode, useful for FreeIPMI 0.5.* (this omits FreeIPMI options "--quiet-cache" and "--sdr-cache-recreate").
 ipmi_sensor_type                 | **Optional.** Limit sensors to query based on IPMI sensor type. Examples for IPMI sensor types are 'Fan', 'Temperature' and 'Voltage'.
 ipmi_exclude_sensor_id           | **Optional.** Exclude sensor matching ipmi_sensor_id.
 ipmi_sensor_id                   | **Optional.** Include sensor matching ipmi_sensor_id.
@@ -2058,8 +2157,8 @@ Name         | Description
 mem_used     | **Optional.** Tell the plugin to check for used memory in opposite of **mem_free**. Must specify one of these as true.
 mem_free     | **Optional.** Tell the plugin to check for free memory in opposite of **mem_used**. Must specify one of these as true.
 mem_cache    | **Optional.** If set to true plugin will count cache as free memory. Defaults to false.
-mem_warning  | **Required.** Specify the warning threshold as number interpreted as percent.
-mem_critical | **Required.** Specify the critical threshold as number interpreted as percent.
+mem_warning  | **Required.** Specifiy the warning threshold as number interpreted as percent.
+mem_critical | **Required.** Specifiy the critical threshold as number interpreted as percent.
 
 #### <a id="plugin-contrib-command-running-kernel"></a> running_kernel
 
index 8cfa91fe3975b75c57bd565fc6233dd39ad05062..36b79cacfab19eec01b7c2de6b9409a0f7046b4c 100644 (file)
@@ -248,11 +248,11 @@ object CheckCommand "tcp" {
                }
                "-4" = {
                        set_if = "$tcp_ipv4$"
-                       description = "Use IPv4 only"
+                       description = "Use IPv4 connection"
                }
                "-6" = {
                        set_if = "$tcp_ipv6$"
-                       description = "Use IPv6 only"
+                       description = "Use IPv6 connection"
                }
        }
 
@@ -304,11 +304,11 @@ object CheckCommand "udp" {
                "-q" = "$udp_quit$"
                "-4" = {
                        set_if = "$udp_ipv4$"
-                       description = "Use IPv4 only"
+                       description = "Use IPv4 connection"
                }
                "-6" = {
                        set_if = "$udp_ipv6$"
-                       description = "Use IPv6 only"
+                       description = "Use IPv6 connection"
                }
        }
 
@@ -429,11 +429,11 @@ object CheckCommand "http" {
                }
                "-4" = {
                        set_if = "$http_ipv4$"
-                       description = "Use IPv4 only"
+                       description = "Use IPv4 connection"
                }
                "-6" = {
                        set_if = "$http_ipv6$"
-                       description = "Use IPv6 only"
+                       description = "Use IPv6 connection"
                }
        }
 
@@ -531,6 +531,14 @@ object CheckCommand "ftp" {
                        value = "$ftp_timeout$"
                        description = "Seconds before connection times out. Defaults to 10."
                }
+               "-4" = {
+                       set_if = "$ftp_ipv4$"
+                       description = "Use IPv4 connection"
+               }
+               "-6" = {
+                       set_if = "$ftp_ipv6$"
+                       description = "Use IPv6 connection"
+               }
        }
 
        vars.ftp_address = "$check_address$"
@@ -538,6 +546,8 @@ object CheckCommand "ftp" {
        vars.ftp_refuse = "crit"
        vars.ftp_mismatch = "warn"
        vars.ftp_timeout = 10
+       vars.check_ipv4 = "$ftp_ipv4$"
+       vars.check_ipv6 = "$ftp_ipv6$"
 }
 
 object CheckCommand "smtp" {
@@ -555,7 +565,10 @@ object CheckCommand "smtp" {
                "-R" = "$smtp_response$"
                "-F" = "$smtp_helo_fqdn$"
                "-D" = "$smtp_certificate_age$"
-               "-S" = "$smtp_starttls$"
+               "-S" = {
+                       set_if = "$smtp_starttls$"
+                       description = "Use STARTTLS for the connection."
+               }
                "-A" = "$smtp_authtype$"
                "-U" = "$smtp_authuser$"
                "-P" = "$smtp_authpass$"
@@ -563,9 +576,19 @@ object CheckCommand "smtp" {
                "-w" = "$smtp_warning$"
                "-c" = "$smtp_critical$"
                "-t" = "$smtp_timeout$"
+               "-4" = {
+                       set_if = "$smtp_ipv4$"
+                       description = "Use IPv4 connection"
+               }
+               "-6" = {
+                       set_if = "$smtp_ipv6$"
+                       description = "Use IPv6 connection"
+               }
        }
 
        vars.smtp_address = "$check_address$"
+       vars.check_ipv4 = "$smtp_ipv4$"
+       vars.check_ipv6 = "$smtp_ipv6$"
 }
 
 object CheckCommand "ssmtp" {
@@ -573,12 +596,47 @@ object CheckCommand "ssmtp" {
        import "ipv4-or-ipv6"
 
        command = [ PluginDir + "/check_ssmtp" ]
+
        arguments = {
                "-H" = "$ssmtp_address$"
                "-p" = "$ssmtp_port$"
+               "-E" = "$ssmtp_escape$"
+               "-s" = "$ssmtp_send$"
+               "-e" = "$ssmtp_expect$"
+               "-A" = {
+                       set_if = "$ssmtp_all$"
+                       description = "All expect strings need to occur in server response. Default is any."
+               }
+               "-q" = "$ssmtp_quit$"
+               "-r" = "$ssmtp_refuse$"
+               "-M" = "$ssmtp_mismatch$"
+               "-j" = {
+                       set_if = "$ssmtp_jail$"
+                       description = "Hide output from TCP socket."
+               }
+               "-m" = "$ssmtp_maxbytes$"
+               "-d" = "$ssmtp_delay$"
+               "-D" = "$ssmtp_certificate_age$"
+               "-S" = {
+                       set_if = "$ssmtp_ssl$"
+                       description = "Use SSL for the connection."
+               }
+               "-w" = "$ssmtp_warning$"
+               "-c" = "$ssmtp_critical$"
+               "-t" = "$ssmtp_timeout$"
+               "-4" = {
+                       set_if = "$ssmtp_ipv4$"
+                       description = "Use IPv4 connection"
+               }
+               "-6" = {
+                       set_if = "$ssmtp_ipv6$"
+                       description = "Use IPv6 connection"
+               }
        }
 
        vars.ssmtp_address = "$check_address$"
+       vars.check_ipv4 = "$ssmtp_ipv4$"
+       vars.check_ipv6 = "$ssmtp_ipv6$"
 }
 
 object CheckCommand "imap" {
@@ -590,25 +648,91 @@ object CheckCommand "imap" {
        arguments = {
                "-H" = "$imap_address$"
                "-p" = "$imap_port$"
+               "-E" = "$imap_escape$"
+               "-s" = "$imap_send$"
+               "-e" = "$imap_expect$"
+               "-A" = {
+                       set_if = "$imap_all$"
+                       description = "All expect strings need to occur in server response. Default is any."
+               }
+               "-q" = "$imap_quit$"
+               "-r" = "$imap_refuse$"
+               "-M" = "$imap_mismatch$"
+               "-j" = {
+                       set_if = "$imap_jail$"
+                       description = "Hide output from TCP socket."
+               }
+               "-m" = "$imap_maxbytes$"
+               "-d" = "$imap_delay$"
+               "-D" = "$imap_certificate_age$"
+               "-S" = {
+                       set_if = "$imap_ssl$"
+                       description = "Use SSL for the connection."
+               }
+               "-w" = "$imap_warning$"
+               "-c" = "$imap_critical$"
                "-t" = "$imap_timeout$"
+               "-4" = {
+                       set_if = "$imap_ipv4$"
+                       description = "Use IPv4 connection"
+               }
+               "-6" = {
+                       set_if = "$imap_ipv6$"
+                       description = "Use IPv6 connection"
+               }
        }
 
        vars.imap_address = "$check_address$"
+       vars.check_ipv4 = "$imap_ipv4$"
+       vars.check_ipv6 = "$imap_ipv6$"
 }
 
 object CheckCommand "simap" {
        import "plugin-check-command"
        import "ipv4-or-ipv6"
 
-         command = [ PluginDir + "/check_simap" ]
+       command = [ PluginDir + "/check_simap" ]
 
        arguments = {
                "-H" = "$simap_address$"
                "-p" = "$simap_port$"
+               "-E" = "$simap_escape$"
+               "-s" = "$simap_send$"
+               "-e" = "$simap_expect$"
+               "-A" = {
+                       set_if = "$simap_all$"
+                       description = "All expect strings need to occur in server response. Default is any."
+               }
+               "-q" = "$simap_quit$"
+               "-r" = "$simap_refuse$"
+               "-M" = "$simap_mismatch$"
+               "-j" = {
+                       set_if = "$simap_jail$"
+                       description = "Hide output from TCP socket."
+               }
+               "-m" = "$simap_maxbytes$"
+               "-d" = "$simap_delay$"
+               "-D" = "$simap_certificate_age$"
+               "-S" = {
+                       set_if = "$simap_ssl$"
+                       description = "Use SSL for the connection."
+               }
+               "-w" = "$simap_warning$"
+               "-c" = "$simap_critical$"
                "-t" = "$simap_timeout$"
+               "-4" = {
+                       set_if = "$simap_ipv4$"
+                       description = "Use IPv4 connection"
+               }
+               "-6" = {
+                       set_if = "$simap_ipv6$"
+                       description = "Use IPv6 connection"
+               }
        }
 
        vars.simap_address = "$check_address$"
+       vars.check_ipv4 = "$simap_ipv4$"
+       vars.check_ipv6 = "$simap_ipv6$"
 }
 
 object CheckCommand "pop" {
@@ -620,10 +744,43 @@ object CheckCommand "pop" {
        arguments = {
                "-H" = "$pop_address$"
                "-p" = "$pop_port$"
+               "-E" = "$pop_escape$"
+               "-s" = "$pop_send$"
+               "-e" = "$pop_expect$"
+               "-A" = {
+                       set_if = "$pop_all$"
+                       description = "All expect strings need to occur in server response. Default is any."
+               }
+               "-q" = "$pop_quit$"
+               "-r" = "$pop_refuse$"
+               "-M" = "$pop_mismatch$"
+               "-j" = {
+                       set_if = "$pop_jail$"
+                       description = "Hide output from TCP socket."
+               }
+               "-m" = "$pop_maxbytes$"
+               "-d" = "$pop_delay$"
+               "-D" = "$pop_certificate_age$"
+               "-S" = {
+                       set_if = "$pop_ssl$"
+                       description = "Use SSL for the connection."
+               }
+               "-w" = "$pop_warning$"
+               "-c" = "$pop_critical$"
                "-t" = "$pop_timeout$"
+               "-4" = {
+                       set_if = "$pop_ipv4$"
+                       description = "Use IPv4 connection"
+               }
+               "-6" = {
+                       set_if = "$pop_ipv6$"
+                       description = "Use IPv6 connection"
+               }
        }
 
        vars.pop_address = "$check_address$"
+       vars.check_ipv4 = "$pop_ipv4$"
+       vars.check_ipv6 = "$pop_ipv6$"
 }
 
 object CheckCommand "spop" {
@@ -635,10 +792,43 @@ object CheckCommand "spop" {
        arguments = {
                "-H" = "$spop_address$"
                "-p" = "$spop_port$"
+               "-E" = "$spop_escape$"
+               "-s" = "$spop_send$"
+               "-e" = "$spop_expect$"
+               "-A" = {
+                       set_if = "$spop_all$"
+                       description = "All expect strings need to occur in server response. Default is any."
+               }
+               "-q" = "$spop_quit$"
+               "-r" = "$spop_refuse$"
+               "-M" = "$spop_mismatch$"
+               "-j" = {
+                       set_if = "$spop_jail$"
+                       description = "Hide output from TCP socket."
+               }
+               "-m" = "$spop_maxbytes$"
+               "-d" = "$spop_delay$"
+               "-D" = "$spop_certificate_age$"
+               "-S" = {
+                       set_if = "$spop_ssl$"
+                       description = "Use SSL for the connection."
+               }
+               "-w" = "$spop_warning$"
+               "-c" = "$spop_critical$"
                "-t" = "$spop_timeout$"
+               "-4" = {
+                       set_if = "$spop_ipv4$"
+                       description = "Use IPv4 connection"
+               }
+               "-6" = {
+                       set_if = "$spop_ipv6$"
+                       description = "Use IPv6 connection"
+               }
        }
 
        vars.spop_address = "$check_address$"
+       vars.check_ipv4 = "$spop_ipv4$"
+       vars.check_ipv6 = "$spop_ipv6$"
 }
 
 object CheckCommand "ntp_time" {
@@ -655,9 +845,19 @@ object CheckCommand "ntp_time" {
                "-c" = "$ntp_critical$"
                "-o" = "$ntp_timeoffset$"
                "-t" = "$ntp_timeout$"
+               "-4" = {
+                       set_if = "$ntp_ipv4$"
+                       description = "Use IPv4 connection"
+               }
+               "-6" = {
+                       set_if = "$ntp_ipv6$"
+                       description = "Use IPv6 connection"
+               }
        }
 
        vars.ntp_address = "$check_address$"
+       vars.check_ipv4 = "$ntp_ipv4$"
+       vars.check_ipv6 = "$ntp_ipv6$"
 }
 
 object CheckCommand "ntp_peer" {
@@ -678,9 +878,19 @@ object CheckCommand "ntp_peer" {
                "-m" = "$ntp_wsource$"
                "-n" = "$ntp_csource$"
                "-t" = "$ntp_timeout$"
+               "-4" = {
+                       set_if = "$ntp_ipv4$"
+                       description = "Use IPv4 connection"
+               }
+               "-6" = {
+                       set_if = "$ntp_ipv6$"
+                       description = "Use IPv6 connection"
+               }
        }
 
        vars.ntp_address = "$check_address$"
+       vars.check_ipv4 = "$ntp_ipv4$"
+       vars.check_ipv6 = "$ntp_ipv6$"
 }
 
 object CheckCommand "ssh" {
@@ -697,9 +907,19 @@ object CheckCommand "ssh" {
                        skip_key = true
                        order = 1
                }
+               "-4" = {
+                       set_if = "$ssh_ipv4$"
+                       description = "Use IPv4 connection"
+               }
+               "-6" = {
+                       set_if = "$ssh_ipv6$"
+                       description = "Use IPv6 connection"
+               }
        }
 
        vars.ssh_address = "$check_address$"
+       vars.check_ipv4 = "$ssh_ipv4$"
+       vars.check_ipv6 = "$ssh_ipv6$"
 }
 
 object CheckCommand "disk" {
@@ -1300,9 +1520,19 @@ object CheckCommand "dig" {
                "-w" = "$dig_warning$"
                "-c" = "$dig_critical$"
                "-t" = "$dig_timeout$"
+               "-4" = {
+                       set_if = "$dig_ipv4$"
+                       description = "Force dig to only use IPv4 query transport"
+               }
+               "-6" = {
+                       set_if = "$dig_ipv6$"
+                       description = "Force dig to only use IPv6 query transport"
+               }
        }
 
        vars.dig_server = "$check_address$"
+       vars.check_ipv4 = "$dig_ipv4$"
+       vars.check_ipv6 = "$dig_ipv6$"
 }
 
 object CheckCommand "nscp" {
@@ -1373,10 +1603,20 @@ object CheckCommand "by_ssh" {
                        value = "$by_ssh_options$"
                        description = "Provide ssh options (may be repeated)"
                }
+               "-4" = {
+                       set_if = "$by_ssh_ipv4$"
+                       description = "Use IPv4 only"
+               }
+               "-6" = {
+                       set_if = "$by_ssh_ipv6$"
+                       description = "Use IPv6 only"
+               }
        }
 
        vars.by_ssh_address = "$check_address$"
        vars.by_ssh_quiet = false
+       vars.check_ipv4 = "$by_ssh_ipv4$"
+       vars.check_ipv6 = "$by_ssh_ipv6$"
 }
 
 object CheckCommand "ups" {
@@ -1452,11 +1692,11 @@ object CheckCommand "nrpe" {
                }
                "-4" = {
                        set_if = "$nrpe_ipv4$"
-                       description = "Use IPv4 only"
+                       description = "Use IPv4 connection"
                }
                "-6" = {
                        set_if = "$nrpe_ipv6$"
-                       description = "Use IPv6 only"
+                       description = "Use IPv6 connection"
                }
        }
 
@@ -1672,12 +1912,22 @@ object CheckCommand "clamd" {
                        value = "$clamd_timeout$"
                        description = "Seconds before connection times out. Defaults to 10."
                }
+               "-4" = {
+                       set_if = "$clamd_ipv4$"
+                       description = "Use IPv4 only"
+               }
+               "-6" = {
+                       set_if = "$clamd_ipv6$"
+                       description = "Use IPv6 only"
+               }
        }
 
        vars.clamd_ssl = false
        vars.clamd_refuse = "crit"
        vars.clamd_mismatch = "warn"
        vars.clamd_timeout = 10
+       vars.check_ipv4 = "$clamd_ipv4$"
+       vars.check_ipv6 = "$clamd_ipv6$"
 }
 
 object CheckCommand "mailq" {