Forum Discussion

insert12_38638's avatar
insert12_38638
Icon for Nimbostratus rankNimbostratus
May 14, 2016

HTTP Monitor

Hi, I am trying to configure an HTTP monitor with following send and receive string but this monitor mark my pool as down

 

Send string = GET /xyz.abc.dyx.ezt.co.uk/alive HTTP/1.1\r\n Receive= alive

 

Server return correct status code e.g if page directly access from server it returns following in header URL : http://xyz.abc.dyx.ezt.co.uk/alive Request Method: GET Status Code: 200 OK Remote address : X.X.X.X:80 ( IP address of VIP )

 

Respone : alive

 

I am not sure if my send string is correct ? I m using 11.6.0

 

Regards

 

2 Replies

  • If you use HTTP/1.1 in your GET method, the receiving server also expects a Host header. So try something like:

     

    GET /xyz.abc.dyx.ezt.co.uk/alive HTTP/1.1\r\nHost: host.domain.com\r\nConnection: Close\r\n

     

    Or:

     

    GET /xyz.abc.dyx.ezt.co.uk/alive HTTP/1.0\r\n

     

  • Try this:

    GET /alive HTTP/1.1\r\nHost: xyz.abc.dyx.ezt.co.uk\r\nConnection: Close\r\n\r\n
    

    If it doesn't work, you can use this CURL command to check the output from bash on the F5:

    curl -H "Host: xyz.abc.dyx.ezt.co.uk" http://x.x.x.x/alive
    

    You can also use the following from bash for troubleshooting http monitor:

    echo -e "GET /alive HTTP/1.1\r\nHost: xyz.abc.dyx.ezt.co.uk\r\nConnection: Close\r\n\r\n" | nc x.x.x.x 80
    

    x.x.x.x is the IP of the pool member

    Since you are running 11.6, you may be able to troubleshoot better using /var/log/monitors:

    Look under "monitor logging" - https://support.f5.com/kb/en-us/solutions/public/12000/500/sol12531.html