Applies To:

Show Versions Show Versions

Manual Chapter: Health and Performance Monitors
Manual Chapter
Table of Contents   |   << Previous Chapter   |   Next Chapter >>

11 
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:
Interval: 30 seconds
Timeout: 120 seconds
Probe Timeout: 5 seconds
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 or Transparent mode.
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.
Like http, each of the custom monitors has a Type setting based on the type of service it checks (for example, https, ftp, pop3), 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.
Name: my_http
Type: HTTP
Timeout: 120
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, and tcp 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 value [""]. 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 or hurl in place of Send String and Receive String statements, respectively.
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 or Reverse 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 through 10.10.10.101:80. (In other words, Global Traffic Manager routes the check of 10.10.10.53:80 through 10.10.10.101: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.
Table 11.1 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 command:
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.
Table of Contents   |   << Previous Chapter   |   Next Chapter >>

Was this resource helpful in solving your issue?




NOTE: Please do not provide personal information.



Incorrect answer. Please try again: Please enter the words to the right: Please enter the numbers you hear:

Additional Comments (optional)