Forum Discussion

192Dan_141251's avatar
192Dan_141251
Icon for Altostratus rankAltostratus
Jun 11, 2014

Monitor Disables Node, persistent connections

If my monitor has marked a node as offline. Why would I want any connections persistent or otherwise to go to it?

 

It's down. Pick another node. How do I make this the default behavior?

 

5 Replies

  • You can configure action on service down:

     

    The Action on Service Down setting specifies the action that you want the BIG-IP system to take when the service on a pool member becomes unavailable. The possible settings are:

     

    None -- The BIG-IP system takes no action. This is the default action.

     

    Reject -- The BIG-IP system sends an RST (TCP-only) or ICMP message.

     

    Drop -- The BIG-IP system simply cleans up the connection.

     

    Reselect -- The BIG-IP system selects a different node.

     

    To configure this setting, locate the Action on Service Down setting and select a value from the list (pool configuration menu).

     

    • 192Dan_141251's avatar
      192Dan_141251
      Icon for Altostratus rankAltostratus
      Reselect is already set. Let me explain in more detail. The web node is relaying to an application node behind it. If the application node goes down, the web node displays an error page. I wrote a custom http monitor to check for the error message and disable the node if seen. The monitor is applied at the pool level and the action on service down is reselect. I load the homepage. Turn off the backend node. Wait for the Web node to be disabled then hard-refresh the page. At this point I would expect my request to get sent to one of the other web-nodes in the pool. Instead I see the error page. The LTM is redirecting me to a downed node. The node is still technically “up” it responds to tcp and serves http requests, but for all intents and purposes it’s dead, it is an ex webserver. Now, this behaviour may be understandable under some circumstances, but I certainly would not expect it to be the immutable default. Maybe if I could set apply the custom http monitor as the health monitor at the node level, maybe that would work. Maybe. But I can’t, because I can’t apply custom monitors as a “node specific monitor”.
  • You want reject. The client will be sent a TCP RST. This will close the connection. The new connections will be load balanced to available servers.

     

  • Ok thanks for you help, neither reject or reset were effecting the behaviour. After a webex session with tristan from F5, we realised it was the "Receive Disable String".

    According to this page: http://support.f5.com/kb/en-us/solutions/public/12000/800/sol12818.html?sr=38128338

    The behaviour if the Receive String is not received, but the Receive Disable String is (in our case this was a string from an error page warning the back-end node was down) then the Node is marked UP(disabled) or "draining mode" as some people call it. The solution was to simply remove the Receive Disabled String and have the node marked as Down when the Receive String was not received.

    Receive String  Receive Disable String      State
    Yes                 No                               Up (Enabled)
    No                  Yes                              Up (Disabled)
    No                  No                               Down