Monitor (object)

Declares a (possibly complex) monitor

Properties (* = required):

name type(s) default allowed values description
/*/        
class* string   “Monitor”  
interval integer 5 0 - 3600 Poll interval (seconds)
label string   “^[^x00-x1fx22#&*<>?x5b-x5d`x7f]*$” Optional friendly name for this object. Allows 0-64 chars, excluding a few likely to cause trouble with string searching, JS, TCL, or HTML
monitorType* string   “dns”, “external”, “ftp”, “http”, “https”, “http2”, “icmp”, “ldap”, “mysql”, “postgresql”, “radius”, “sip”, “smtp”, “tcp”, “tcp-half-open”, “udp” You may customize each monitor type
remark string   “^[^x00-x1fx22x5cx7f]*$” Arbitrary (brief) text pertaining to this object. Allows 0-64 chars, excluding only control characters, double-quote, and backslash. This is permissive enough that you should worry about XSS attacks
targetAddress string “” “f5ip” formatted string IP address monitor should probe; if empty (default) then pool member address
timeout integer 16 0 - 900 Time limit for node to respond (seconds)
timeUntilUp integer 0 0 - 1800 Delay between successful probe and sending traffic to node (seconds)
upInterval integer 0 0 - 3600 Poll interval when service is already up (seconds)

Monitor_DNS (object)

Additional Monitor class properties available when monitorType = dns Additional Monitor class properties available when monitorType = http, https, tcp, udp, or icmp

Properties (* = required):

name type(s) default allowed values description
/*/        
acceptRCODE string “no-error” “anything”, “no-error” Specifies the RCODE required in the response for an up status
adaptive boolean false true, false If true, use adaptive probe timing
adaptiveDivergenceMilliseconds integer 500 1 - 10000 Probe fails if response latency exceeds mean by this number of milliseconds
adaptiveDivergencePercentage integer 100 1 - 500 Probe fails if response latency exceeds mean by this percentage
adaptiveDivergenceType string “relative” “absolute”, “relative” Adaptive divergence, ‘absolute’ selects milliseconds, ‘relative’ (default) selects percentage
adaptiveLimitMilliseconds integer 1000 1 - 10000 Probe fails if response latency exceeds this number of milliseconds
adaptiveWindow integer 180 60 - 1800 Time window over which the system samples latency (seconds)
answerContains string “query-type” “any-type”, “anything”, “query-type” Specifies the type of DNS query that the monitor sends
queryName* string     Specifies a query name for the monitor to use in a DNS query
queryType string “a” “a”, “aaaa” Specifies the type of DNS query that the monitor sends.
receive string     IP address that the monitor uses from the resource records sections of the DNS response
reverse boolean false true, false If true, mark node down upon receipt of ‘receive’ string
transparent boolean false true, false If true, treat pool member address as gateway to server (node) (default false)

Monitor_External (object)

Additional Monitor class properties available when monitorType = external

Properties (* = required):

name type(s) default allowed values description
/*/        
arguments string “”   Arguments to specified external monitor (will be backquote-expanded)
environmentVariables object {}   Specifies user defined command line parameters that the external program requires.
expand boolean true true, false If true (default), expand backquoted variables in script
pathname string     Tmsh object path name of an imported existing external monitor (e.g. /Common/arg_example)
script       Bash(1) script which implements external monitor,String value optionally in base64 or from URL or AS3 pointer

Monitor_External.environmentVariables (object)

Specifies user defined command line parameters that the external program requires.

Default: {}

Properties (* = required):

name type(s) default allowed values description
/*/ string      

Monitor_FTP (object)

Additional Monitor class properties available when monitorType = ftp

Properties (* = required):

name type(s) default allowed values description
/*/        
filename string     Specifies the full path and file name of the file that the system attempts to download. The health check is successful if the system can download the file.
mode string “passive” “passive”, “port” Specifies the data transfer process (DTP) mode. The default value is passive.
passphrase object     Passphrase if any for query authentication,A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL
username string     Username if any for query authentication

Monitor_FTP.passphrase (object)

Passphrase if any for query authentication A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL

Properties (* = required):

name type(s) default allowed values description
/*/        
allowReuse boolean   true, false If true, other declaration objects may reuse this value
reuseFrom string     AS3 pointer to another JWE cryptogram in this declaration to copy
url       URL from which secret should be fetched,Describes the URL to remote resource and optional parameters

Monitor_HTTP (object)

