Forum Discussion

Ger_Hackett_323's avatar
Ger_Hackett_323
Icon for Nimbostratus rankNimbostratus
Jun 15, 2012

LB_FAILED / Connection Limit / active_members

Hello All,

 

 

I have a web application with an iRule that directs requests to a number of different pools, based on the content of the uri. Each pool has a number of members. At the web tier there are 5 physical servers, each running multiple instances of Apache. Each Apache instance runs on a different port and corresponds to a pool member. The web application talks to a database tier. To protect the database, I have a Connection Limit on each node. Each pool member also has a Health Monitor, which retrieves a test page from its Apache instance. In my iRule, when the LB_FAILED event is triggered, I serve an apology page, but I want to know why the apology was served.

 

 

My question is, is there any way to determine if the LB_FAILED event was triggered because the Connection Limit was reached, or if it was triggered because the Health Monitor reported all the members in the particular pool as unavailable?

 

 

Does the variable/function active_members report a positive number, even if all of the members have reached their connection limit, and the Health Monitor is still “up”. If that is the case then would it be feasible to use active_members to determine the problem: If active_members > 0 then issue was due to Connection Limit being reached, if active_members = 0, then no member available to service request.

 

 

Thanks,

 

 

Ger.

2 Replies

  • Hi Ger,

     

     

    In v11 you can use [event info] in LB_FAILED to get more info:

     

    https://devcentral.f5.com/wiki/iRules.event.ashx

     

     

    I think active_members $pool should not count pool members/nodes which are at their connection limit. But you could test this to confirm using a low connection limit.

     

     

    Aaron
  • Thanks Aaron,

     

     

    Unfortunately I’m stuck with v10. I was hoping that active_members $pool would not behave like you described. If it does go to zero with the connection limit is reached, then I won’t know if the issue was related to the connection limit or the health monitors flagging the members as unavailable.

     

     

    Regards,

     

     

    Ger.