conf/monitors
The conf/monitors directory contains configuration files for backend node monitors. The name of a file is the name of the monitor it defines. Monitors can be configured under the Catalogs > Monitors section of the Admin Server UI or by using functions under the Catalog.Monitor section of the SOAP API and CLI.
Key | Description |
|---|---|
back_off | Should the monitor slowly increase the delay after it has failed? Value type: Yes / No Default value: "Yes" |
delay | The minimum time between calls to a monitor. Value type: seconds Default value: "3" |
failures | The number of times in a row that a node must fail execution of the monitor before it is classed as unavailable. Value type: unsigned integer Default value: "3" |
health_only | Should this monitor only report health (ignore load)? Value type: Yes / No Default value: "No" |
machine | The machine to monitor, where relevant this should be in the form <hostname>:<port>, for "ping" monitors the :<port> part must not be specified. Requires: scope is set to "poolwide" Value type: string Default value: <none> |
max_response_len | The maximum amount of data to read back from a server, use 0 for unlimited. Value type: bytes Default value: "2048" |
note | A description of the monitor. Value type: string Default value: <none> |
scope | A monitor can either monitor each node in the pool separately and disable an individual node if it fails, or it can monitor a specific machine and disable the entire pool if that machine fails. GLB location monitors must monitor a specific machine. Value type: enumeration Default value: "pernode" Permitted values: pernode: Node: Monitor each node in the pool separately poolwide: Pool/GLB: Monitor a specified machine |
timeout | The maximum runtime for an individual instance of the monitor. Value type: seconds Default value: "3" |
type | The internal monitor implementation of this monitor. Value type: enumeration Default value: "ping" Permitted values: ping: Ping monitor connect: TCP Connect monitor http: HTTP monitor tcp_transaction: TCP transaction monitor program: External program monitor sip: SIP monitor rtsp: RTSP monitor |
udp_accept_all | If this monitor uses UDP, should it accept responses from any IP and port? Value type: Yes / No Default value: "No" |
use_ssl | Whether or not the monitor should connect using SSL. Requires: can_use_ssl is set to "Yes" Value type: Yes / No Default value: "No" |
verbose | Whether or not the monitor should emit verbose logging. This is useful for diagnosing problems. Value type: Yes / No Default value: "No" |
Additional keys used when type is "http" | |
authentication | The HTTP basic-auth <user>:<password> to use for the test HTTP request. Requires: type is set to "http" Value type: string Default value: <none> |
body_regex | A regular expression that the HTTP response body must match. If the response body content doesn't matter then set this to .* (match anything). Requires: type is set to "http" Value type: string Default value: <none> |
host_header | The host header to use in the test HTTP request. Requires: type is set to "http" Value type: string Default value: <none> |
path | The path to use in the test HTTP request. This must be a string beginning with a / (forward slash). Requires: type is set to "http" Value type: string Default value: "/" |
status_regex | A regular expression that the HTTP status code must match. If the status code doesn't matter then set this to .* (match anything). Requires: type is set to "http" Value type: string Default value: "^[234][0-9][0-9]$" |
Additional keys used when type is "program" | |
arg!* | The arguments that will be passed to the program. For example, to specify the argument --foo=bar as part of the program's command-line you set the key arg!foo to the value bar. Requires: type is set to "program" Value type: string Default value: <none> |
describe!* | A description for the argument specified in place of the * character. For example, to describe the argument in the example for arg!* you could specify the description as the value for the key describe!foo. Requires: type is set to "program" Value type: string Default value: <none> |
program | The program to run. This must be an executable file, either within the conf/scripts directory or specified as an absolute path to some other location on the filesystem. Requires: type is set to "program" Value type: string Default value: <none> |
Additional keys used when type is "rtsp" | |
rtsp_body_regex | The regular expression that the RTSP response body must match. Requires: type is set to "rtsp" Value type: string Default value: <none> |
rtsp_path | The path to use in the RTSP request (some servers will return 500 Internal Server Error unless this is a valid media file). Requires: type is set to "rtsp" Value type: string Default value: "/" |
rtsp_status_regex | The regular expression that the RTSP response status code must match. Requires: type is set to "rtsp" Value type: string Default value: "^[234][0-9][0-9]$" |
Additional keys used when type is "sip" | |
sip_body_regex | The regular expression that the SIP response body must match. Requires: type is set to "sip" Value type: string Default value: <none> |
sip_status_regex | The regular expression that the SIP response status code must match. Requires: type is set to "sip" Value type: string Default value: "^[234][0-9][0-9]$" |
sip_transport | Which transport protocol the SIP monitor will use to query the server. Requires: type is set to "sip" Value type: enumeration Default value: "udp" Permitted values: udp: UDP tcp: TCP |
Additional keys used when type is "tcp_transaction" | |
close_string | An optional string to write to the server before closing the connection. Requires: type is set to "tcp_transaction" Value type: string Default value: <none> |
response_regex | A regular expression to match against the response from the server. Requires: type is set to "tcp_transaction" Value type: string Default value: ".+" |
write_string | The string to write down the TCP connection. Requires: type is set to "tcp_transaction" Value type: string Default value: <none> |
