The Microsoft Win2K Network Load Balancing (NLB) service permits multiple servers in a cluster to act as one virtual server. When a request comes to the virtual NIC’s IP address, NLB determines which server is the least busy and sends the request to that server. (For more information about NLB, see Tao Zhou, "Microsoft’s Load-Balancing Services," April 2000.) When you monitor systems with NLB, remember that the Web request physically goes to only one server. For example, suppose that I cluster Server One and Server Two as the Web servers for the mycompany.com Web site and use NLB to load balance the servers. Server One’s Microsoft IIS service fails, but the server remains up. Because NLB doesn’t recognize that the IIS service is down, NLB continues to route requests to both servers, but Server One can’t fulfill the requests that it receives.
To get an accurate view of sites that use NLB technology, you must monitor not only the Web site (i.e., mycompany.com), but you must also independently monitor each server in the NLB cluster (i.e., Server One and Server Two). First, you need to configure IIS so that multiple hosts can access the same Web site: Configure IIS to permit connections through the URL (mycompany.com) and each server’s IP address. Second, add the IP addresses of Server One and Server Two to the array variable in webmonitoringmodulescript.pl (see Listing 1). With this enhancement, you can determine whether all your clustered Web servers are working.