The XMLServiceMonitor is a Windows service with XML configuration files that runs on a designated server and monitors servers, services, applications, sql jobs and scheduled tasks running on the network.  The service polls every 15 minutes (configured in config.xml file) and will send email notification on any monitored server, service, application, sql job or scheduled task that is not running or has failed.

The config.xml file and servers.xml files are stored in a directory in the root C drive of the server that runs the service and allows specific changes to be made without editing the code of the service itself.  The folders should be created in the following path:  C:\ServiceMonitor.

The config.xml file can be modified to affect the following changes:

  • Email from address, email to address, mail server
  • Scan interval in minutes







The servers.xml file structure allows servers and the services, applications sql jobs, and scheduled tasks to be monitored or have the monitoring disabled by settings in the xml structure. Setting active to 0 from 1 in the xml node disables scanning of a particular item. A sample of the xml structure follows:




           <service active="1">W3SVC</service>

           <service active="1">IISADMIN</service>

           <service active="0">aspnet_state</service>




           <job active="1">SQL JobName</job>



             <task active=”1”>FolderName\TaskName</task>



Changing settings in the servers.xml file does NOT require the service to be restarted, however, changing the config.xml files does require the service to be restarted for changes to take effect.

Installation and Configuration

In the Installer directory there is Setup.exe file to run and install the service on the desired server. This is an X86 service and will install in the following directory in 2008 Server (2003 server will be in programs directory) C:\Program Files (x86)\Brian Rhody\XMLServerMonitorInstaller.

In the XMLServerMonitorInstaller directory you can edit the XMLServerMonitor.exe.config to change app settings such as the sample below:


     <add key="path" value="C:\ServiceMonitor\servers.xml"/>

     <add key="configPath" value="C:\ServiceMonitor\config.xml"/>

     <add key="Domain" value="YOURDOMAIN.COM" />

     <add key="DomainUser" value="USERNAME" />

     <add key="DomainPass" value="PASSWORD" />


SQL Scripts are located in Source\XMLServerMonitor\SQLScripts to generate the two(2) tables necessary for logging.

Source code is also provided should you wish to make code changes and recompile, located in the Source directory.


Last edited Jun 14, 2011 at 5:45 PM by brhody, version 4


Chromebuster Jul 31, 2011 at 4:10 AM 
Darn. I'm really glad I found this little application because my printer service went down last week along with my server, and it was a real hassle trying to troubleshoot that one. I could have saved tech support from having to deal with me if I had checked the service, or had known to check it.