What Does Opserver Monitor?

The Opserver project was originally built to monitor the services that run the StackExchange family of websites. As such, it monitors a number of systems specific to their needs. Since it has been open sourced, the project is beginning to support additional systems. It is moving along quickly and wonderfully, but it is unfinished. I was curious about what it does now and where it’s going, so I dug through the source code. (it was an enjoyable read if you work with ASP.NET MVC and data systems)

This post describes my findings, to the best of my understanding, of what Opserver can do today.

Initial Out of the Box Experience:

You must build the project and deploy it to an IIS web server. By default Opserver does nothing. It will start up to a blank white screen until you enable some or all of the features. This seems to be a point of confusion, but it is sensible default as all monitoring requires configuration anyway.

Available After Configuration:

After brief configuration, it is very easy to use. I am excited about the project for its SQL monitoring aspect. I will have some follow up posts on the SQL monitoring.

SQL Monitoring:

  • Backup status for all databases
  • Server memory usage
  • For SQL Server 2012 and above it displays the drive space used / available
  • Execution Plans for longest running queries
  • Active Connections using Adam Machanic’s sp_WhoIsActive (if it is installed into the Master db of the server)
  • …and many more features I will write about soon

Features I have not tested:

Near future additions?

There is work started on the following incomplete features:

  • Show database views, storage, indexes, missing indexes, unused indexes
  • Brent Ozar’s sp_BlitzIndex™ runner

Other possible features to be added:

Its modular architecture could be extended with your own custom monitoring plugins or custom tabs if you are willing to get your hands dirty. Customization requires a solid understanding of ASP.NET MVC architecture, JavaScript, and Dapper.Net for data access. That is not needed to use the built-in features which only require simple configuration.

Leave a Reply