Additional Monitor class properties available when monitorType = http or https or http2 Additional Monitor class properties available when monitorType = http, https, tcp, udp, or icmp

Properties (* = required):

name type(s) default allowed values description
/*/        
adaptive boolean false true, false If true, use adaptive probe timing
adaptiveDivergenceMilliseconds integer 500 1 - 10000 Probe fails if response latency exceeds mean by this number of milliseconds
adaptiveDivergencePercentage integer 100 1 - 500 Probe fails if response latency exceeds mean by this percentage
adaptiveDivergenceType string “relative” “absolute”, “relative” Adaptive divergence, ‘absolute’ selects milliseconds, ‘relative’ (default) selects percentage
adaptiveLimitMilliseconds integer 1000 1 - 10000 Probe fails if response latency exceeds this number of milliseconds
adaptiveWindow integer 180 60 - 1800 Time window over which the system samples latency (seconds)
dscp integer 0 0 - 63 Value for IP DSCP (ex-TOS) field (default 0)
passphrase object     Passphrase if any for query authentication,A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL
receive string “HTTP/1.”   Mark node up upon receipt of this (backquote-expanded) string
receiveDown string “”   Mark node down upon receipt of this (backquote-expanded) string (optional; must be empty when ‘reverse’ is true)
reverse boolean false true, false If true, mark node down upon receipt of ‘receive’ string
send string “HEAD / HTTP/1.0rnrn”   Send this (backquote-expanded) string to query node
transparent boolean false true, false If true, treat pool member address as gateway to server (node) (default false)
username string     Username if any for query authentication

Monitor_HTTP.passphrase (object)

Passphrase if any for query authentication A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL

Properties (* = required):

name type(s) default allowed values description
/*/        
allowReuse boolean   true, false If true, other declaration objects may reuse this value
reuseFrom string     AS3 pointer to another JWE cryptogram in this declaration to copy
url       URL from which secret should be fetched,Describes the URL to remote resource and optional parameters

Monitor_HTTP2 (object)

Additional Monitor class properties available when monitorType = http2. Requires TMOS version 15.1 or newer. Additional Monitor class properties available when monitorType = http or https or http2 Additional Monitor class properties available when monitorType = http, https, tcp, udp, or icmp

Properties (* = required):

name type(s) default allowed values description
/*/        
adaptive boolean false true, false If true, use adaptive probe timing
adaptiveDivergenceMilliseconds integer 500 1 - 10000 Probe fails if response latency exceeds mean by this number of milliseconds
adaptiveDivergencePercentage integer 100 1 - 500 Probe fails if response latency exceeds mean by this percentage
adaptiveDivergenceType string “relative” “absolute”, “relative” Adaptive divergence, ‘absolute’ selects milliseconds, ‘relative’ (default) selects percentage
adaptiveLimitMilliseconds integer 1000 1 - 10000 Probe fails if response latency exceeds this number of milliseconds
adaptiveWindow integer 180 60 - 1800 Time window over which the system samples latency (seconds)
clientTLS object     AS3 pointer to client TLS Profile,Reference to a TLS Client
dscp integer 0 0 - 63 Value for IP DSCP (ex-TOS) field (default 0)
passphrase object     Passphrase if any for query authentication,A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL
receive string “HTTP/1.”   Mark node up upon receipt of this (backquote-expanded) string
receiveDown string “”   Mark node down upon receipt of this (backquote-expanded) string (optional; must be empty when ‘reverse’ is true)
reverse boolean false true, false If true, mark node down upon receipt of ‘receive’ string
send string “HEAD / HTTP/1.0rnrn”   Send this (backquote-expanded) string to query node
transparent boolean false true, false If true, treat pool member address as gateway to server (node) (default false)
username string     Username if any for query authentication

Monitor_HTTP2.clientTLS (object)

AS3 pointer to client TLS Profile Reference to a TLS Client

Properties (* = required):

name type(s) default allowed values description
bigip string   “f5bigip” formatted string Pathname of existing BIG-IP TLS Client
use string     AS3 pointer to TLS Client declaration

Monitor_HTTP2.passphrase (object)

Passphrase if any for query authentication A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL

Properties (* = required):

name type(s) default allowed values description
/*/        
allowReuse boolean   true, false If true, other declaration objects may reuse this value
reuseFrom string     AS3 pointer to another JWE cryptogram in this declaration to copy
url       URL from which secret should be fetched,Describes the URL to remote resource and optional parameters

Monitor_HTTPS (object)

