MetricsView: Monitoring the Status of a Windows Service

Here are instructions to setup a Windows Power shell data collector to monitoring the status of any windows service.

  1. In your Dotcom-Monitor Account, set up a MetricsView Custom Collector:

MVCol

  1. Setup a custom collector task. You must fill out the host category instance and counter fields, but it doesn’t matter what they are, they are not used for this.  The Aggregation type for the Task must be set to MIN or MAX.  MVCCTaskThe service status can be in 7 states.

By default they are transformed into values:

Service is stopped – default 1000

Service is starting – default 2000

Service is stopping – default 3000

Service is running – default 4000

Service is resuming work after pause – default 5000

Service is pausing – default 6000

Service is paused – default 7000

We recommend using Min, so you can set your Min threshold to Anything less than 2000 to will detect “service is Stopped”.

  1. Request the Powershell script ServiceMonitoring.ps1 from support.
  2. Open Powershell as administrator
  3. Navigate to the directory where ServiceMonitoring.ps1 is:  (for example, I created a folder in the c: drive) cd c:\ps\
  4. Run the command set-executionpolicy unrestricted
  5. run the  command .\ServiceMonitoring.ps1 -collector <Collector ID>-task <Task UID> -service <Service name>  -log
  6. the collector ID is found under Configure MetricsView Collectors.  MVCCID
  7. The task ID is found when editing the taskMVCCTaskId
  8. Service Name is spelled exactly as it shows up in the services window.
  1. If you don’t put in a valid task ID you will got an error.
  2. With the –log command you can verify the script was working correctly in the event viewer:WindowsLog

To get built-in help execute .\ServiceMonitoring.ps1

-log key enables logging to EventLog “Windows Logs/Application”. By default the logging is done to console only.

The service status can be in 7 states. By default they are transformed into values:

Service is stopped – default 1000

Service is starting – default 2000

Service is stopping – default 3000

Service is running – default 4000

Service is resuming work after pause – default 5000

Service is pausing – default 6000

Service is paused – default 7000

These values can be set to any other values using command-line keys:

-stopped <number>

-starting <number>

-stopping <number>

-running <number>

-continuing <number>

-pausing <number>

-paused <number>