I need to monitor http servers with regular expressions in the http receive strings. If receive string exact match with "Healthy" word then F5 send the requests to the servers.
list ltm monitor http Healthy
send "GET / HTTP/1.1\r\nHost: 10.0.1.20\r\nConnection: Close\r\n\r\n"
Server up and running and regex is fine but pool members are down.
I need some help in this topic.
Thank You / Best Regards
You can use Healthy for one string. You don't need regular expression.
Node and pool have separate monitors?
Can you check the response returned from the default directory on the server via curl?
curl -kv "http://10.0.1.20"
If the receive string is not in first 5120 bytes, the pool member is marked down.
Using regular expressions in a health monitor receive string
Content length limits for HTTP and HTTPS health monitors
I have to use regex in receive string because, when service is not ready server is returning "Unhealty" string to the client. If i use just string in the receive string, LTM will see "healty" in the response, then pool member will be up.
Hi Again ,
I solve this problem with creating two monitor and assign them pool with "Availability Requirement At least 2 Health Monitor(s)".
Firs monitor condition is :
Receive String : Unhealth
Reverse : Yes
Second monitor condition is:
Receive String : Health
regex in iRules and monitors are slightly modified, and the \b might not be doing what you think it should. Details on monitor regex here. You can also see what is happening by logging the debug details of the monitor:
tmsh modify sys db bigd.debug value enable
Just make sure that you disable when you have what you need.