Citrix ADC

TCP-based application monitoring

The Citrix ADC appliance has two built-in monitors that monitor TCP-based applications: tcp-default and ping-default. When you create a service, the appropriate default monitor is bound to it automatically, so that the service can be used immediately if it is UP. The tcp-default monitor is bound to all TCP services. The ping-default monitor is bound to all non-TCP services.

You cannot delete or modify default monitors. When you bind any other monitor to a TCP service, the default monitor is unbound from the service. The following table lists the monitor types, and the parameters and monitoring processes associated with each type.

Monitor type Specific parameters Process
tcp Not applicable The Citrix ADC appliance establishes a 3-way handshake with the monitor destination, and then closes the connection. If the appliance observes TCP traffic to the destination, it does not send TCP monitoring requests. This occurs if LRTM is disabled. By default, LRTM is disabled on this monitor.
http httprequest [“HEAD /”] - HTTP request that is sent to the service. respcode [200] - A set of HTTP response codes are expected from the service. The Citrix ADC appliance establishes a 3-way handshake with the monitor destination. After the connection is established, the appliance sends HTTP requests, and then compares the response code with the configured set of response codes.
tcp-ecv send [””] - is the data that is sent to the service. The maximum permissible length of the string is 512 K bytes. recv [””] - expected response from the service. The maximum permissible length of the string is 128 K bytes. The Citrix ADC appliance establishes a 3-way handshake with the monitor destination. When the connection is established, the appliance uses the send parameter to send specific data to the service and expects a specific response through the receive parameter. Different servers send different sizes of segments. However, the pattern must be within 16 TCP segments.
http-ecv send [””] - HTTP data that is sent to the service; recv [””] - the expected HTTP response data from the service The Citrix ADC appliance establishes a 3-way handshake with the monitor destination. When the connection is established, the appliance uses the send parameter to send the HTTP data to the service and expects the HTTP response that the receive parameter specifies. (HTTP body part without including HTTP headers). Empty response data matches any response. Expected data may be anywhere in the first 24 K bytes of the HTTP body of the response.
ping Not Applicable The Citrix ADC appliance sends an ICMP echo request to the destination of the monitor and expects an ICMP echo response.

To configure built-in monitors for TCP-based applications, see Configuring Monitors in a Load Balancing Setup.

To configure TCP-based monitors by using CLI

Type the following command:

add lb monitor <monitorName> <type> -respCode <int[-int]> -httpRequest <string> -resptimeout <integer> [<units>] -retries <integer> -downTime <integer> [<units>] -action <action>

Example for TCP monitor type:

add lb monitor Exch2010-RPC-AddressBook TCP -LRTM ENABLED -interval 10 -resptimeout 5 -destPort 59601

Example for HTTP monitor type:

add lb monitor Mon_S4B_FE_2 HTTP -respCode 200 -httpRequest "GET /Autodiscover/XFrame/XFrame.html" -LRTM ENABLED -retries 10 -secure YES

Example for HTTP-ECV monitor type:

add lb monitor STM_EXC2016_SSLBridge_MON HTTP-ECV -send "GET /owa/healthcheck.htm" -recv "200 OK" -LRTM ENABLED -destPort 443 -secure YES

Example for PING monitor type:

add lb monitor lbmon-localhost-ping PING -LRTM DISABLED -destIP 127.0.0.1
TCP-based application monitoring