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:
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:
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:
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! 🙂