Forum Discussion

Eddy_161863's avatar
Eddy_161863
Icon for Nimbostratus rankNimbostratus
Jan 12, 2016

Exchange 2013- Health Monitors

We are setting up our exchange environment and want to do individual health checks on individual services. so for every server in the pool we want to check whether all services (like OWA,MAPI etc) are available or not. and if one of the service is down, put only that service down not the whole server and not for other servers too (so basically checking individual services for every server in the pool)? We are using one VIP for all services.

 

Does anyone know what's the best way of doing it?

 

Thanks in advance for your help!

 

2 Replies

  • If you use the iApp to build your configuration it should build separate pools and corresponding health checks for each service I believe.

     

  • Hi Eddy,

    you have to use a dedicated Pool for each single service, pointing to the same set of servers. Then use proper health monitors for each of your services and bind them to the corresponding pools. Then point the individual virtual servers to the corresponding pools...

    If you want to monitor each single web based service (e.g. OWA, ECP, EAS, Autodiscover, etc.) independently, then you have to use dedicated pools for each of the WWW-based sub-services in combination with proper health monitors. The request routing between the different WWW-based pools could be done with either an iRule or by using LTM Policies. A simple iRule for this task would look like that...

    when HTTP_REQUEST {
        set low_uri [string tolower [HTTP::uri]]
        if { ( $low_uri starts_with "/owa" ) or 
             ( $low_uri starts_with "/ecp" ) } then {
            pool Exchange2013-OWA
        } elseif { $low_uri starts_with "/autodiscover" } then {
            pool Exchange2013-Autodiscover
        } elseif { $low_uri starts_with "/microsoft-server-ativesync" } then {
            pool Exchange2013-EAS
        } elseif { ( $low_uri starts_with "/rpc" ) or
                   ( $low_uri starts_with "/oab" ) or
                   ( $low_uri starts_with "/ews" ) } then {
            pool Exchange2013-OA
        } else {
            HTTP::redirect "/owa/"
        }
    }
    

    Cheers, Kai