Forum Discussion

nema_sachin_210's avatar
nema_sachin_210
Icon for Nimbostratus rankNimbostratus
Jul 07, 2015

Need urgent Help

One of my projects, we are having three servers in LTM pool.

 

We need to configure three TCP half open monitors (2389, 4848 & 7676). traffic will run on 2389 port.

 

but Server A, B & C, need to monitor 7676 & 4848 port as well. any node in pool will need to respond 2389, 7676 & 4848 otherwise pool will show down.

 

1 node 2389 and 1 node 7676 and 1 node 4848 respond then only pool will show UP

 

0 node 2389 and 1 node 7676 and 1 node 4848 = entire Pool is down 1 node 2389 and 0 node 7676 and 1 node 4848 = entire Pool is down 1 node 2389 and 1 node 7676 and 0 node 4848 = entire pool is down

 

Please suggest ASAP

 

3 Replies

  • nathe's avatar
    nathe
    Icon for Cirrocumulus rankCirrocumulus

    Might this work, assume the pool members are listening on port 2389 add 1 default tcp half open monitor to the pool. Then create two custom tcp half open monitors and change the Alias Port to tbe 7676 for one and 4848 for the other. Assign all 3 monitors to the pool and change "Availability Requirement" to be All. That way if 1 pool member fails any of the monitors e.g. port 7676 then the pool member status changes to Down. Only pool members that successfully pass all 3 monitors are available.

     

    Is this what you are after?

     

    N

     

  • Nema,

     

    Are you saying that if one service on one pool member is down then the entire pool should be considered down? If so then we may need an irule checking for active members in the pool and redirecting clients or possibly you could run a script to force all pool members offline if a monitor marks down one of them. See SOL14397.

     

    Nathan's monitor suggestion will allow the checking of 3 different ports on the pool members.

     

  • I am not an iRule expert but something like this would do what you want. This iRule will drop client connections if either the 7676 or 4848 pools have less than one pool member. As an alternative to drop the irule could issue http redirect to the client.

     when CLIENT_ACCEPTED {
     if { [active_members /Common/7676_pool] < 1 }{
        drop
        }
        elseif { [active_members /Common/4848_pool] < 1 }{
        drop
        }
        else { pool /Common/2389_pool }
    }