Configuring the new Storefront Monitor in NetScaler 10.1

With the new NetScaler 10.1 Release Citrix is shipping an "built-in" Storefront Monitor so you no longer have to use an https-evc Monitor (or something else) as Monitor like I described in my previous Blogpost.

UPDATE: The Problem I describe below seems to be fixed in the new NetScaler Release 10.1 Build 120.13 according to the Release Log.

Issue ID 0398327: Monitoring of StoreFront servers fails if they are part of a cluster and the StoreFront monitor is bound to the entire service group. The StoreFront monitor probe fails because individual members have different host names.

In this Example my Storefront Servers are named storefrontserver01 and storefrontserver02 and they are load balanced under the DNS Record lb-storefront.domain.local which is pointing to the Virtual IP Address (VIP) on my NetScaler responsible for load balancing the two Storefront Servers.

When configuring the new Storefront Monitor don't put the load balanced Storefront DNS Record in the Field "Host Name". Here is the Screenshot how NOT to do it:

You shouldn't use the load balanced DNS Record because as soon as your two (or more) Storefront Servers are down at the same time and therefor your Storefront Virtual Server is marked as Down too, the Storefront Monitor will never report the Storefront Services as up again even though the Storefront Servers might have recovered in the meantime. This is because the Storefront Monitor is checking the DNS Record pointing to the marked as "Down" Virtual Server load balancing your Storefront Servers which in turn is down because the Monitors are "Down" and the Monitors are "Down" because your Virtual Server is "Down"... the NetScaler is caught in a Loop.

To prevent this from happening you should instead create a separate Storefront Monitor for every Storefront Server you are going to be load balancing and put the FQDN of your Storefront Servers in the Field "Host Name". In my example this would be storefrontserver01.domain.local and in the second Monitor it would be storefrontserver02.domain.local.

You should then bind the new Monitors to their corresponding Service as shown in the Screenshot below:

If something is not understandable or my explanations are too weird feel free to let me know in the Comments :)