Forum Discussion
HTTP Health Monitor in LTM
Hi Folks,
We've following requirement to configure HTTP health monitor and this is what we need to implement.
Type Send Receive
HTTP GET /Sample/healthchecksimple HTTP/1.1 200|OK
HTTP GET /Sample123/servlet/fcs/ping HTTP/1.1 200|System Current Time
HTTP GET /sample456/test-alive HTTP/1.1 200|OK
HTTP GET /Sample789/manager?query=monitoring HTTP/1.1 302
HTTP GET /Sample459/monitoring/healthcheck HTTP/1.1 200|OK
HTTP GET /Sample324/servlet/fcs/ping HTTP/1.1 200|System Current Time
HTTP GET /Sample438/monitoring/healthcheck HTTP/1.1 200|OK
HTTP GET /healthcheck HTTP/1.1 200|OK
Would like to know if this is correct syntax for Send and Receive string or need to modify? we need to associate this to pool.
this knowledge article explain how to build send strings quite well: https://support.f5.com/csp/article/K2167
so you first send will end up something like this, where the Host part it optional
GET /Sample/healthchecksimple HTTP/1.1\r\nHost: host.domain.com\r\nConnection: Close\r\n\r\n
as for your receive what are trying to get exactly? HTTP/1.1 200 or OK ? specially those seem a bit odd, as they can easily cause a false up if OK is somewhere further.
- Bhavik_1402Nimbostratus
Thanks Boneyard,
I am not sure as we are still in build phase but as per the documentation it should be as below.
Receive String - HTTP/1.1 200|OK
Receive String - HTTP/1.1 200|System Current Time
is there any meaning of | between 200 and OK ?
- Bhavik_1402Nimbostratus
and for Send String
GET /Sample/healthchecksimple HTTP/1.1\r\nHost: \r\n\r\n
would be the correct syntax?
Receive String - which documentation did you use for that? the | means or, it is either 200 or OK. which you probably don't want. if you are just looking for HTTP return code 200 then HTTP/1.1 200 OK is fine. for the others it is more difficult to judge without actual output.
this comes mainly down to how your application responds, perform a regular request to it and check the response to see what a good match would be.
Send String - if you dont want to add the hostname then drop that whole part, so like this:
GET /Sample/healthchecksimple HTTP/1.1\r\nConnection: Close\r\n\r\n
though formally this isn't allowed for a HTTP/1.1 request. it also depends on the way your application is setup, it might require a hostname or wont respond correctly without one.
best is to test this with curl or such from a system to see what happens with the different variants.
- Bhavik_1402Nimbostratus
The documentation is provided by Application Vendor and I've tested as below. The Receive string is "ok".
do I need to mentioned in Receive string as "200 OK" or only "OK" ? is it case sensitive?
config # curl -k http://X.X.X.X:8445/Sample/healthchecksimple
Bad Request
This combination of host and port requires TLS.
config # curl -k https://X.X.X.X:8445/Sample/healthchecksimple
ok
--------------
I'm struggling to configure Send string. do i need to select HTTP or HTTP monitor?
I've tried few syntax but still failing.
GET /Sample/healthchecksimple HTTP/1.1\r\nHost: \r\n\r\n
GET /Sample/healthchecksimple HTTP/1.1\r\nHost: xyz.ab.com\r\n\r\n
GET /Sample/healthchecksimple HTTP/1.1\r\nHost: xyz.ab.com\r\nConnection: Close\r\n\r\n
is it mandatory to use xyz.ab.com after Host: for HTTP 1.1 ? any suggestions?
- Bhavik_1402Nimbostratus
The documentation is provided by Application Vendor and I've tested as below. The Receive string is "ok".
do I need to mentioned in Receive string as "200 OK" or only "OK" ? is it case sensitive?
config # curl -k http://X.X.X.X:8445/Sample/healthchecksimple
Bad Request
This combination of host and port requires TLS.
config # curl -k https://X.X.X.X:8445/Sample/healthchecksimple
ok
--------------
I'm struggling to configure Send string. do i need to select HTTP or HTTP monitor?
I've tried few syntax but still failing.
GET /Sample/healthchecksimple HTTP/1.1\r\nHost: \r\n\r\n
GET /Sample/healthchecksimple HTTP/1.1\r\nHost: xyz.ab.com\r\n\r\n
GET /Sample/healthchecksimple HTTP/1.1\r\nHost: xyz.ab.com\r\nConnection: Close\r\n\r\n
is it mandatory to use xyz.ab.com after Host: for HTTP 1.1 ? any suggestions?
please try with curl -v -k ...
that shows header information
if the content reply is ok, then your receive string is just that: ok
but be careful because is there is ok in the header it will also trigger
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com