Additional Monitor class properties available when monitorType = https Additional Monitor class properties available when monitorType = http or https or http2 Additional Monitor class properties available when monitorType = http, https, tcp, udp, or icmp

Properties (* = required):

name type(s) default allowed values description
/*/        
adaptive boolean false true, false If true, use adaptive probe timing
adaptiveDivergenceMilliseconds integer 500 1 - 10000 Probe fails if response latency exceeds mean by this number of milliseconds
adaptiveDivergencePercentage integer 100 1 - 500 Probe fails if response latency exceeds mean by this percentage
adaptiveDivergenceType string “relative” “absolute”, “relative” Adaptive divergence, ‘absolute’ selects milliseconds, ‘relative’ (default) selects percentage
adaptiveLimitMilliseconds integer 1000 1 - 10000 Probe fails if response latency exceeds this number of milliseconds
adaptiveWindow integer 180 60 - 1800 Time window over which the system samples latency (seconds)
ciphers string “DEFAULT”   Ciphersuite selection string
clientCertificate string     AS3 pointer to client Certificate declaration, for TLS authentication (optional)
clientTLS object     AS3 pointer to client TLS Profile,Reference to a TLS Client
dscp integer 0 0 - 63 Value for IP DSCP (ex-TOS) field (default 0)
passphrase object     Passphrase if any for query authentication,A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL
receive string “HTTP/1.”   Mark node up upon receipt of this (backquote-expanded) string
receiveDown string “”   Mark node down upon receipt of this (backquote-expanded) string (optional; must be empty when ‘reverse’ is true)
reverse boolean false true, false If true, mark node down upon receipt of ‘receive’ string
send string “HEAD / HTTP/1.0rnrn”   Send this (backquote-expanded) string to query node
transparent boolean false true, false If true, treat pool member address as gateway to server (node) (default false)
username string     Username if any for query authentication

Monitor_HTTPS.clientTLS (object)

AS3 pointer to client TLS Profile Reference to a TLS Client

Properties (* = required):

name type(s) default allowed values description
bigip string   “f5bigip” formatted string Pathname of existing BIG-IP TLS Client
use string     AS3 pointer to TLS Client declaration

Monitor_HTTPS.passphrase (object)

Passphrase if any for query authentication A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL

Properties (* = required):

name type(s) default allowed values description
/*/        
allowReuse boolean   true, false If true, other declaration objects may reuse this value
reuseFrom string     AS3 pointer to another JWE cryptogram in this declaration to copy
url       URL from which secret should be fetched,Describes the URL to remote resource and optional parameters

Monitor_ICMP (object)

Additional Monitor class properties available when monitorType = icmp Additional Monitor class properties available when monitorType = http, https, tcp, udp, or icmp

Properties (* = required):

name type(s) default allowed values description
/*/        
adaptive boolean false true, false If true, use adaptive probe timing
adaptiveDivergenceMilliseconds integer 500 1 - 10000 Probe fails if response latency exceeds mean by this number of milliseconds
adaptiveDivergencePercentage integer 100 1 - 500 Probe fails if response latency exceeds mean by this percentage
adaptiveDivergenceType string “relative” “absolute”, “relative” Adaptive divergence, ‘absolute’ selects milliseconds, ‘relative’ (default) selects percentage
adaptiveLimitMilliseconds integer 1000 1 - 10000 Probe fails if response latency exceeds this number of milliseconds
adaptiveWindow integer 180 60 - 1800 Time window over which the system samples latency (seconds)
transparent boolean false true, false If true, treat pool member address as gateway to server (node) (default false)

Monitor_LDAP (object)

Additional Monitor class properties available when monitorType = smtp

Properties (* = required):

name type(s) default allowed values description
/*/        
base string     Specifies the location in the LDAP tree from which the monitor starts the health check
chaseReferrals boolean true true, false Specifies, whether, upon receipt of an LDAP referral entry, the referral is followed
filter string     Specifies an LDAP key which the monitor searches
mandatoryAttributes boolean false true, false Specifies whether the target must include attributes in its response to be considered up
passphrase object     Passphrase if any for query authentication,A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL
security string “none” “none”, “ssl”, “tls” Specifies the secure protocol type for communications with the target
username string     Username if any for query authentication

Monitor_LDAP.passphrase (object)

Passphrase if any for query authentication A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL

Properties (* = required):

