Forum Discussion

Blue_whale's avatar
Blue_whale
Icon for Cirrocumulus rankCirrocumulus
Jun 11, 2020

F5 is not marking the pool member status as DOWN

Hi All ,

 

When the service on the member node 10.179.16.19 is DOWN, the F5 monitor is not marking the pool member status as offline .

 

 

When server team changes the receive string code to 503 from 200 from the server end , pool member is not marked as DOWN ,

 

We then tested it and decided to change the monitor string to "200 OK" from 200 on the F5 ,it than worked correctly .

 

Meaning when server team now changed the string to 503 , monitor on the F5 marked pool member down .

 

So what is the issue here ? What is the difference with string 200 and 200 OK ?

 

 

ltm pool gw-internet-test_POOL {

   description gw-internet-test

   members {

       10.179.16.19%6:https {

           address 10.179.16.19%6

           session user-disabled        --------------> Manually disabled

           state user-down

       }

       10.179.18.12%6:https {

           address 10.179.18.12%6

           session monitor-enabled

           state up

       }

   }

   monitor gw-internet-test_Monitor

   partition CORP  

 

 

ltm monitor https gw-internet-test_Monitor {

   adaptive disabled

   cipherlist DEFAULT:+SHA:+3DES:+kEDH

   compatibility enabled

   defaults-from /Common/https

   destination *:*

   interval 5

   ip-dscp 0

   partition CACF

   recv 200 >>>>>>>>>>>>>>>>>>>>>>>> When we changed the string to "200 OK" , it worked

   recv-disable none

   send "GET /test/admin/login.jsp HTTP/1.1\r\nHost:gw-internet-test.corp.com"

   time-until-up 0

   timeout 16

}

 

  • cjunior's avatar
    cjunior
    Jun 16, 2020

    Hello,

    Probably the string "200" appears on head or body, while the string "200 OK" appears only on http response code status in headers.

    e.g.

    This output has "200 OK" on header and "200" on body.

    # curl -kv http://172.30.0.1/default.asp
    *   Trying 172.30.0.1...
    * Connected to 172.30.0.1 (172.30.0.1) port 80 (#0)
    > GET /default.asp HTTP/1.1
    > Host: 172.30.0.1
    > User-Agent: curl/7.47.1
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    < Cache-Control: private
    < Content-Type: text/html
    < Server: Microsoft-IIS/10.0
    < Set-Cookie: ASPSESSIONIDCADABDAD=OPKBINHAKLGGIGHNPBCBEDGP; path=/
    < Date: Tue, 16 Jun 2020 17:04:22 GMT
    < Content-Length: 118
    <
    <html>
    <head>
    </head>
    <body>
     200  is a number that matches 200
     2002 is a number that matches 200 as well
     </body>
    </html>
    * Connection #0 to host 172.30.0.1 left intact

    This other response header example, the HTTP code is 503 while content-length is 200 that matches your recv param.

    HTTP/1.1 503 Service Unavailable
    Cache-Control: private
    Content-Type: text/html
    Content-Length: 200

    Regards.

     

  • Hello,

    That status means that you forced offline a member.

    If you need to grab availability from members, you can run 'show" instead of "list" command:

    Also, you can have this output in field format as well:

    show ltm pool gw-internet-test_POOL members field-fmt

    Look for "status.availability-state" field for each member and you will get member's availability.

    For a monitor status result, there is a little difference when you disable or force offline a member, where this is "down" when monitor failed and "user-down" when forced offline.

    I hope it helps

    cjunior

  • Hi Cjunior ,

     

    Thanks for your response .

     

    Sorry I have corrected my question ,

     

    Issue reported : When the service on the member node 10.179.16.19 is DOWN, the F5 monitor is not marking the pool member status as offline .

    When server team changes the receive string code to 503 from 200 from the server end , pool member is not marked as DOWN ,

     

    Action taken : We decided to change the monitor string to "200 OK" from 200 on the F5 ,it than worked correctly .

    Meaning when server team now changed the string to 503 , monitor on the F5 marked pool member down .

     

     

    So what is the issue here ? What is the difference with string 200 and "200 OK"

     

    • cjunior's avatar
      cjunior
      Icon for Nacreous rankNacreous

      Hello,

      Probably the string "200" appears on head or body, while the string "200 OK" appears only on http response code status in headers.

      e.g.

      This output has "200 OK" on header and "200" on body.

      # curl -kv http://172.30.0.1/default.asp
      *   Trying 172.30.0.1...
      * Connected to 172.30.0.1 (172.30.0.1) port 80 (#0)
      > GET /default.asp HTTP/1.1
      > Host: 172.30.0.1
      > User-Agent: curl/7.47.1
      > Accept: */*
      >
      < HTTP/1.1 200 OK
      < Cache-Control: private
      < Content-Type: text/html
      < Server: Microsoft-IIS/10.0
      < Set-Cookie: ASPSESSIONIDCADABDAD=OPKBINHAKLGGIGHNPBCBEDGP; path=/
      < Date: Tue, 16 Jun 2020 17:04:22 GMT
      < Content-Length: 118
      <
      <html>
      <head>
      </head>
      <body>
       200  is a number that matches 200
       2002 is a number that matches 200 as well
       </body>
      </html>
      * Connection #0 to host 172.30.0.1 left intact

      This other response header example, the HTTP code is 503 while content-length is 200 that matches your recv param.

      HTTP/1.1 503 Service Unavailable
      Cache-Control: private
      Content-Type: text/html
      Content-Length: 200

      Regards.