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.
- 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:
- REDIS Key Value Store Monitoring
- HAProxy Load Balancing Monitor
- Elastic Cluster Monitoring? (I’m fuzzy on this one)
- Exception monitoring using StackExchange.Exceptional
- A plug-in architecture for Network monitoring
- Opserver ships with one plugin for a commercial product called SolarWinds Orion
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: