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.
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.
- Bhavik_1402Apr 29, 2021Nimbostratus
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, 2021Nimbostratus
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, 2021MVP
well that usually is more focused on the first reponse line you see in the header
HTTP/1.1 200
this often is
HTTP/1.1 200 OK
and then the 200 OK makes sense, in your case there are several lines between the 200 and the ok (also lower case).
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