User:Wheeliestu/sandbox

ServiceMon is a lightweight, real-time, service monitoring tool for Windows which is extensible using the .NET Framework.

ServiceMon was originally developed by Kaleida to monitor the availability of critical infrastructure, including web services and web pages, and to graph the distribution of response times using a Histogram. On August 14, 2012 Kaleida released the source code under the GPL License and the project continues to be actively developed.

Configuration
The monitoring behaviour is controlled by a plain text script which describes the resources to monitor, and the conditions which constitute failure. The script can also contain comments, which are ignored by ServiceMon but provide useful information for human readers, and directives which modify the behaviour of the monitoring engine. Operations always take the structure of:. The request part of the operation,, is executed on the tick of a timer (which occurs every second by default) that then waits for a response to be received. When the response arrives it is given to the response-handler which checks that the response meets the specified criteria.

Extensibility
ServiceMon supports adding new requests and response-handlers using the .NET Framework.

To create a new request type:


 * Create a new .NET class library solution using Visual Studio
 * Add a reference to Kaleida.ServiceMonitor.Framework.dll (usually found in C:\Program Files (x86)\Kaleida\ServiceMon)
 * Create a class with the same name as your new operation (for example, if you want to create an operation called  your class would be called
 * Inherit from
 * Implement
 * Add a constructor to your class with one or more string parameters, one for each argument the request accepts
 * Build the solution and copy the new DLL into the Operations folder underneath the ServiceMon.exe directory