name type(s) default allowed values description
/*/        
allowReuse boolean   true, false If true, other declaration objects may reuse this value
reuseFrom string     AS3 pointer to another JWE cryptogram in this declaration to copy
url       URL from which secret should be fetched,Describes the URL to remote resource and optional parameters

Monitor_May_Adapt (object)

Additional Monitor class properties available when monitorType = http, https, tcp, udp, or icmp

Properties (* = required):

name type(s) default allowed values description
/*/        
adaptive boolean false true, false If true, use adaptive probe timing
adaptiveDivergenceMilliseconds integer 500 1 - 10000 Probe fails if response latency exceeds mean by this number of milliseconds
adaptiveDivergencePercentage integer 100 1 - 500 Probe fails if response latency exceeds mean by this percentage
adaptiveDivergenceType string “relative” “absolute”, “relative” Adaptive divergence, ‘absolute’ selects milliseconds, ‘relative’ (default) selects percentage
adaptiveLimitMilliseconds integer 1000 1 - 10000 Probe fails if response latency exceeds this number of milliseconds
adaptiveWindow integer 180 60 - 1800 Time window over which the system samples latency (seconds)

Monitor_MySQL (object)

Additional Monitor class properties available when monitorType = mysql

Properties (* = required):

name type(s) default allowed values description
/*/        
count integer 0 0 - 2147483647 Number of monitor probes after which the connection to the database will be terminated. Count value of zero indicates that the connection will never be terminated.
database string     The name of the database with which the monitor attempts to communicate.
passphrase object     Passphrase if any for query authentication,A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL
receive string     Mark node up upon receipt of this (backquote-expanded) string
receiveColumn integer   1 - 4096 Specifies the column in the database where the system expects the specified Receive String to be located. Specify this property only if you configure the Send and Receive properties.
receiveRow integer   1 - 65535 Specifies the row in the database where the system expects the specified Receive String to be located. Specify this property only if you configure the Send and Recieve properties.
send string     Send this (backquote-expanded) string to query node
username string     Username if any for query authentication

Monitor_MySQL.passphrase (object)

Passphrase if any for query authentication A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL

Properties (* = required):

name type(s) default allowed values description
/*/        
allowReuse boolean   true, false If true, other declaration objects may reuse this value
reuseFrom string     AS3 pointer to another JWE cryptogram in this declaration to copy
url       URL from which secret should be fetched,Describes the URL to remote resource and optional parameters

Monitor_PostgreSQL (object)

Additional Monitor class properties available when monitorType = postgresql

Properties (* = required):

name type(s) default allowed values description
/*/        
count integer 0 0 - 2147483647 Number of monitor probes after which the connection to the database will be terminated. Count value of zero indicates that the connection will never be terminated.
database string     The name of the database with which the monitor attempts to communicate.
passphrase object     Passphrase if any for query authentication,A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL
receive string     Mark node up upon receipt of this (backquote-expanded) string
receiveColumn integer   1 - 1600 Specifies the column in the database where the system expects the specified Receive String to be located. Specify this property only if you configure the Send and Receive properties.
receiveRow integer   1 - 4294967294 Specifies the row in the database where the system expects the specified Receive String to be located. Specify this property only if you configure the Send and Recieve properties.
send string     Send this (backquote-expanded) string to query node
username string     Username if any for query authentication

Monitor_PostgreSQL.passphrase (object)

Passphrase if any for query authentication A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL

Properties (* = required):

name type(s) default allowed values description
/*/        
allowReuse boolean   true, false If true, other declaration objects may reuse this value
reuseFrom string     AS3 pointer to another JWE cryptogram in this declaration to copy
url       URL from which secret should be fetched,Describes the URL to remote resource and optional parameters

Monitor_RADIUS (object)

Additional Monitor class properties available when monitorType = radius

Properties (* = required):

name type(s) default allowed values description
/*/        
nasIpAddress string   “f5ip” formatted string Specifies the networks access server’s IP address (NAS IP address) for a RADIUS monitor
passphrase object     Specifies the password, if the monitored target requires authentication,A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL
secret object     Specifies the secret the monitor needs to access the resource,A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL
username string     Specifies the user name, if the monitor target requires authentication

Monitor_RADIUS.passphrase (object)

Specifies the password, if the monitored target requires authentication A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL

Properties (* = required):

name type(s) default allowed values description
/*/        
allowReuse boolean   true, false If true, other declaration objects may reuse this value
reuseFrom string     AS3 pointer to another JWE cryptogram in this declaration to copy
url       URL from which secret should be fetched,Describes the URL to remote resource and optional parameters

