Forum Discussion

Guillaume_Rouss's avatar
Guillaume_Rouss
Icon for Nimbostratus rankNimbostratus
Feb 03, 2020

debugging LB_FAILED event

Hello list.

I'm using this irule in order to deliver a user-friendly error page to users when a service is down:

when LB_FAILED {
   log local0.debug "LB_FAILED for [virtual name]"
   snatpool server_snat_pool
   LB::reselect pool fallback_https_pool 
   persist none
}

Following suggestion from https://devcentral.f5.com/s/feed/0D51T00006i7Q1cSAE, I added a call to [event info] in the log message, in order to get a better idea of unexplained such events. However, this isn't really useful, as:

  • 50% of log messages have no reason
  • 50% of log messages have "connection limit" as reason, whereas I don't have any explicit limit defined at virtual server level, pool level or node level

So, is there any other place I should check for connection limits, and is there any better way to identify LB_FAILED event reasons ?

  • The connection limit sounds like a good hint. You might want to keep an eye on the number of flows to that vip using FLOWTABLE::count to log that also.

    Maybe you could count the connections on that VS and in whatever TMM is used for that flow:

    log local0. "LB_FAILED! info: [event info] , current conn in this TMM: [FLOWTABLE::count], current conn in vs [virtual name]: [FLOWTABLE::count virtual [virtual name]]"

     

    Do you see any other /var/log/LTM error logs like SNAT pool exhaustion or the like?