The best monitoring tools for Exchange 2000 Server are third-party add-ons, but Exchange Server and Windows 2000 offer several useful monitoring tools, including Exchange System Manager (ESM) and Performance Monitor, that help get the job done. Exchange's built-in monitoring capabilities let you track virtual memory, CPU use, free hard disk space, Win2K services, SMTP queue growth, and X.400 queue growth. Let's discuss how to configure and use some of these tools to perform basic monitoring in your Exchange environment.

Tracking Mail Queues
A limitation of ESM is that it can't display a consolidated view of mail queues from multiple servers across an Exchange organization. To view an SMTP queue on a server, you must run ESM, navigate to the desired administrative group, click Servers, choose your server, and expand the Protocols container, the SMTP container, the desired Default SMTP Virtual Server container, and the Queues folder. This exercise requires several mouse clicks; checking the queues on 10 Exchange machines in different Administrative Groups might require 60 mouse clicks.

You can create a Microsoft Management Console (MMC) console that uses Performance Monitor (perfmon.exe) to view and monitor queues for a selected group of Exchange machines. To open Performance Monitor, click Start, Programs, Administrative Tools, Performance. This Win2K tool retrieves information from performance counters that applications such as Exchange publish. A small application might publish counters for just one performance object, but large applications such as Exchange divide performance reporting across a set of objects. For example, to monitor SMTP activity, you can select the SMTP Server performance object. However, because an Exchange server can host multiple SMTP virtual servers that do the actual work of processing messages, you have a further level of granularity to deal with. You must select an "instance"*in this case, the SMTP virtual server*that you want to monitor. To monitor queue activity for the default SMTP virtual server, select the performance object SMTP Server, the instance SMTP 1, and the performance counters that you want to monitor for that object, as Figure 1 shows. The default SMTP virtual server corresponds to instance SMTP 1; if you have multiple SMTP virtual servers on your server, those servers will be numbered SMTP 2, SMTP 3, and so on.

The following counters provide a good overview of messaging activity on a server, so add them to your MMC console:

  • Categorizer Queue Length
  • Current Messages in Local Delivery
  • Local Queue Length
  • Local Retry Queue Length
  • Remote Queue Length
  • Remote Retry Queue Length

If your administrative group includes some Exchange Server 5.5 machines, the Message Transfer Agent (MTA) handles traffic to the legacy Exchange servers, so you must monitor the MTA queue lengths. To view the MTA queue lengths, select the MSExchangeMTA Connections performance object and the Associations counter.

You can add performance counters from multiple servers to the console. This feature is useful if you want to gain an overview of queues across multiple servers. However, make sure that reasonable connectivity to a remote server exists before you attempt to retrieve any performance data from that server. A network failure is the best possible guarantee that messages will accumulate in queues, and you probably won't need a monitoring tool to tell you when a failure happens.

To customize the Performance Monitor console, select System Monitor and choose Properties. If you're monitoring servers across a WAN, go to the General tab and increase the polling interval from the default value of 1 second to 30 seconds, as Figure 2 shows. On the Graph tab of the System Monitor Properties dialog box, the vertical scale defaults to 100; I usually change this setting to 50. Give the chart a meaningful title and labels so that other administrators can understand the meaning of the data that the console displays. Because the sample console collects data about mail queues from servers in Dublin, Ireland, and Valbonne, France, I've named it Dublin and Valbonne Mail Queues. When you've added all the servers and finished customizing the chart, save the console for future use by clicking Console, Save As.

Configuring Alerts, Monitors, and Notifications with Performance Monitor
You can configure Performance Monitor to send alerts to notify administrators when problems occur. To set up an alert, click Performance Monitor Alerts and Logs, click Alerts, then right-click and select New Alert.

Add the counters that you want to monitor. The default interval is 5 seconds, but you can increase the interval to 30 seconds or 60 seconds to reduce network traffic. You must set the alert value and interval value on each counter.

