Forum Discussion

NANTU_271091's avatar
NANTU_271091
Icon for Nimbostratus rankNimbostratus
Apr 17, 2017

Check VIP availability from a different VIP Pool

Hi Folks, My App team ask me to host their application at LTM and GTM. I am stuck at a point for a condition.

 

Scenario: Application is stage up at three layer. Please refer the image for the application traffic flow.

 

** vs-1 hosted app is dependent on the availability of vs-2 app. ** Traffic needs to pass vs-1 and then vs-2 aap.

 

Condition: ** Need to monitor the traffic reaching at VS-1 would be able to reach to last node of vs-2 pool member. ** would like to have a health monitor at pool-1 for monitoring vs-2 availability + pool-1 member health check ** Can I achieve this at VS-1 or poo-1 or, by any chance?

 

Thanks in advance!

 

/Nantu!

 

  • if you want to monitor something it needs to be in a pool. if you place monitors on both the pools you have identified I think you will find that the functionality you require is already in place.

     

    1)VS-1 --> will only send to pool 1 if available members. 2)pool members use VS-2 as a resource(in your app) and VS-2 will not forward requests to pool 2 unless there are available members.

     

    Or if you only want traffic forwarded past VS-1 ONLY IF pool 2 has available members, use an irule to check pool 2 health when traffic first hits VS-1.

     

    • NANTU_271091's avatar
      NANTU_271091
      Icon for Nimbostratus rankNimbostratus

      Hi, your second assumption is correct. I want to pass the traffic at VS-1 if VS-2 is available. Now tell me one thing.

       

      Can I use two monitor profile at Pool-1 (one is default AND another monitor for monitoring VS-2 and port. So, both the monitor value should be 1, if anyone is 0 VS-1 would be down. So that WIDE IP top of VS-1 will not forward the traffic to VS-1.

       

      Also what would be the iRule should I use what you mentioned.

       

      /Nantu

       

  • For your current example.

     

    For Pool 1, You need to create three monitors.

     

    1. Default Pool monitor that will monitor node-1 and node-2.
    2. Monitor to monitor node-3 and it's port.
    3. Monitor to monitor node-4 and it's port.

    2 and 3 can be achieved by creating Alias address and Alias port in the monitor. Alias address will contain address and port of node-3 & node-4. Other request response string same as for monitor created for pool2.

     

    Now apply that monitor 1 i.e default to the pool.

     

    Apply monitor 2 & 3 to the pool member (click node1:port, Configuration Advanced, Health Monitors- Member Specific, Select monitors 2 & 3, Availability requirement atleast 1)

     

    Repeat for node2:port

     

    So, if both monitors 2 & 3 fail i.e node 3 and 4 fail then Pool member will fail and the VS 1 should go down.

     

    I have not tested this but hope this works. Let me know your result

     

  • It would be easiest to configure this through iRule, there are a lot of resources to write this and test it yourself, but here is an idea-

    when HTTP_REQUEST {

    if { (active_members POOL-2 == 0)  {
       reject or http redirect here
    }
    

    }

    This would be applied to VS-1 where POOL-1 is the default pool. At each http request to VS-1 the status of POOL-2 would be checked before sending the request to POOL-1.