Forum Discussion
Custom HTTPS health check Problem
This is my first attempt at creating a custom HTTPS health monitor on the LTM. Checked AskF5 and DevCentral for like problems, but didn't see anything for reference.
We do have a pool that is for an off-site hosted service. While the pool is functional with a default TCP health monitor, the service provider has provided a specific gateway monitor, and two individual server monitors to use. I've tried to create the custom monitor, but so far no luck getting it to work. The Get string does work, if I go directly to the gateway and servers. Here's the info [aliases of course]:
vs_ABCD_8000 pool_ABCD_8000 nodes a1234v567_server1, b1234v567_server2
The service provider gave us these for health monitors:
I tried using the first line as a pool health monitor, but didn't work. I deleted the pool monitor, and created an individual monitor per server. Still, no luck. That's about the limit of my self-taught experience. Any suggestions or methods would be appreciated.
JEffrey
2 Replies
- Michael_Yates
Nimbostratus
Hi Jeffrey,
The LTM monitor will add in the first portion of the monitor based using the "node" information (for the LTM a Node is an IP and Port combination).
Example:
ABCDgateway = 10.10.10.10:443
a1234v567_server1 = 20.20.20.20:8443
b1234v567_server2 = 30.30.30.30:8443
So the LTM will actually similarly test this monitor like this:
curl https://10.10.10.10:443/csp/public/ping?csp-client=100
curl https://20.20.20.20:8443/csp/public/ping?csp-client=100
curl https://30.30.30.30:8443/csp/public/ping?csp-client=100
The monitor you have are all basically the same so when creating your monitor you should be able to use something like this:
tmsh create ltm monitor https foo.monitor defaults-from https send "GET /csp/public/pingcsp-client=100\r\n\r\n" recv alive
NOTE: You will need to enter the correct response value in the Recieve String and replace "alive". I did this in TMSH for you to make it easier to create and take a look at, so after the monitor is created you can look in the Management Console to see what it did.
Hope this helps. Let us know if this puts you on the right track.
- StephanManthey
Nacreous
Hi Jeffrey,
as Michael already recommended you can try to use cURL from BIG-IP bash:
curl -k -v -H "Host: ABCDgateway.mygroup.local" https:///csp/public/ping?csp-client=100The "-k" ignores the server´s certificate, the "-v" provides verbose output including status code and headers, the "-H" inserts a header which should fit the vhost of the webserver and needs to be replaced by actual poolmember definitions.
Does it work?
You can also add "-I" to force a HEAD request instead of a GET. So only headers will be returned by the server.
Thanks, Stephan
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