You set the notification method on the Action tab, as Figure 3 shows. In this example, the alert sends a message to a computer. This alert mechanism uses the Messenger Service, so ensure that the Messenger Service is enabled on your servers and clients. You can also run a program to send a notification (e.g., a program can call a pager or send a Short Message Service*SMS*message to a cell phone). An alert can trigger a performance log, which can be useful for gathering information for troubleshooting purposes. To save the alert, click Console, Save As, and choose a meaningful name such as Exchange Servers Alert.msc.

Configuring Alerts, Monitors, and Notifications with ESM
Before you configure an Exchange monitor with ESM, you must select a server that will be responsible for running the monitor. If you can spare the hardware, configure a dedicated Exchange server for monitoring purposes. A production Exchange server with a large number of mailboxes shouldn't monitor itself. If the Exchange monitor runs on a production server and the server crashes or hangs, the server won't be able to send a notification message.

To configure an Exchange email notification, run ESM and click Tools, Monitoring and Status, Notifications, New Email notification. In the E-mail tab of the resulting Properties dialog box, you can choose to monitor the local server, all the servers, any server in the routing group, or a custom list of servers (among other options).

You can configure an Exchange email notification to go to one user, a set of users, or a distribution group. For the best results, use a distribution group that includes key personnel who have the necessary administrative permissions to resolve any problems that might arise. The mailboxes in the distribution group should be on different Exchange servers so that if one server has a mail-delivery problem, mailboxes on other servers will still receive any alerts.

You can also configure ESM script notifications. A script notification is like an email notification except that a batch file or an executable program performs the notification instead of an email message. To set up a script notification, run ESM and click Tools, Monitoring and Status, Notifications, New Script Notification. Next, supply a path to a batch file or an executable that Exchange will invoke if notified. The script could call a pager or send an SMS message.

Before configuring an ESM email or script notification, you need to decide which resources Exchange should monitor on a per-server basis. Run ESM, navigate to a server, right-click the server, select Properties, and select the Monitoring tab. Next, click Add and choose a component.

Monitoring Services and Virtual Memory
Exchange 2000 includes another tool, the Default Microsoft Exchange Services monitor, that tracks core Exchange services, as Figure 4 shows. To shut down a server or stop Exchange services for scheduled maintenance, you can go to the Monitoring tab of the server's Properties dialog box and select the Disable all monitoring of this server check box to prevent alerts from being triggered.

Add the following services to the Default Microsoft Exchange Services monitor if these components and protocols are running on your server:

  • Microsoft Exchange Event
  • Microsoft Exchange IMAP4
  • Microsoft Exchange POP3
  • Microsoft Exchange Management
  • Microsoft Exchange Site Replication Services
  • Microsoft Search

Also add any services that third-party products such as antivirus software or fax connectors use.

To monitor the SMTP and X.400 queues on a server, right-click the server and select the Monitoring tab. Click Add and select SMTP Queue Growth. You can set thresholds for Warning and Critical states for backed up messages, as Figure 5 shows. Exchange monitors can also check available virtual memory over a period of time. Figure 6 shows Virtual Memory Thresholds settings. You can set thresholds for the percentage of virtual memory available before a Warning or Critical state occurs.

Other useful Exchange monitoring tools include WinRoute and MailQ. WinRoute displays information about the link-state of all connections and is available in the Exchange 2000 CD-ROM's \support\utils\I386 folder. MailQ publishes mail-queue information to a Web browser. MailQ, which is part of the Microsoft Exchange 2000 Server Resource Kit, uses Windows Management Instrumentation (WMI) providers to access and display queue information. For more information about WinRoute and MailQ, see Donald Livengood, "How to Use WinRoute and MailQ," May 2002, InstantDoc ID 24434.

The monitoring tools that ship with Win2K and Exchange 2000 do have some shortcomings. Nevertheless, these tools are flexible and offer a low-cost alternative to third-party monitoring solutions.