Monitoring Costs

I'm a believer in instrumentation and metrics being regularly gathered from your systems. Across the years I've built and bought monitoring software to use in various jobs, sometimes in layers where one piece of software uses data from another to provide insight about the way in which applications are performing. By gathering and analyzing this data, I can determine if more or less resources ought to be allocated to meet the demand.

No matter how you choose to gather this information, there are costs associated with the effort. Early in the lifecycle of an application, many developers and DBAs might just check to determine if the a system is up. As time passes and dependency increases on the system, there are additional needs to understand more about the system, such as storage, processor usage, and more. SQL Server has certainly matured in this respect as well, with more and more DMVs being added over time to allow more instrumentation of the platform.

One of the interesting things that happens when you monitor your systems is that there are various costs to your organization, some of them hidden. Certainly purchasing or building software has a cost, but what about the other costs involved? As I work for vendor that sells this software, I'm always amazed how customers view costs. Most understand there are hardware costs, though surprisingly, a few don't expect that.

There are other costs, some of which are outlined in the article linked above. There are plenty of time costs, especially associated with learning and configuring the software. In fact, this can be a significant cost. Most customers fail to account for time, and regularly become frustrated as the instrumentation never seems to meet their needs. Either it hasn't been configured to meet your needs, or you haven't learned to use the system well. There are also some people that find the opposite, with monitoring visualizations becoming a time sink, where administrators get lost in the analysis of data and the variety of ways to examine the information available.

It's not just administrators, as not shortage of executives have wanted real time visualizations of metrics on systems, sometimes just standing there watching the metrics rise and fall to gain confidence in how well their systems are functioning.

There is another cost that many people often forget about as well. Any system that monitors another will impose a load to gather that data. That could be significant, especially if you haven't tuned your software. There will always be some load, and I think it's necessary to have information, but you ought to be sure the load isn't too significant.

It's important we monitor our systems. I would never build that system again, but rather buy some piece of software because the process is cumbersome and there are lots of choices for software that someone has spent time building. I'd rather learn to use their application well and let it help me do my job.