Diagnostics Kit released!


For some time I have been working on a monitoring solution for developers. Today I have a pleasure to announce its first official release. It is a set of tools which should help you better diagnose your applications. As there are many monitoring solutions on the market you may be using one of them (and that’s great). However, I’ve observed that it’s still uncommon for developers to collect application logs in one place. Therefore OPS monitor IIS logs and developers are checking application-specific targets. This is not the best approach as you can’t see at first sight if something is going wrong with your application. Few years ago I had an idea of an application board which will show statuses of applications on all the servers. This is one of the central part of the Diagnostics Kit and I named it the Diagnostics Castle. A sample board might look as follows:

diaggrid

Now, you can tell at a glance whether we have a problem with a server or an application. This is an indispensable knowledge after a production deploy 🙂 Additionally, when you click on the application name you could see its configuration on all the servers:

diagconf

There are two places from which logs come to the board: the Musketeer service and the Harvesters. Three years ago I wrote a post describing the performance counters collection, where I showed you the initial version of the Musketeer service. Now, the service is more mature and is capable of monitoring IIS logs and application configuration on the server. Harvesters are libraries (installed with Nuget), which you may plug into your application and send the application logs to the Castle. Most common logging libraries are supported so just have a look at the list and pick the one that suits you best.

I haven’t mentioned yet the log viewer. It will show up after you click on any green or red cell on the board and will allow you to filter the collected logs (full-text search is available in selected log store, currently only in the Elastic Search store). An example log viewer might look as follow:

diaglog

Finally, the last interesting tool in the kit is Bishop. Bishop is a Fiddler plugin which integrates with the Castle and provides different ways of tampering the requests. With its help you may:

  • skip the load-balancers and send requests directly to the servers where you deployed applications
  • emulate border routers HTTPS encryption on localhost when testing/developing applications
  • test regex rules for your load-balancers or reverse proxies
  • forward all the traffic to your test server (for instance on Docker)

Please have a look at the wiki and the project page for more details.

As you might have noticed, with the release of the Diagnostics Kit I am also presenting my new site: http://www.lowleveldesign.org. It will be the place where I’m going to publish links to my projects, presentation materials and articles (the blog address stays the same). The page dedicated to the Diagnostics Kit is http://www.lowleveldesign.org/diagnosticskit and the source code of the project can be found on github. I hope you will find this tool useful, and if you have questions don’t hesitate to ask. Also, any contribution is welcome! 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s