Are you using a receive string in either monitor? If not, you're basically performing a check to see if the server completes a three way TCP handshake. I'd suggest using an HTTP 1.1 formatted request for both the HTTP and HTTPS monitors and configure a receive string to ensure the pool member is responding. Here are examples for the send/receive strings:
send:
GET /index.jsp HTTP/1.1\r\nHost: \r\nConnection: Close\r\n
receive:
200 OK
If you still see the monitor marking down pool members you can use tcpdump to check the communication between LTM and the pool members:
tcpdump -ni 0.0 -s0 -w/var/tmp/monitor.dmp "host LTM_STATIC_SELF_IP and (host SERVER1 or host SERVER2)"
Replace LTM_STATIC_SELF_IP with the non-floating (static) self IP address on the server VLAN. Replace SERVER1 and SERVER2 with the pool member IP addresses.
You can use WinSCP to copy the tcpdump file from LTM to a workstation and then Wireshark to analyze the tcpdump. You can check SOL411 (
Click here) and SOL1893 (
Click here) for details on analyzing a tcpdump.
You can also enable debug on the monitoring daemon, bigd, by running 'b db bigd.debug enable' from the command line. The output is logged to /var/log/bigdlog. Make sure to disable debug when you're done by running 'b db bigd.debug enable'.
Aaron