Forum Discussion

ctyau_18464's avatar
ctyau_18464
Icon for Nimbostratus rankNimbostratus
Mar 31, 2010

Problem with receive string for HTTPS health monitor

I have a web server configured such that when I type "https://hostname/nesp/app/heartbeat" in a browser it displays "Success" when the server is supposed to be good.

 

 

I then created an HTTPS health monitor for the server on a F5 GTM v9.4.7 with a send string of

 

 

GET /nesp/app/heartbeat /HTTP1.1\n Host:\nConnection: Closed\n

 

 

and a blank receive string. The server turns green.

 

 

Then I add a receive string of "Success" and then the server turns red.

 

 

In the GTM it has a log entry:

 

 

Wed Mar 31 17:53:54 HKT 2010 GTM gtmd[2119] 011a5004 SNMP_TRAP: Server SERVER-NAME ip=192.168.201.22 state change green -- red Server SERVER-NAME: No enabled VS available

 

 

Then I remove the receive string and the server turns green and the F5 produce another log entry:

 

 

Wed Mar 31 18:13:54 HKT 2010 GTM gtmd[2119] 011a5003 SNMP_TRAP: Server SERVER-NAME ip=192.168.201.22 state change red -- green

 

 

I found little information about setting receive string in the configuration guide and no troubleshooting tool on the F5 GUI to check the receive string and not much information in the log entries. Do anyone have any guidance or hints for me?

 

3 Replies

  • Hi,

     

     

    Can you try this as a send string:

     

     

    GET /nesp/app/heartbeat /HTTP1.1\r\n Host:\r\nConnection: closed

     

     

    and a receive string of HTTP?

     

     

    If that marks the member(s) up, can you try a receive string of 200 Ok? If that doesn't work, you can check this page for some tips on troubleshooting monitors:

     

     

    http://devcentral.f5.com/Wiki/default.aspx/AdvDesignConfig/TroubleshootingLtmMonitors.html

     

     

    Aaron
  • Thank Aaron for the information.

     

     

    I followed the tips in the page he gave and turned on debug for bigd, but the /var/log/bigdlog did not show anything about the polling. My guess is that the health monitoring process for LTM could be different from GTM. But I cannot locate similar article for GTM.

     

     

    The receive string of "HTTP" marks the server up but the receive string of "200 OK" does not. Neither does "HTTP/1.1". tcpdump does not help as the HTTPS traffic is encrypted. curl gave a "200 OK" and the content contains the target phrase "Success". Unfortunately I have no way of knowing what actually is sent or received by the GTM.

     

     

  • Can you check the server logs? I'd guess you're getting a 500 server error or a 40x client error.

     

     

    If you can't check the logs for some reason, can you try a few variations on the send string while looking for "200 OK" in the send string:

     

     

    GET /nesp/app/heartbeat /HTTP1.1\r\n Host: \r\nConnection: closed

     

    GET /nesp/app/heartbeat /HTTP1.1\r\n Host: \r\nConnection: closed\r\n

     

    GET /nesp/app/heartbeat /HTTP1.1\r\n Host: \r\nConnection: closed\r\n\r\n

     

    GET /nesp/app/heartbeat /HTTP1.1\r\n Host: 192.168.201.22\r\nConnection: closed\r\n\r\n

     

    GET /nesp/app/heartbeat /HTTP1.1\r\n Host: www.example.com\r\nConnection: closed\r\n\r\n (where you replace www.example.com with the virtual host name

     

     

    Aaron