Forum Discussion

David_Bradley_2's avatar
David_Bradley_2
Icon for Nimbostratus rankNimbostratus
Mar 27, 2007

How do I create a passive health monitor?

Can someone point me to documentation (or an example) on writing a passive health monitor into my iRule? Thanks in advance.

 

 

Dave

12 Replies

  • Actually, there is a new command in 9.4.x called LB::down. Basically, when it is called, it forces LTM to mark the node down and schedule an immediate health check using the assigned monitor. LB::down does NOT force re-loadbalancing itself - if you want to repeat your request and force another LB decision after calling LB::down, you can issue HTTP::retry.

     

    Here is an example:

     

     

    when HTTP_REQUEST {

     

    set request [HTTP::request]

     

    }

     

    when HTTP_RESPONSE {

     

    if { [HTTP::status] >= 500 } {

     

    LB::down

     

    HTTP::retry $request

     

    }

     

    }

     

     

  • Any updates from the support request vaniello? Over a year later and there is some misleading information here from my attempts. I'm new to this and perhaps don't know the method.

     

     

    Findings:

     

     

    If the health monitor still thinks the member is available, it seems things aren't going to go well.

     

    Is there a way to makr the node as down faster than waiting for the health monitor cycle to do it?

     

     

    the LB::down marks it down, true, but it isn't a health monitor down, it is a irule down. So then the question is how does that member become available again?

     

     

    LB::down doesn't seem to keep the member from being reselected with a LB::reselect if there is 'cookie insert' (or probably other) persistence set. It will continue to reselect this same, failed member.

     

     

    LB::detach does not appear to clear the persistence either. using that with a LB::reselect results in selecting the same member. the LB::detach doesn't help.

     

     

    Looking for a code sample where another member is selected and the persistent cookie is updated to this new member if the 'assigned' member is no longer available.