Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WCF service health monitoring

I just implemented a WCF service and I am currently looking at service monitoring options. Our server team that currently hosts only java services wants us to have instances running all the time, so it can gather data in that instance during its lifetime and they said they will use one of our operations with webmon to get statistical information. But we are using per call and I dont think that will work under this architecture.

I am wondering if there is a way to get the statistics of how an operation in the service did in certain amount of time and provide an another operation for webmon to use that gives an integer value about its performace in certain time period, webmon, then decides weather to alert the admin or not.

I was considering parsing of log files to get statistics but that might be an expensive operation if done every 15 mins.

If not what are my options for detailed automatic health monitoring of wcf applications?

like image 205
user724535 Avatar asked Feb 21 '12 13:02

user724535


1 Answers

My company very recently agreed to open-source (under the GPL License) the tool that we use internally to monitor our live web services and for producing availability and response time reports. It's called ServiceMon and it may meet your needs.

It runs on Windows as a standalone application and works by following a simple script of operations that dictate the services to be monitored. For example, to check a web page contains a particular value, in a similar manner to webmon, you'd use this line:

http-get "http://www.google.com" must-contain "I'm Feeling Lucky"

The frequency at which it executes the script operations can be easily configured as can the order which it processes them.

In addition to monitoring web pages and web services we use ServiceMon to track availability statistics of each service and to produce response time statistics.

Screenshot of ServiceMon's statistics view

ServiceMon is written using a plugin architecture so you can use .NET to add new types of monitoring operations. So, for example, if your web service uses funky authentication you can fairly easily plug this in to the utility.

Full documentation and download instructions here

I hope you find it useful and I'd love to hear your thoughts

Disclaimer: I developed ServiceMon so I may be a little bit biased :)

like image 185
Wheelie Avatar answered Oct 19 '22 11:10

Wheelie