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\nthough 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.
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, 2021
MVP
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, 2021
Nimbostratus
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, 2021
MVP
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.
- Bhavik_1402Apr 29, 2021
Nimbostratus
Thank you so much boneyard, this really helps.
just last thing , in what cases we need to put "200 OK" as i have seen in some monitors so just wondering. does it mean receive string contains 200 as well ?
- Bhavik_1402Apr 29, 2021
Nimbostratus
and for one the monitor the receive string mentioned as "HTTP/1.1 302" which is redirection but when i do curl then i see that it redirects but does not see any string similar to "ok" or something else.
how do i configure receive string to set as "302" so it marks up?
< HTTP/1.1 302
< Location: https://XXX.XXX.XXX/abc/xyz
< Content-Length: 0
- boneyardApr 29, 2021
MVP
well that usually is more focused on the first reponse line you see in the header
HTTP/1.1 200this often is
HTTP/1.1 200 OKand then the 200 OK makes sense, in your case there are several lines between the 200 and the ok (also lower case).
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)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
