An important feature of Global Traffic Manager is a set of load balancing
tools called monitors. Monitors
verify connections on pools and virtual servers. A monitor can be either a health monitor or a performance monitor. Monitors are designed to check the status of a pool or virtual server on an ongoing basis, at a set interval. If a pool or virtual server being checked does not respond within a specified timeout period, or the status of a pool or virtual server indicates that performance is degraded, then Global Traffic Manager can redirect the traffic to another resource.
Some monitors are included as part of Global Traffic Manager, while other
monitors are user-created. Monitors that Global Traffic Manager provides are called pre-configured monitors
. User-created monitors are called custom monitors
Before configuring and using monitors, it is helpful to understand some
basic concepts regarding monitor types, monitor settings, and monitor implementation.
| || |Monitor types
Every monitor, whether pre-configured or custom, belongs to a certain category, or monitor type. Each monitor type checks the status of a particular protocol, service, or application. For example, an HTTP monitor allows you to monitor the availability of the HTTP service on a pool member (that is a virtual server).
| || |Monitor settings
Every monitor consists of settings with values. The settings and their values differ depending on the type of monitor. In some cases, Global Traffic Manager assigns default values. For example, the following are the default values for the HTTP monitor:
These settings specify that an HTTP monitor is configured to check the
status of an IP address every 30 seconds, to time out after 120 seconds, to timeout the probe request every 5 seconds, and specifies that the monitor does not operate in either Reverse
| || |Monitor implementation
The task of implementing a monitor varies depending on whether you are using a pre-configured monitor or creating a custom monitor. If you want to implement a pre-configured monitor, you need only associate the monitor with a pool or virtual server. If you want to implement a custom monitor, you must first create the custom monitor, and then associate it with a pool or virtual server.
Global Traffic Manager includes many different types of monitors, each
designed to perform a specific type of monitoring. The monitors belong to one of three categories: simple, extended content verification (ECV), and extended application verification (EAV).
| || |Simple monitors
check the health of a resource by sending a packet using the specified protocol, and waiting for a response from the resource. If the monitor receives a response, then the health check is successful and the resource is considered up
| || |ECV monitors
check the health of a resource by sending a query for content using the specified protocol, and waiting to receive the content from the resource. If the monitor receives the correct content, then the health check is successful and the resource is considered up
| || |EAV monitors
check the health of a resource by accessing the specified application. If the monitor receives the correct response, then the health check is successful and the resource is considered up
When you want to monitor the health or performance of pool members or
virtual servers, you can either use a pre-configured monitor, or create and configure a custom monitor.
For a subset of monitor types, Global Traffic Manager includes a set of
pre-configured monitors. A pre-configured monitor
is an existing monitor with default settings already configured. You use a pre-configured monitor when the default values of the settings meet your needs.
An example of a pre-configured monitor is the http
monitor. If the default values of this monitor meet your needs, you simply assign the http
pre-configured monitor directly to a pool or virtual server. In this case, you do not need to use the Monitors screens, unless you simply want to view the default settings of the pre-configured monitor.
A custom monitor
is a monitor that you create based on one of the allowed monitor types.
, each of the custom monitors has a Type
setting based on the type of service it checks (for example, https
, and takes that type as its name. (Exceptions are port-specific monitors, like the external
monitor, which calls a user-supplied program.)
If a pre-configured monitor exists that corresponds to the type of custom
monitor you are creating, you can import the settings and values of that pre-configured monitor into the custom monitor. For example, if you create a custom monitor called my_http
, the monitor can inherit the settings and values of the pre-configured monitor http
. This ability to import existing setting values is useful when you want to retain some setting values for your new monitor, but modify others.
The following list shows an example of a custom HTTP monitor called my_http
, which is based on the pre-configured monitor http
. Note that the value of the Interval
setting has been changed from the default value of 30
to a new value of 60
. The other settings retain the values defined in the pre-configured monitor.
You can import settings from another custom monitor instead of from a
pre-configured monitor. This is useful when you want to use the setting values defined in another custom monitor, or when no pre-configured monitor exists for the type of monitor you are creating. For example, if you create a custom monitor called my_oracle_server2
, you can import settings from an existing Oracle®
monitor such as my_oracle_server1
. In this case, because Global Traffic Manager does not provide a pre-configured Oracle®
monitor, a custom monitor is the only kind of monitor from which you can import setting values.
If no pre-configured or custom monitor exists that corresponds to the type of
monitor you are creating, Global Traffic Manager imports settings from a monitor template. A monitor template
is an abstraction that exists within Global Traffic Manager for each monitor type and contains a group of settings and default values. A monitor template serves as a tool for Global Traffic Manager to use for importing settings to a custom monitor when no monitor of that type already exists.
Every pre-configured or custom monitor has settings with some default
values assigned. The following sections contain information that is useful when changing these default values.
By default, the value for the Alias Address
setting for most monitors is set to the wildcard * Addresses
, and the Alias Service Port
setting is set to the wildcard * Ports
(exceptions to this rule are the WMI and Real Server monitors). This value causes the monitor instance created for a pool or virtual server to take that resources address or address and port as its destination. You can, however, replace either or both wildcard symbols with an explicit destination
value, by creating a custom monitor. An explicit value for the Alias Address and/or Alias Service Port
setting is used to force the instance destination to a specific address and/or port which may not be that of the pool or virtual server.
The ECV monitors http, https,
have the settings Send String
and Receive String
for the send string and receive expression, respectively.
The most common Send String
value is GET /
, which retrieves a default HTML page for a web site. To retrieve a specific page from a web site, you can enter a Send String
value that is a fully qualified path name:
The Receive String
expression is the text string the monitor looks for in the returned resource. The most common Receive String
expressions contain a text string that is included in a particular HTML page on your site. The text string can be regular text, HTML tags, or image names.
The sample Receive
expression below searches for a standard HTML tag:
You can also use the default null Receive String
. In this case, any content retrieved is considered a match. If both the Send String
and Receive String
are left empty, only a simple connection check is performed.
For HTTP monitors, you can use the special settings get
in place of Send String
and Receive String
The normal and default behavior for a monitor is to ping the destination pool
or virtual server by an unspecified route, and to mark the resource up
if the test is successful. However, with certain monitor types, you can specify a route through which the monitor pings the destination server. You configure this by specifying the Transparent
setting within a custom monitor.
| || |Transparent setting
Sometimes it is necessary to ping the aliased destination through a transparent pool or virtual server. When you create a custom monitor and set the Transparent
setting to Yes
, Global Traffic Manager forces the monitor to ping through
the pool or virtual server with which it is associated (usually a firewall) to the pool or virtual server. (In other words, if there are two firewalls in a load balancing pool, the destination pool or virtual server is always pinged through the pool or virtual server specified and not through the pool or virtual server selected by the load balancing method.) In this way, the transparent pool or virtual server is tested: if there is no response, the transparent pool or virtual server is marked as down
Common examples are checking a router, or checking a mail or FTP
server through a firewall. For example, you might want to check the router address 10.10.10.53:80
through a transparent firewall 10.10.10.101:80
. To do this, you create a monitor called http_trans
in which you specify 10.10.10.53:80
as the monitor destination address, and set the Transparent
setting to Yes
. Then you associate the monitor http_trans
with the transparent firewall (10.10.10.101:80
This causes the monitor to check the address 10.10.10 53:80
. (In other words, Global Traffic Manager routes the check of 10.10.10.53:80
.) If the correct response is not received from 10.10.10.53:80
, then 10.10.10.101:80
is marked down
| || |Reverse setting
In most monitor settings, Global Traffic Manager considers the resource available when the monitor successfully probes it. However, in some cases you may want the resource to be considered unavailable after a successful monitor test. You accomplish this configuration with the Reverse
setting. With the Reverse
setting set to Yes
, the monitor marks the pool or virtual server down
when the test is successful. For example, if the content on your web site home page is dynamic and changes frequently, you may want to set up a reverse ECV service check that looks for the string: Error
. A match for this string means that the web server was down
shows the monitors that contain the Transparent
setting, the Reverse
setting, or both.
If all iQuery®
connections between a Global Traffic Manager system and a BIG-IP system are lost, by default Global Traffic Manager marks all of the virtual servers on the BIG-IP system as down
. However, you can configure the Global Traffic Manager system so that even when all iQuery connections from Global Traffic Manager to the BIG-IP system are lost, Global Traffic Manager marks the virtual servers as down
only when the monitors associated with the virtual servers time out.
To do this, you change the value of the virtuals-depend-on-server-state
option to no
. Note that even after you set this option to no
, as long as the iQuery connections between Global Traffic Manager and the BIG-IP system are still connected, when Global Traffic Manager receives a down
response for a virtual server from the BIG-IP system, it immediately marks that virtual server down
The default value of the virtuals-depend-on-server-state
option is yes
. To change the value to no
, use the following tmsh
For information about the command syntax you use to change this variable,
see the gtm settings
component in the Traffic Management Shell (tmsh) Reference Guide
After you create a monitor and configure its settings, the final task is to
associate the monitor with the resources to be monitored. The resources that can be monitored are nodes, servers, pools, pool members, and links.
When you associate a monitor with a resource, Global Traffic Manager
automatically creates an instance
of that monitor for that resource. Therefore, you can have multiple instances of the same monitor.
The Configuration utility allows you to disable an instance of a monitor that
is running on a server. This allows you to suspend health or performance checking, without having to actually remove the monitor association. When you are ready to begin monitoring that server again, you simply re-enable that instance of the monitor.
Some monitor types are designed for association only with nodes (IP
address), while other monitor types are intended for association only with pools and virtual servers (IP address and service port). Therefore, when you use the Configuration utility to associate a monitor with a pool or virtual server, the utility displays only those pre-configured monitors that are designed for association with that object type.
| || |Monitor-to-pool association
Links a monitor with an entire load balancing pool. In this case, the monitor checks all members of the pool.
For example, you can create an instance of the monitor http
for the pool my_pool
, thus ensuring that all members of that pool are checked.
| || |Monitor-to-pool member association
Links a monitor with a pool member within a given pool. For example, you can create an instance of the monitor FTP for specific pools within the pool my_pool
, ensuring that only specific pool members are verified as available through the FTP monitor.
| || |Monitor-to-virtual server association
Links a monitor with a specific virtual server. In this case, the monitor checks only the virtual server itself, and not any services running on that virtual server. For example, you can create an instance of the monitor http
for virtual server 10.10.10.10