Forum Discussion

Rosieodonell_16's avatar
May 15, 2018

Sharepoint health monitors

Hey Everyone,

 

I am currently load balancing two servers in my SharePoint setup. I am currently using the default "http" health monitor. Sometimes in the morning, one of the servers goes into an error and responds back with a 503 error. The F5 still sees the server as up and 50% of the people get the error page.

 

I am looking for a health monitor that checks the ICMP of the server and also checks to see is the server responds back with a 503 error. If the server responds back with a 503 error I need the F5 not to send traffic to the server. In a perfect world I would also love to receive an email when this server shows a 503 response.

 

I don't play with health monitors too often and was wondering if anyone out there could help me out. Cheers!

 

  • Please configure custom monitor[Send & Receive String] to check the status of share point page. iApp is good option to receive mail alert...

     

    Go through these link --> Custom Monitor

     

    Dev central has many article.. Please go through..

     

  • Hi

    HTTP health monitor should be co-work with BIGIP & your server.

    BIGIP's HTTP monitor check file using 'GET' and Servers Response.

    and server should have that file.

    In normal case, server should send 200 ok

    this is sample

    ltm monitor http /Common/M-10.10.10.10-HTTP-80 { defaults-from /Common/http destination 10.10.10.10:80 interval 5 ip-dscp 0 recv 200 send "GET /test.html HTTP/1.1\r\n connection : close \r\n\r\n" time-until-up 0 timeout 11 }

    BIGIP check /test.html and server have file based on WEB-home-directory not linux.

    And additionally, using Pool`s action-on-service-down -> reject is good way to prevent issue.

     

    • Rosieodonell_16's avatar
      Rosieodonell_16
      Icon for Cirrus rankCirrus

      So if I use this code in the monitor response:

       

      HTTP/1\.[01] [23]0[0-6]

       

      will this cover my needs? I think this will accept all traffic except anything with 500-503 code.

    • swjo_264656's avatar
      swjo_264656
      Icon for Cirrostratus rankCirrostratus

      Hi

       

      Then not using "Receive String" but "Receive Disable String"

       

      Receive String > blank Receive Disable String > 503

       

      From now I`m not using Receive Disable String but it would be work.

       

      before work, please be test and apply.

       

    • swjo_264656's avatar
      swjo_264656
      Icon for Cirrostratus rankCirrostratus

      And I think you should using multiple HTTP monitor.

       

      Monitor_500Receive Disable String > 500 Monitor_501Receive Disable String > 501 Monitor_502Receive Disable String > 502 Monitor_503Receive Disable String > 503

       

      Pool using those 4 monitor and Availability Requirement > all

       

  • If you're looking specifically for the 503 only, then putting your receive response in the receive disable box for the monitor should work

     

    HTTP/1\.(0|1) (503)

     

    I normally look for one of these status codes - 200, 301, 302 for my http monitors. Generally if I get a response of anything other than these - there's an issue with the web application.

     

    HTTP/1\.(0|1) (200|301|302)

     

    I'm not sure if you are targeting a specific page in your send string, but I highly recommend it. It'll make the monitor a bit more efficient.

    • Rosieodonell_16's avatar
      Rosieodonell_16
      Icon for Cirrus rankCirrus

      So R.Hickman, if I put the following code in my response then this should shutdown the server with any other response correct?

       

      HTTP/1\.(0|1) (200|301|302)

       

       

    • R__Hickman_1172's avatar
      R__Hickman_1172
      Icon for Nimbostratus rankNimbostratus

      Yes - that's correct. If the F5 does not receive a 200, 301, or 302 from the pool member, it will mark the health check as failed.

       

  • Hi,

     

    The simple way is you have to agree with the owner application that give you an URI to check (without authentication). Of course the response of your monitro request will be statick.

     

    you will have no other answer than "200 OK"

     

    More you can set in Monitor settings "Receive Disable String" to "503"

     

    I think your request was misunderstood, the monitor can respond 200 OK and the user have a 503 error, independent of the monitor.

     

    URL asked by user is different to this used in the monitor. so potentially the user may have problems that are not perceived by the monitoring url.

     

    So what I advise you is to create a maintenance page that Trigg this kind of response 50* and display a message to user and notify you trough an email.

     

    I hope you understood what I meant