Forum Discussion

farache_28983's avatar
farache_28983
Icon for Nimbostratus rankNimbostratus
Jun 17, 2013

Application Health Check Monitoring - Possible?

I am facing this dilema,

 

Ideally, F5 monitors each request and any connect error, read timeout means that server is to be blacklisted and the test requests will be used to monitor when the server can be enabled.

 

 

The post request xml is as follows:

 

 

6/6/20136/7/2013396866880505

 

 

And post it to following:

 

 

 

The checkIn and checkout should be dates later than today and atleast 1 day apart.

 

 

You can look at the following url for the test request

 

 

 

Check for the http response code. Anything other than 200 means that server will remain blacklisted. This request will test not just the server is up but also it is able to make database connections etc.

 

Is this something possible? I know that with a custom HC I can send strings to the server and check for a response ( which is easy to do if I create a receive string matching to a regex ) but I am not sure about the post request..

 

4 Replies

  • F5 monitors each request and any connect error, read timeout means that server is to be blacklistedis inband monitor usable?

     

     

    inband

     

    http://support.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/ltm_configuration_guide_10_0_0/ltm_appendixa_monitor_types.html

     

     

    but I am not sure about the post request..post request is configurable.

     

     

    sol1033: Configuring an HTTP application health monitor to send a POST request

     

    http://support.f5.com/kb/en-us/solutions/public/1000/000/sol1033.html
  • Thanks Nitass.. good stuf as always...

    I think Inband will perfectly do, I just need to write the custom active monitor and use it with this passive monitor correct?

    Now for the custom monitor, the POST I have is in this format ( like XML)

    6/6/20136/7/2013396866880505 "

    DO i need to convert it to regex? writing this in regex to apear similar to the following is the challenge..

    To send an HTTP version 1.1 request, configure the Send string to appear similar to the following example:

    POST /MyApp.cgi HTTP/1.1\r\nHost: host.domain.com\r\nConnection: Close\r\n\r\nD1=asdf&D2=jklm

    thanks,
  • Now for the custom monitor, the POST I have is in this format ( like XML) it is POST data, isn't it?

    e.g. this is only send string. please make sure you configure receive string and verify if it works as expected.

    root@(ve11a)(cfg-sync Changes Pending)(Active)(/Common)(tmos) list ltm monitor http mypost
    ltm monitor http mypost {
        defaults-from http
        destination *:*
        interval 5
        send "POST /uritest/testGetAvail.html HTTP/1.1\\r\\nHost: \\r\\nConnection: Close\\r\\n\\r\\n6/6/20136/7/2013396866880505"
        time-until-up 0
        timeout 16
    }
    
    [root@ve11a:Active:Changes Pending] config  ssldump -Aed -nni 0.0 port 80
    New TCP connection 1: 200.200.200.11(55746) <-> 200.200.200.101(80)
    1371702151.4318 (0.0026)  C>S
    ---------------------------------------------------------------
    POST /uritest/testGetAvail.html HTTP/1.1
    Host:
    Connection: Close
    
    6/6/20136/7/2013396866880505---------------------------------------------------------------
    
    
  • I have several JBOSS platform based application servers configured in a pool that are continuosly logging the error below causing memory leak issues.

     

    BrowserVersionWarningService.defineBrowserUsed(BrowserVersionWarningService.java:389

     

    The vendor suggested the following health monitor which was applied as follows with no resolution:

     

    TCP/80

     

    Send String

     

    POST /wfc/XmlService HTTP/1.1\r\nContent-type: text/xml\r\nHost: servername\r\nContent-Length: 129\r\n\r\n \r\n\

     

    Response String

     

    Success

     

    i) On the pool replacing servername with the F5 VIP FQDN. ii) Individually per pool member where servername coincided with the server FQDN.

     

    The servers are marked online in both cases, but the java logs are still being continuously generated.

     

    Please help!