Learn F5 Technologies, Get Answers & Share Community Solutions Join DevCentral

Filter by:
  • Solution
  • Technology

LTM HTTP Monitor Send and Receive syntax


I'm trying to configure a monitor that will check if a website is up on a Linux server. My Send string is GET /dms/loginForm.jpg HTTP/1.1\r\nHost:7270 \r\nConnection: close\r\n\r\n and if i leave the receive string blank it works and if I set the receive string to 200 OK it works, even though on of the sites is down. See below.

[Joseph.Johnson@US-MABILLDC-INTLTM-02:Active:Changes Pending] ~ # curl -vk

  • About to connect() to port 7270 (#0)
  • Trying connected
  • Connected to ( port 7270 (#0)

GET /dms/loginForm.jsp HTTP/1.1 User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 OpenSSL/1.0.1j zlib/1.2.3 libidn/0.6.5 Host: Accept: /

< HTTP/1.1 200 OK < Cache-Control: no-cache < Date: Thu, 10 Aug 2017 20:00:03 GMT < Pragma: no-cache < Content-Length: 2824 < Content-Type: text/html; charset=UTF-8 < Expires: Thu, 01 Jan 1970 00:00:00 GMT < X-ORACLE-DMS-ECID: dc812bacc6eaa1df:-521687cc:15dcd4a6325:-8000-0000000000000163 < Set-Cookie: JSESSIONID=zarNu3_3TyGdblWUPx-DjF7ACO-t3xgVoiK9zVVT3zGdcvNJXN1U!-1852036927; path=/; HttpOnly

[Joseph.Johnson@US-MABILLDC-INTLTM-02:Active:Changes Pending] ~ # curl -vk * About to connect() to port 7270 (#0) * Trying Connection refused * couldn't connect to host * Closing connection #0 curl: (7) couldn't connect to host

Why is it that even with no connection made, the monitor is still marking the pool member as up when i set the receive string to 200 OK and is there anything i should change with it?

Thanks in advance!

Rate this Question
Comments on this Question
Comment made 10-Aug-2017 by Chris Grant

If you run a tcpdump on the HTTP monitor instead of manually curling, do you get the same results? Remember that monitors run on the nonfloating self IP.

Comment made 11-Aug-2017 by Joseph.Johnson 154

Thanks, that helped out, I saw that the reason I was getting down monitor with 200 OK was because the send string was incorrect and it was sending back 400 error. The pool members use port 8069, is there anyway I can check for a page on a different port on the server to monitor, 7270. For example, the pool members use port 8069 but i want the monitor to be something similar to GET /dms/loginForm.jpg HTTP/1.1\r\nHost:7270? \r\nConnection: close\r\n\r\n.

Comment made 11-Aug-2017 by Ed Summers 1096

Use the Alias Service Port (GUI) or Destination (TMSH) option on the monitor configuration. If set to * the monitor will use the port configured for the pool member. If set explicitly, the monitor will use the port you configure.

The port doesn't go into the Host header. That header is typically used to specify the hostname that the request is destined for (www.example.com, etc.). It's a required header in HTTP/1.1 requests, but can be blank unless the server requires that a value be set (example: multiple sites running on the same port).


Answers to this Question



To check monitor send string, you can follow this snippet!

Comments on this Answer
Comment made 11-Aug-2017 by Stanislas Piron 8056

And the host value in the monitor send string must be the host as leave the big ip on server side of user request, not the node IP address.