Forum Discussion

Austin_Geraci's avatar
Jan 27, 2010

Server Monitor Flapping

I was wondering if there was something one could do to remove a member out of a pool after a repeated up/down state in a certain period of time?

 

 

 

Thanks!

 

5 Replies

  • You could shorten the timeout to lower the time that a pool member has to respond to a monitor. You could also use an iRule to disable a pool member when a load balancing failure occurs using LB::down in the LB_FAILED event. Or you could use passive monitors. This post has some very useful info from Matt on passive monitors:

     

     

    http://devcentral.f5.com/Default.aspx?tabid=53&forumid=31&tpage=1&view=topic&postid=85074

     

     

    Aaron
  • Here are a few related examples:

     

     

     
     when HTTP_RESPONSE { 
         Check if response code is a 503 
        if { [HTTP::status] == 503 } { 
      
            Mark current server down 
           LB::down 
        } 
     } 
     

     

     

     
     when LB_FAILED { 
         Mark current server down 
        LB::down 
     } 
     

     

     

    For info on the LB_FAILED event, you can check the wiki page:

     

     

    http://devcentral.f5.com/wiki/default.aspx/iRules/lb_failed

     

     

    Aaron
  • Do I have to key on the response code? That wont work for me if it's a different kind of monitor.. I should be able to key on a pool member status up/down correct?

     

     

  • One note: I believe that when LB::down is called it'll trigger an immediate service check on the pool member, which can cause unexpected results if you don't keep this in mind. I'd definitely confirm this in your testing.

     

     

    -Matt