Forum Discussion

kren_cooper_214's avatar
kren_cooper_214
Icon for Nimbostratus rankNimbostratus
Oct 06, 2015
Solved

How to mark nodes up in a pool based on the health of multiple nodes

Hi all - new user here, hoping this might be an easy one to answer for someone with some experience.

 

I have a new F5 installation, and have set up a number of pools ok using iApps and manual creation in the GUI - not done anything from the CLI yet.

 

One of the apps has a pair of front end Web servers (SHA1 and SHA2), and a pair of back end Application servers (APP1 and APP2).

 

Because of issues with the software, we need to bind these together into two "streams" - so and end user hits the DNS name / virtual IP, the load balancer then chooses between SHA1 and SHA2. If they are on SHA1, that server will only send traffic to APP1, and likewise SHA2 > APP2. We're not happy about it, but we're not sure if the vendor can fix it...

 

So: my question - at the moment I have the node / pool / http health monitor / virtual server set up How can I add further health monitors to each of those nodes, to make them also reliant on the same numbered APP server, so that if either of the SHA/APP pair go down, that stream is marked offline, and the other node is used?

 

  • Are SH1 and SH2 pointed directly to APP1/APP2 respectively or are they pointed to a virtual server address? If they are pointed directly to their corresponding app server then you can place 2 monitors on each web server member (SH1/2). First monitor will be the monitor currently on the web service pool, so if the nodes web services become unavailable the member is marked down (just as you have now). Second monitor is different for each web service member and is a monitor that checks the application service (whatever that might be). The key is to enter the corresponding app service ip address in the Alias Address field of the monitor (create a monitor for each app server). This way, even though the monitor is tied to the web service node, the ip address entered is being monitored. The last step is to set the Availability Requirement setting on each member to All. Doing so will mark each member down when web service or corresponding app server service is down.

     

    If SH1 and SH2 are pointed to a virtual server then you need to deal with persistence but I suspect this is not the case.

     

2 Replies

  • Greg_Crosby_319's avatar
    Greg_Crosby_319
    Historic F5 Account

    Are SH1 and SH2 pointed directly to APP1/APP2 respectively or are they pointed to a virtual server address? If they are pointed directly to their corresponding app server then you can place 2 monitors on each web server member (SH1/2). First monitor will be the monitor currently on the web service pool, so if the nodes web services become unavailable the member is marked down (just as you have now). Second monitor is different for each web service member and is a monitor that checks the application service (whatever that might be). The key is to enter the corresponding app service ip address in the Alias Address field of the monitor (create a monitor for each app server). This way, even though the monitor is tied to the web service node, the ip address entered is being monitored. The last step is to set the Availability Requirement setting on each member to All. Doing so will mark each member down when web service or corresponding app server service is down.

     

    If SH1 and SH2 are pointed to a virtual server then you need to deal with persistence but I suspect this is not the case.

     

  • Thanks very much Greg Crosby. +Kudos to you (as I don't have the rep to award any points yet)

     

    For anyone else that needs to do this: First of all I created two new Health Monitors, one for each of the back end servers, and entered their IP address as the alias, and changed the port as required:

     

    Then edited my iapp:

     

    Selected the first of my two nodes, to enter the node screen:

     

    Changed the Health Monitor from "Node Default" to "Node specific" and selected one of the two back end checks along with the general front end check

     

    Checking the iApp it now showed two health checks under each node

     

    I then logged onto all 4 servers via RDP and tested by stopping the Tomcat service - dropping the service on either APP1 or SHA1 correctly marked that stream as down, and forced traffic to the 2nd server, and vice versa.

     

    Nice and simple, once you know how. Thanks again Greg!