Forum Discussion

ecuthbertgo2_25's avatar
ecuthbertgo2_25
Icon for Nimbostratus rankNimbostratus
Mar 17, 2011

External timeout :(

Actual configuration:

 

BIG-IP 9.4.6

 

 

virtual test.example.com_https_1455 {

 

snat automap

 

pool test.example.com_https_1455

 

destination 192.168.1.1:1455

 

ip protocol tcp

 

profiles

 

test-http

 

test-tcp

 

serverssl

 

clientssl-test.example.com

 

persist hash_cookie

 

}

 

pool test.example.com_https_1455 {

 

action on svcdown reselect

 

members

 

192.168.1.100:1455

 

192.168.1.200:1455

 

monitor all monitor_https_service

 

}

 

 

monitor monitor_https_service {

 

defaults from HTTPS

 

timeout 5

 

}

 

Additionally, in above monitor there are configured

 

* Send String is: HEAD /healthCheck/status \r\n

 

* Receive String is: HTTP/1.1 200 OK

 

 

 

Interval and Timeouts are using same value; 5 secs.

 

Requirement is check pool members and if a member sends a non HTTP 200 or takes longer than 5 secs in response, traffic should be redirected to other node.

 

Above configuration is working fine but I GOT A PROBLEM!!!

 

Even taking 5 seconds in monitor timeout options, I change in /healthCheck/status configuration to take 10 secs in response. Once I did this default 5 secs configuration doesn´t work. Because traffic should be redirected to other pool or after 5 seconds(because response is taking longer thatn 5 seconds) or if receive a 404 error page(that means non HTTP 200).

 

Can someone help me?

 

Thank you.

 

  • It really sounds to me like you could use the base healthcheck (normal HTTPS).

     

     

    Health Check Settings for Recieve String:

     

    Displays the regular expression representing the text string that the monitor looks for in the returned resource. The most common receive expressions contain a text string that is included in an HTML file on your site. The text string can be regular text, HTML tags, or image names, and the associated operation is not case-sensitive.

     

     

    Note: If you do not specify both a Send String and a Receive String, the monitor performs a simple service check and connect only.

     

     

    Try removing your custom health check and using the default. Normally the send and recieve strings are only used when you are attempting to do some specific check (Example: Creating a test.html file on the system that will return "Healthy" when a get is performed against it. This would allow the systems personnel to change the file to say something other than healthy...and have the BigIP Automatically mark the server as down so that they could deploy we code or do maintenance on the server).

     

     

  • Hello Michael.

     

    What I'm trying to do is reproduce a latency problem. I mean, when the monitor takes longer than 5 seconds, this content server should be marked as down and traffic would be redirected to the other one.

     

    Another problme is, if monitor receive a non HTTP 200, for example HTTP 404, traffic shoul be redirected to other pool member.

     

    Should I use an iRule for all the above requeriments?

     

  • You can set the receive string on a monitor to a 200 to ensure the pool member is marked down. By default, the monitor is set to check every 5 seconds and mark the member down if a successful response isn't received within 16 seconds. This allows for three attempts. You could lower these thresholds, but then you open yourself to inadvertently marking the pool member down and having the pool members flapping in and out of service.

     

     

    Aaron