Forum Discussion
HTTP Health Monitor in LTM
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_1402Apr 28, 2021Nimbostratus
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_1402Apr 28, 2021Nimbostratus
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?
- boneyardApr 29, 2021MVP
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
- Bhavik_1402Apr 29, 2021Nimbostratus
I removed the TLS and SSL outputs. Does it mean I should also add "HTTP/1.1 200 ok" in receive string or only "ok" just to make sure it detects the correct string to keep the pool member up.
> GET /Sample/healthchecksimple HTTP/1.1
> Host: X.X.X.X:8445
> User-Agent: curl/7.47.1
> Accept: */*
>
< HTTP/1.1 200
< Content-Length: 2
< Date: Thu, 29 Apr 2021 17:59:20 GMT
<
* Connection #0 to host x.x.x.x left intact
ok[F5]config #
- boneyardApr 29, 2021MVP
in this case just "ok" is fine.
just be careful that you don't take something which also occurs in the header like "on", which is a part of Content-Length.
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