Forum Discussion

Kalin_48909's avatar
Kalin_48909
Icon for Nimbostratus rankNimbostratus
Feb 15, 2012

Understanding Monitor Timeout Value

Documentation recommends setting a monitor timeout value as follows:

 

 

"Note: F5 recommends setting the timeout of custom monitors to three times the chosen interval time, plus one. This particular ratio ensures that more than one health check must fail in order for a pool member to be marked down. For example, with an interval of 5 seconds and a timeout of 16 seconds, the BIG-IP system must not receive any valid response from a pool member for 16 seconds before it can mark the pool member down. Because in 16 seconds the BIG-IP system will run four health checks against the pool member, all four health checks must fail for the pool member to be considered down. Ultimately, this configuration prevents the status of a pool member from flapping unnecessarily."

 

 

 

How does this work is a monitor that retrieves a response within the timeout value, but it doesn't match the required results? Would the member be marked down ASAP or would it wait until the timeout value has occurred?

 

 

 

Example:

 

Here is an example for a HTTP monitor that I'm trying to understand exactly what the behavior would be:

 

 

 

1) Get /health every 5 seconds and look for a http status code of 200

 

2) Time out is set to 16 seconds.

 

 

 

 

 

I understand that if a monitor probes doesn't receive any data back within 16 seconds (it will have tried 3 times within that timeout window) that it will be marked as down.

 

 

 

What I'm trying to figure out:

 

What about if the first request received a 4XX or 5XX? The monitor received data back (no timeout) but it doesn't match the required code. Therefore, would it mark the member down after 16 seconds (assuming all 3 checks within the timeout do the same) or would the member be marked down as soon as the first check returned a 4XX or 5XX?

 

 

 

Thanks!

 

 

  • Hi Kalin,

     

     

    I believe that any response which doesn't match the receive string (or a lack of response) will trigger a monitor failure. A single monitor failure will not result in the pool member being marked down. If there are no successes over the course of the monitor timeout period the pool member will be marked down. If you want more real time monitoring, you could look at adding an inband monitor as well. You can check AskF5 for details on inband monitors.

     

     

    Aaron
  • Thanks, Aaron!

     

     

    So another way to phrase the timeout is that the timeout value specifies how long something needs to "fail" for in-order for the member to be marked down.

     

     

     

    Fail = lack of response or quick response with an incorrect return value that doesn't meet the monitor condition