Monitor_RADIUS.secret (object)

Specifies the secret the monitor needs to access the resource A value: (a) in a cryptogram in this object; (b) in a cryptogram elsewhere in this declaration; or (c) available from a URL

Properties (* = required):

name type(s) default allowed values description
/*/        
allowReuse boolean   true, false If true, other declaration objects may reuse this value
reuseFrom string     AS3 pointer to another JWE cryptogram in this declaration to copy
url       URL from which secret should be fetched,Describes the URL to remote resource and optional parameters

Monitor_SIP (object)

Additional Monitor class properties available when monitorType = sip

Properties (* = required):

name type(s) default allowed values description
/*/        
ciphers string “DEFAULT”   Ciphersuite selection string
clientCertificate string     AS3 pointer to client Certificate declaration, for TLS authentication (optional)
codesDown array     List of status codes meaning service is down (0 matches any code)
codesUp array     List of additional (to all 1/2/3xx) status codes meaning service is up (0 matches any code)
headers string “”   SIP headers to send in probes (if any)–separate by newlines (backquote-expanded)
protocol string “udp” “sips”, “tcp”, “tls”, “udp” SIP transport protocol
request string “”   SIP request to send in probes (default empty)

Monitor_SMTP (object)

Additional Monitor class properties available when monitorType = smtp

Properties (* = required):

name type(s) default allowed values description
/*/        
domain string “” “hostname” formatted string Mail domain to check, if any (backquote-expanded)

Monitor_TCP (object)

Additional Monitor class properties available when monitorType = tcp Additional Monitor class properties available when monitorType = http, https, tcp, udp, or icmp

Properties (* = required):

name type(s) default allowed values description
/*/        
adaptive boolean false true, false If true, use adaptive probe timing
adaptiveDivergenceMilliseconds integer 500 1 - 10000 Probe fails if response latency exceeds mean by this number of milliseconds
adaptiveDivergencePercentage integer 100 1 - 500 Probe fails if response latency exceeds mean by this percentage
adaptiveDivergenceType string “relative” “absolute”, “relative” Adaptive divergence, ‘absolute’ selects milliseconds, ‘relative’ (default) selects percentage
adaptiveLimitMilliseconds integer 1000 1 - 10000 Probe fails if response latency exceeds this number of milliseconds
adaptiveWindow integer 180 60 - 1800 Time window over which the system samples latency (seconds)
receive string “none”   Mark node up upon receipt of this (backquote-expanded) string
receiveDown string “”   Mark node down upon receipt of this (backquote-expanded) string (optional; must be empty when ‘reverse’ is true)
reverse boolean false true, false If true, mark node down upon receipt of ‘receive’ string
send string “none”   Send this (backquote-expanded) string to node
transparent boolean false true, false If true, treat pool member address as gateway to server (node) (default false)

Monitor_TCP_Half_Open (object)

Additional Monitor class properties available when monitorType = tcp-half-open

Properties (* = required):

name type(s) default allowed values description
/*/        
transparent boolean false true, false If true, treat pool member address as gateway to server (node) (default false)

Monitor_UDP (object)

Additional Monitor class properties available when monitorType = udp Additional Monitor class properties available when monitorType = http, https, tcp, udp, or icmp

Properties (* = required):

name type(s) default allowed values description
/*/        
adaptive boolean false true, false If true, use adaptive probe timing
adaptiveDivergenceMilliseconds integer 500 1 - 10000 Probe fails if response latency exceeds mean by this number of milliseconds
adaptiveDivergencePercentage integer 100 1 - 500 Probe fails if response latency exceeds mean by this percentage
adaptiveDivergenceType string “relative” “absolute”, “relative” Adaptive divergence, ‘absolute’ selects milliseconds, ‘relative’ (default) selects percentage
adaptiveLimitMilliseconds integer 1000 1 - 10000 Probe fails if response latency exceeds this number of milliseconds
adaptiveWindow integer 180 60 - 1800 Time window over which the system samples latency (seconds)
receive string “none”   Mark node up upon receipt of this (backquote-expanded) string
receiveDown string “”   Mark node down upon receipt of this (backquote-expanded) string (optional; must be empty when ‘reverse’ is true)
reverse boolean false true, false If true, mark node down upon receipt of ‘receive’ string
send string “default send string”   Send this (backquote-expanded) string to node
transparent boolean false true, false If true, treat pool member address as gateway to server (node) (default false)