Forum Discussion

Spike_Henning_8's avatar
Spike_Henning_8
Icon for Nimbostratus rankNimbostratus
Oct 31, 2005

How to sniff node down

How can I get the LTM to notify me when it detects a node down? So far, the first I know about it is when both nodes are down so the pool is unavailable causing the F5 to redirect requests to an outage URL. I'm only worried about http, but it seems I cannot create a node specific http monitor.

 

 

Any suggestions?

4 Replies

  • Thanks for your response. It looks like the answer I was looking for is the BIGIP_MCPD_MCPDERR_NODE_ADDRESS_MON_DOWN event. I didn't find it anywhere in the documentation regarding nodes. I wanted to find a NODE_DOWN event in iRules that I could program around to send me the notification when that event was raised and judging from the name I'll assume that's it.

     

     

    Thanks.

     

  • I haven't tried this, but you could use something like this (I think you need version 9.2 for the LB::status query):

     

     

    when LB_FAILED {

     

    if { [LB::status poolname ip port] == 0 } {

     

    log "Server $ip $port down!"

     

    }

     

    }

     

     

    Then configure syslog-ng to page/email you when you get that entry in /var/log/ltm

     

     

    The developers might have a better solution for you

     

     

  • Colin_Walker_12's avatar
    Colin_Walker_12
    Historic F5 Account
    You're close...

    The LB::status section would evaluate a little differently.

    Exerpt from Click here - http://tech.f5.com/home/bigip-next/manuals/bigip9_2/bigip9_2config/BIG_IP9_2ConfigGuide-14-1.htmlwp1200312

    iRule command

    LB::status

    LB::status node

    LB::status pool member

    Description

    Returns the status of a node. Possible values are up, down, session_enabled, and session_disabled. If you supply no arguments, returns the status of the currently-selected node

    So you'd have something like:

    
    when LB_FAILED {
      if { [LB::status pool  member  ] eq "down" } {
        log "Server $ip $port down!"
      }
    }

    -Colin
  • I can't seem to find a good reference for things like LB::status and BIGIP_MCPD_MCPDERR_NODE_ADDRESS_MON_DOWN so I can see what all I can do with iRules. Could you please point me in the right direction? You are correct about using version 9.2 for the LB::Status though. I'd downloaded documentation for 9.0 and have been referring to it and find that it doesn't discuss querying Node Status. I still haven't seen anything about BIGIP_MCPD_MCPDERR_NODE_ADDRESS_MON_DOWN though so there's still some documentation around that I haven't uncovered.