mirror of https://github.com/Icinga/icinga2.git
Plugin Check Commands: Extend check_procs and check_http arguments
fixes #7302 Signed-off-by: Michael Friedrich <michael.friedrich@gmail.com>
This commit is contained in:
parent
d04630f00b
commit
e0941027ea
1
AUTHORS
1
AUTHORS
|
@ -3,6 +3,7 @@ Alexander Wirt <formorer@debian.org>
|
||||||
Bernd Erk <bernd.erk@icinga.org>
|
Bernd Erk <bernd.erk@icinga.org>
|
||||||
Brian Dockter <specus@gmail.com>
|
Brian Dockter <specus@gmail.com>
|
||||||
Carlos Cesario <carloscesario@gmail.com>
|
Carlos Cesario <carloscesario@gmail.com>
|
||||||
|
Dirk Goetz <dirk.goetz@netways.de>
|
||||||
Dolf Schimmel <dolf@transip.nl>
|
Dolf Schimmel <dolf@transip.nl>
|
||||||
Gaël Beaudoin <gaboo@gaboo.org>
|
Gaël Beaudoin <gaboo@gaboo.org>
|
||||||
Gerd von Egidy <gerd@egidy.de>
|
Gerd von Egidy <gerd@egidy.de>
|
||||||
|
|
|
@ -2013,11 +2013,31 @@ http_port | **Optional.** The TCP port. Defaults to 80 when not u
|
||||||
http_ssl | **Optional.** Whether to use SSL. Defaults to false.
|
http_ssl | **Optional.** Whether to use SSL. Defaults to false.
|
||||||
http_sni | **Optional.** Whether to use SNI. Defaults to false.
|
http_sni | **Optional.** Whether to use SNI. Defaults to false.
|
||||||
http_auth_pair | **Optional.** Add 'username:password' authorization pair.
|
http_auth_pair | **Optional.** Add 'username:password' authorization pair.
|
||||||
|
http_proxy_auth_pair | **Optional.** Add 'username:password' authorization pair for proxy.
|
||||||
http_ignore_body | **Optional.** Don't download the body, just the headers.
|
http_ignore_body | **Optional.** Don't download the body, just the headers.
|
||||||
|
http_linespan | **Optional.** Allow regex to span newline.
|
||||||
http_expect_body_regex | **Optional.** A regular expression which the body must match against. Incompatible with http_ignore_body.
|
http_expect_body_regex | **Optional.** A regular expression which the body must match against. Incompatible with http_ignore_body.
|
||||||
|
http_expect_body_eregi | **Optional.** A case-insensitive expression which the body must match against. Incompatible with http_ignore_body.
|
||||||
|
http_invertregex | **Optional.** Changes behavior of http_expect_body_regex and http_expect_body_eregi to return CRITICAL if found, OK if not.
|
||||||
http_warn_time | **Optional.** The warning threshold.
|
http_warn_time | **Optional.** The warning threshold.
|
||||||
http_critical_time | **Optional.** The critical threshold.
|
http_critical_time | **Optional.** The critical threshold.
|
||||||
http_expect | **Optional.** Comma-delimited list of strings, at least one of them is expected in the first (status) line of the server response. Default: HTTP/1.
|
http_expect | **Optional.** Comma-delimited list of strings, at least one of them is expected in the first (status) line of the server response. Default: HTTP/1.
|
||||||
|
http_certificate | **Optional.** Minimum number of days a certificate has to be valid. Port defaults to 443.
|
||||||
|
http_clientcert | **Optional.** Name of file contains the client certificate (PEM format).
|
||||||
|
http_privatekey | **Optional.** Name of file contains the private key (PEM format).
|
||||||
|
http_headerstring | **Optional.** String to expect in the response headers.
|
||||||
|
http_string | **Optional.** String to expect in the content.
|
||||||
|
http_post | **Optional.** URL encoded http POST data.
|
||||||
|
http_method | **Optional.** Set http method (for example: HEAD, OPTIONS, TRACE, PUT, DELETE).
|
||||||
|
http_maxage | **Optional.** Warn if document is more than seconds old.
|
||||||
|
http_contenttype | **Optional.** Specify Content-Type header when POSTing.
|
||||||
|
http_useragent | **Optional.** String to be sent in http header as User Agent.
|
||||||
|
http_header | **Optional.** Any other tags to be sent in http header.
|
||||||
|
http_extendedperfdata | **Optional.** Print additional perfdata. Defaults to "false".
|
||||||
|
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.** Minim page size required:Maximum page size required.
|
||||||
|
http_timeout | **Optional.** Seconds before connection times out.
|
||||||
|
|
||||||
|
|
||||||
#### <a id="plugin-check-command-ftp"></a> ftp
|
#### <a id="plugin-check-command-ftp"></a> ftp
|
||||||
|
|
||||||
|
@ -2148,9 +2168,22 @@ Check command object for the `check_procs` plugin.
|
||||||
Custom Attributes:
|
Custom Attributes:
|
||||||
|
|
||||||
Name | Description
|
Name | Description
|
||||||
----------------|--------------
|
---------------------|--------------
|
||||||
procs_wgreater | **Optional.** The process count warning threshold. Defaults to 250.
|
procs_warning | **Optional.** The process count warning threshold. Defaults to 250.
|
||||||
procs_cgreater | **Optional.** The process count critical threshold. Defaults to 400.
|
procs_critical | **Optional.** The process count critical threshold. Defaults to 400.
|
||||||
|
procs_metric | **Optional.** Check thresholds against metric.
|
||||||
|
procs_timeout | **Optional.** Seconds before plugin times out.
|
||||||
|
procs_traditional | **Optional.** Filter own process the traditional way by PID instead of /proc/pid/exe. Defaults to "false".
|
||||||
|
procs_state | **Optional.** Only scan for processes that have one or more of the status flags you specify.
|
||||||
|
procs_ppid | **Optional.** Only scan for children of the parent process ID indicated.
|
||||||
|
procs_vsz | **Optional.** Only scan for processes with VSZ higher than indicated.
|
||||||
|
procs_rss | **Optional.** Only scan for processes with RSS higher than indicated.
|
||||||
|
procs_pcpu | **Optional.** Only scan for processes with PCPU higher than indicated.
|
||||||
|
procs_user | **Optional.** Only scan for processes with user name or ID indicated.
|
||||||
|
procs_argument | **Optional.** Only scan for processes with args that contain STRING.
|
||||||
|
procs_argument_regex | **Optional.** Only scan for processes with args that contain the regex STRING.
|
||||||
|
procs_command | **Optional.** Only scan for exact matches of COMMAND (without path).
|
||||||
|
procs_nokthreads | **Optional.** Only scan for non kernel threads. Defaults to "false".
|
||||||
|
|
||||||
#### <a id="plugin-check-command-swap"></a> swap
|
#### <a id="plugin-check-command-swap"></a> swap
|
||||||
|
|
||||||
|
|
|
@ -182,6 +182,18 @@ object CheckCommand "http" {
|
||||||
"--sni" = {
|
"--sni" = {
|
||||||
set_if = "$http_sni$"
|
set_if = "$http_sni$"
|
||||||
}
|
}
|
||||||
|
"-C" = {
|
||||||
|
value = "$http_certificate$"
|
||||||
|
description = "Minimum number of days a certificate has to be valid. Port defaults to 443."
|
||||||
|
}
|
||||||
|
"-J" = {
|
||||||
|
value = "$http_clientcert$"
|
||||||
|
description = "Name of file contains the client certificate (PEM format)"
|
||||||
|
}
|
||||||
|
"-K" = {
|
||||||
|
value = "$http_privatekey$"
|
||||||
|
description = "Name of file contains the private key (PEM format)"
|
||||||
|
}
|
||||||
"-a" = {
|
"-a" = {
|
||||||
value = "$http_auth_pair$"
|
value = "$http_auth_pair$"
|
||||||
description = "Username:password on sites with basic authentication"
|
description = "Username:password on sites with basic authentication"
|
||||||
|
@ -189,15 +201,87 @@ object CheckCommand "http" {
|
||||||
"--no-body" = {
|
"--no-body" = {
|
||||||
set_if = "$http_ignore_body$"
|
set_if = "$http_ignore_body$"
|
||||||
}
|
}
|
||||||
"-r" = "$http_expect_body_regex$"
|
|
||||||
"-w" = "$http_warn_time$"
|
"-w" = "$http_warn_time$"
|
||||||
"-c" = "$http_critical_time$"
|
"-c" = "$http_critical_time$"
|
||||||
"-e" = "$http_expect$"
|
"-e" = "$http_expect$"
|
||||||
|
"-d" = {
|
||||||
|
value = "$http_headerstring$"
|
||||||
|
description = "String to expect in the response headers"
|
||||||
|
}
|
||||||
|
"-s" = {
|
||||||
|
value = "$http_string$"
|
||||||
|
description = "String to expect in the content"
|
||||||
|
}
|
||||||
|
"-P" = {
|
||||||
|
value = "$http_post$"
|
||||||
|
description = "URL encoded http POST data"
|
||||||
|
}
|
||||||
|
"-j" = {
|
||||||
|
value = "$http_method$"
|
||||||
|
description = "Set http method (for example: HEAD, OPTIONS, TRACE, PUT, DELETE)"
|
||||||
|
}
|
||||||
|
"-M" = {
|
||||||
|
value = "$http_maxage$"
|
||||||
|
description = "Warn if document is more than seconds old"
|
||||||
|
}
|
||||||
|
"-T" = {
|
||||||
|
value = "$http_contenttype$"
|
||||||
|
description = "Specify Content-Type header when POSTing"
|
||||||
|
}
|
||||||
|
"-l" = {
|
||||||
|
setif = "$http_linespan$"
|
||||||
|
description = "Allow regex to span newline"
|
||||||
|
order = 1
|
||||||
|
}
|
||||||
|
"-r" = {
|
||||||
|
value = "$http_expect_body_regex$"
|
||||||
|
description = "Search page for regex"
|
||||||
|
order = 2
|
||||||
|
}
|
||||||
|
"-R" = {
|
||||||
|
value = "$http_expect_body_eregi$"
|
||||||
|
description = "Search page for case-insensitive regex"
|
||||||
|
order = 2
|
||||||
|
}
|
||||||
|
"--invert-regex" = {
|
||||||
|
set_if = "$http_invertregex$"
|
||||||
|
description = "Return CRITICAL if found, OK if not"
|
||||||
|
}
|
||||||
|
"-b" = {
|
||||||
|
value = "$http_proxy_auth_pair$"
|
||||||
|
description = "Username:password on proxy-servers with basic authentication"
|
||||||
|
}
|
||||||
|
"-A" = {
|
||||||
|
value = "$http_useragent$"
|
||||||
|
description = "String to be sent in http header as User Agent"
|
||||||
|
}
|
||||||
|
"-k" = {
|
||||||
|
value = "$http_header$"
|
||||||
|
description = "Any other tags to be sent in http header"
|
||||||
|
}
|
||||||
|
"-E" = {
|
||||||
|
set_if = "$http_extendedperfdata$"
|
||||||
|
description = "Print additional perfdata"
|
||||||
|
}
|
||||||
|
"-f" = {
|
||||||
|
value = "$http_onredirect$"
|
||||||
|
description = "How to handle redirect pages"
|
||||||
|
}
|
||||||
|
"-m" = {
|
||||||
|
value = "$http_pagesize$"
|
||||||
|
description = "Minim page size required:Maximum page size required"
|
||||||
|
}
|
||||||
|
"-t" = {
|
||||||
|
value = "$http_timeout$"
|
||||||
|
description = "Seconds before connection times out"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vars.http_address = "$address$"
|
vars.http_address = "$address$"
|
||||||
vars.http_ssl = false
|
vars.http_ssl = false
|
||||||
vars.http_sni = false
|
vars.http_sni = false
|
||||||
|
vars.http_linespan = false
|
||||||
|
vars.http_invertregex = false
|
||||||
}
|
}
|
||||||
|
|
||||||
object CheckCommand "ftp" {
|
object CheckCommand "ftp" {
|
||||||
|
@ -355,12 +439,72 @@ object CheckCommand "procs" {
|
||||||
command = [ PluginDir + "/check_procs" ]
|
command = [ PluginDir + "/check_procs" ]
|
||||||
|
|
||||||
arguments = {
|
arguments = {
|
||||||
"-w" = "$procs_wgreater$"
|
"-w" = {
|
||||||
"-c" = "$procs_cgreater$"
|
value = "$procs_warning$"
|
||||||
|
description = "Generate warning state if metric is outside this range"
|
||||||
|
}
|
||||||
|
"-c" = {
|
||||||
|
value = "$procs_critical$"
|
||||||
|
description = "Generate critical state if metric is outside this range"
|
||||||
|
}
|
||||||
|
"-m" = {
|
||||||
|
value = "$procs_metric$"
|
||||||
|
description = "Check thresholds against metric"
|
||||||
|
}
|
||||||
|
"-t" = {
|
||||||
|
value = "$procs_timeout$"
|
||||||
|
description = "Seconds before plugin times out"
|
||||||
|
}
|
||||||
|
"-T" = {
|
||||||
|
set_if = "$procs_traditional$"
|
||||||
|
description = "Filter own process the traditional way by PID instead of /proc/pid/exe"
|
||||||
|
}
|
||||||
|
"-s" = {
|
||||||
|
value = "$procs_state$"
|
||||||
|
description = "Only scan for processes that have one or more of the status flags you specify"
|
||||||
|
}
|
||||||
|
"-p" = {
|
||||||
|
value = "$procs_ppid$"
|
||||||
|
description = "Only scan for children of the parent process ID indicated"
|
||||||
|
}
|
||||||
|
"-z" = {
|
||||||
|
value = "$procs_vsz$"
|
||||||
|
description = "Only scan for processes with VSZ higher than indicated"
|
||||||
|
}
|
||||||
|
"-r" = {
|
||||||
|
value = "$procs_rss$"
|
||||||
|
description = "Only scan for processes with RSS higher than indicated"
|
||||||
|
}
|
||||||
|
"-P" = {
|
||||||
|
value = "$procs_pcpu$"
|
||||||
|
description = "Only scan for processes with PCPU higher than indicated"
|
||||||
|
}
|
||||||
|
"-u" = {
|
||||||
|
value = "$procs_user$"
|
||||||
|
description = "Only scan for processes with user name or ID indicated"
|
||||||
|
}
|
||||||
|
"-a" = {
|
||||||
|
value = "$procs_argument$"
|
||||||
|
description = "Only scan for processes with args that contain STRING"
|
||||||
|
}
|
||||||
|
"--ereg-argument-array" = {
|
||||||
|
value = "$procs_argument_regex$"
|
||||||
|
description = "Only scan for processes with args that contain the regex STRING"
|
||||||
|
}
|
||||||
|
"-C" = {
|
||||||
|
value = "$procs_command$"
|
||||||
|
description = "Only scan for exact matches of COMMAND (without path)"
|
||||||
|
}
|
||||||
|
"-k" = {
|
||||||
|
set_if = "$procs_nokthreads$"
|
||||||
|
description = "Only scan for non kernel threads"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vars.procs_wgreater = 250
|
vars.procs_traditional = false
|
||||||
vars.procs_cgreater = 400
|
vars.procs_nokthreads = false
|
||||||
|
vars.procs_warning = 250
|
||||||
|
vars.procs_critical = 400
|
||||||
}
|
}
|
||||||
|
|
||||||
object CheckCommand "swap" {
|
object CheckCommand "swap" {
|
||||||
|
|
Loading…
Reference in New Issue