Forum Discussion

Heinrich12_3671's avatar
Heinrich12_3671
Icon for Nimbostratus rankNimbostratus
Jul 16, 2018

F5 - Sharepoint App Pool down does not load balancing

F5 is our loadbalancer for 2 SharePoint WFE's. When on Server Nr. 1 the App Pool is stopped then F5 balances the traffic to Server Nr. 2. If the App Pool on Server Nr. 2 is stopped then F5 is not redirecting the traffice to Server Nr. 1. What could be the reason for that? The Monitor on F5 shows allways a green Status on both testcases.

 

12 Replies

  • HI

     

    I have not seen your configuration but basically you mentioned that when you stop your App Pool the monitor stays green or in an avialble state.

     

    With that said the F5 will still load balance to server where the app pool has stopped because your monitor is reporting the pool member is available. Please check your monitor configuration you have applied to the pool. Please post your configuration if you still have issues.

     

    tmsh ltm list virtual "virtual server name"

     

    tmsh ltm list pool "name of pool which is configured with the above virtual server"

     

    • Heinrich12_3671's avatar
      Heinrich12_3671
      Icon for Nimbostratus rankNimbostratus

      Hello

       

      It is a TCP-Probe on the Port. The strange thing the load balancer stays green. The testcase is:

       

      Stopp AppPool on Server 1 / AppPool on Server 2 is running -> F5 switches and Website is displayed

       

      Stopp AppPool on Server 2 / AppPool on Server 1 is running -> F5 does not switch and Website is Not displayed

       

      Actually the behaviour should be the same on both testcases.

       

      Greetings

       

      Heinrich

       

    • KevinA_246454's avatar
      KevinA_246454
      Icon for Cirrostratus rankCirrostratus

      load balancing behaviors will be based on your health monitor, in a very basic configuration the f5 will load balance a connection to pool member as long as the pool member has a green status/available, Do you mind posting your configuration, not 100% but I would assume the default settings in the tcp monitor will check the port if its up and running. You will need to more then a simple port monitor to check your application status on the web server.

       

      Best to ask your web team to create a test page for you, that contains a simple sting such as SERVER_UP, then create a custom http monitor to request the page with a recv string. Below is an example

       

      ltm monitor http custom-monitorhttp { adaptive disabled defaults-from http destination : interval 5 ip-dscp 0 recv SERVER_UP recv-disable none send "GET /HealthCheck.html\r\n" time-until-up 0 timeout 16

       

      [root@bipipbrplab01:Active:Disconnected] config curl --get http://10.1.2.12/HealthCheck.html

       

      F5 Test Page

       

      SERVER_UP

       

      The web server software is running.

       

      [root@bipipb01:Active:Disconnected] config

       

    • Heinrich12_3671's avatar
      Heinrich12_3671
      Icon for Nimbostratus rankNimbostratus

      Hello Hier the output

       

      ltm virtual CM-CH-PRD-APPNAME-STAGE-443 {

       

      description CM-CH-PRD-APPNAME-STAGE-443

       

      destination 10.123.123.123%2:https

       

      ip-protocol tcp

       

      mask 255.255.255.255

       

      partition T3-ZZ02-F5S01

       

      persist {

       

      source_addr_3m {

       

      default yes

       

      }

       

      }

       

      pool SF01-CH-PRD-APPNAME-STAGE-443

       

      profiles {

       

      /Common/tcp { }

       

      }

       

      source 0.0.0.0/0

       

      source-address-translation {

       

      pool vlan_1265_8

       

      type snat

       

      }

       

      translate-address enabled

       

      translate-port enabled

       

      vlans {

       

      T3-CH02-VL1220

       

      T3-CH02-VL1221

       

      T3-CH02-VL1222

       

      T3-CH02-VL1226

       

      T3-CH02-VL1227

       

      T3-CH02-VL1263

       

      T3-CH02-VL1264

       

      T3-CH02-VL1265

       

      T3-CH02-VL1268

       

      T3-CH02-VL74

       

      ltm pool SF01-CH-PRD-APPNAME-STAGE-443 {

       

      members {

       

      SERVER1:any {

       

      address 10.123.83.125

       

      session monitor-enabled

       

      state up

       

      }

       

      SERVER2:any {

       

      address 10.123.83.126

       

      session monitor-enabled

       

      state up

       

      }

       

      }

       

      monitor PROBE-CH-ZZZ-APPNAME-STAGE-8082

       

      partition T3-ZZ02-F5S01

       

    • Heinrich12_3671's avatar
      Heinrich12_3671
      Icon for Nimbostratus rankNimbostratus

      Hi KevinA

       

      2 weeks you asked me about the monitor configuration

       

      Thanks the last thing we need to look at is the monitor configurations "tmsh ltm monitor "parent monitor" PROBE-CH-ZZZ-APPNAME-STAGE-8082

       

      Here it is:

       

      ltm monitor tcp PROBE-CH-ZZZ-APPNAME-STAGE-8082 {

       

      adaptive disabled

       

      adaptive-divergence-type relative

       

      adaptive-divergence-value 25

       

      adaptive-limit 200

       

      adaptive-sampling-timespan 300

       

      app-service none

       

      defaults-from /Common/tcp

       

      description none

       

      destination *:us-cli

       

      interval 10

       

      ip-dscp 0

       

      manual-resume disabled

       

      partition T3-ZZ02-F5S01

       

      recv none

       

      recv-disable none

       

      reverse disabled

       

      send none

       

      time-until-up 0

       

      timeout 31

       

      transparent disabled

       

      up-interval 0

       

      }

       

      Hope this helps

       

      Regards

       

      Heinrichxx

       

    • KevinA_246454's avatar
      KevinA_246454
      Icon for Cirrostratus rankCirrostratus

      HI

       

      Ok your monitor is a tcp monitor, here is a pretty good link explaining a tcp monitor https://devcentral.f5.com/s/articles/monitoring-tcp-applications-01

       

      you can stop the app pool and see if you can open a connection to the web server if it responds then the tcp monitor will mark the server as green. If it does not respond when you open up a connection and the monitor is still marking the server as green, then it something we can look at.

       

      I suggest you ask the web admin to setup a test page for you change your monitor to a https monitor if https is required, then configure a send string link I have posted earlier.