Forum Discussion

Denis_Carniel_2's avatar
Denis_Carniel_2
Icon for Nimbostratus rankNimbostratus
Oct 17, 2006

Monitor with multiple retry

Hello,

 

 

I'm new to the iRule world (never had to configure a BIG IP system before), and I'm facing a problem with monitor of pool nodes.

 

 

For some reason (that I haven't figured yet), the basic http monitor think some web server is down (even though they're not), and with the next check it sees back up again and restores it in the pool. That wouldn't be a problem except that I've got server-side sessions.

 

I would like to setup the monitor so it only marks the server as down after three consecutive failures, but this doesn't seem to be feasible from the monitor configuration.

 

 

Is there a way to do such a thing using iRules ?

 

 

Thanks in advance for any help you can provide.

 

 

1 Reply

  • You should be able to configure a monitor to check the status of the nodes and only mark the node down if it doesn't get a successful response from the server over the span of the timeout period. This is standard functionality that monitors provide.

     

     

    It sounds like you may need to customize the monitor configuration to allow the BIG-IP to successfully check the status of the nodes.

     

     

    To determine what response the node sends try testing from the command line of the BIG-IP using curl or telnet. To send a request using curl try a request formatted like this:

     

     

    curl http://NODE_IP_ADDRESS:port/path/to/index.html

     

     

    curl with no flags will return the HTTP content. You can use the -I flag to just return the HTTP headers (including the HTTP response code). Verify using curl -I ... that the node responds to the request with an HTTP 200 OK response. Note that :port is only needed if your node is not running on port 80. /path/to/index.html can be replaced with the path to an actual object on the node.

     

     

    If the server performs header validation, you may need to use the host name in the request:

     

     

    curl -I http://HTTP_HOST:port/path/to/index.html

     

     

    You can then configure a custom HTTP monitor with the following send and receive string:

     

     

    send:

     

     

    GET / HTTP/1.1\r\nHost: HTTP_HOST:port\r\nConnection: close\r\n

     

     

    Receive:

     

     

    200 OK

     

     

    BIG-IP logs monitor activity to /var/log/ltm. So you can check

     

     

    Here is a related solutions from AskF5:

     

    Click here

     

     

    For details on monitor configuration options, check the Configuration Guide for your version:

     

    Click here

     

     

    If you run into any problems, Support should be able to help you further.

     

     

    Aaron