Can't see all the monitors
A node is an IP address whereas a pool member is an IP address and port (with an association to the pool name). Normally, you create a monitor for a pool member without an alias IP or port and the monitor inherits the pool member IP and port. A service level monitor without a hardcoded port can't be associated with a node as there isn't a way for the monitoring daemon to know what port to perform the check on. If you create a monitor with a hardcoded alias port, then you can apply it to a node (an IP address).
The short answer is that you generally want to associate service monitors with a pool. If you need to create dependencies between multiple ports or multiple IP:ports you can use the alias IP and/or port definitions on the monitor to do so.
Hope this is clear? If not, can you describe what you're trying to implement in more detail?
echo -e "GET /test/index.jsp /HTTP1.1\r\n Host:\r\nConnection: Close\r\n\r\n" | nc 18.104.22.168 80
Replace 22.214.171.124 80 with your server IP and port.
And then try this as your send string in the monitor configuration:
GET /test/index.jsp /HTTP1.1\r\n Host:\r\nConnection: Close
The monitoring daemon in 9.4 - 10.1 appends two CRLFs to the end of the send string, so you shouldn't include them. Note I've removed the d in closed.
Can you try this as a receive string:
echo -e "GET /test/index.jsp HTTP/1.1\r\n Host: \r\nConnection: Close\r\n\r\n" | nc 126.96.36.199 80
GET /test.test.jsp/ HTTP/1.1\r\nConnection: Close\r\nHost: \r\n\r\n
Now when I stop the app. The node seems down too.
What do you think?
Also, the receive string shouldn't have any \r\n's on the end as bigd appends two for you in 9.4.x.
for example curl always returned correct but not the nc cause of Host param it took long time for me to figure that out.