Forum Discussion

Dharminder_1237's avatar
Dharminder_1237
Icon for Nimbostratus rankNimbostratus
Feb 07, 2013

Irule Config

Hi All,

 

Need your expert advise.

 

"Using Irule can I track some other pool or Node other then the pool monitored under VIP.

 

 

vip: TEST_VIP

 

pool: TEST_POOL ( pool members - A and B ).

 

 

vip: unknown

 

pool: TEST1_POOL ( pool member - X ).

 

 

Irule under TEST_VIP that if TEST1_POOL or node "X" is down then it should disable node "A" under TEST_POOL.

 

 

Regards

 

Dharminder

 

9 Replies

  • Arie's avatar
    Arie
    Icon for Altostratus rankAltostratus
    Use "active_members".

     

     

    https://devcentral.f5.com/wiki/iRules.active_members.ashx
  • why don't you assign health monitor which checks pool member X (the health monnitor with specifying alias address and service port) to pool member A? so, when pool member X is down, the health monitor will mark pool member A down as well.
  • Hi All thanks for your reply. My requirement is bit different and wana share you why it is, so that you can provide me exact solution.

     

    I have a device to be loadbalanced but it has two nics one for load balancing i.e external nic and other for internal use or to connect to other server. so now case arises that if internal link is down but for external is up still then still load balancer will send traffic to the device because external link is up. So my requirement is to track internal link and disable external node IP incase internal nic IP is not reachable.

     

     

    vip: TEST_VIP >>> For traffic to load balance

     

     

    pool: TEST_POOL ( pool members - A and B ) Nodes to load balance

     

     

     

     

    vip: unknown

     

     

    pool: TEST1_POOL ( pool member - X ) >>> Track to internal interface of device.

     

    "
  • pool member X is internal nic of the device (e.g. ip address), isn't it?

     

     

    i still think health monitor should still work. if bigip cannot reach pool member X (e.g. gateway_icmp monitor), bigip will mark pool member A down.
  • Hi Nitass, Yes pool member X is internal nic having different IP. Could you please advise how to add health montor of X to A since both are having different IP address. please send me the irule which will help in achiving this.
  • e.g.

    pool member A is 200.200.200.101

    pool member B is 200.200.200.111

    pool member X is 172.28.19.251

    [root@ve10:Active] config  b monitor mygateway_icmp list
    monitor mygateway_icmp {
       defaults from gateway_icmp
       dest 172.28.19.251:any
    }
    [root@ve10:Active] config  b pool foo list
    pool foo {
       monitor all gateway_icmp
       members {
          200.200.200.101:80 {
             monitor gateway_icmp and mygateway_icmp
          }
          200.200.200.111:80 {}
       }
    }
    
     when 172.28.19.251 is up
    
    [root@ve10:Active] config  b monitor all instance
    MONITOR  gateway_icmp   POOL foo
    +-> POOL MEMBER foo/200.200.200.111:80   active,up
        +-> gateway_icmp
            |        200.200.200.111   up enable
    MONITOR  gateway_icmp and mygateway_icmp
    +-> POOL MEMBER foo/200.200.200.101:80   active,up
        +-> gateway_icmp
            |        200.200.200.101   up enable
        +-> mygateway_icmp
            |        172.28.19.251   up enable
    
    [root@ve10:Active] config  b pool foo|grep -i pool\ member
    +-> POOL MEMBER foo/200.200.200.101:80   active,up
    +-> POOL MEMBER foo/200.200.200.111:80   active,up
    
     when 172.28.19.251 is down
    
    [root@ve10:Active] config  b monitor all instance
    MONITOR  gateway_icmp   POOL foo
    +-> POOL MEMBER foo/200.200.200.111:80   active,up
        +-> gateway_icmp
            |        200.200.200.111   up enable
    MONITOR  gateway_icmp and mygateway_icmp
    +-> POOL MEMBER foo/200.200.200.101:80   inactive,down
        +-> gateway_icmp
            |        200.200.200.101   up enable
        +-> mygateway_icmp
            |        172.28.19.251   down enable
    
    [root@ve10:Active] config  b pool foo|grep -i pool\ member
    +-> POOL MEMBER foo/200.200.200.101:80   inactive,down
    +-> POOL MEMBER foo/200.200.200.111:80   active,up