Types of Monitoring
Part 2 of the Do It Yourself Database Monitoring Series
We’re still thinking outside of the box here as we go into the different types of monitoring. Big picture, right? From a DBA perspective, there are quite a few different ways the database environment can and is monitored. I’m going to break the types of monitoring into the following six categories:
- Third party tools
- End users and application users
- Different job titles/roles
- Do It Yourself
Third party tools: This is the most obvious form of monitoring to most people. You buy a product that is designed to be the end-all-be-all to your monitoring needs. Remember that sales pitch or their documentation for the product? Don’t get me wrong, there are some great and useful products on the market. Very much worth the investment. Once the pros and cons are discussed you will see that I believe this is something to take advantage of if you can. The third party tool doesn't necessarily have to be for monitoring. For example, Commvaullt has a wonderful backup tool that monitors...you guessed it, the backups.
End users and application users: These are the people out there using the database either through an application or some form of ad hoc reporting. Usually they are the ones that you do not want to find the problems first. However, if leveraged correctly with a little care, they can be very useful. Don’t forget they are out there. Especially in an environment that is very chaotic and has a lot of problems that need to be tamed. It also wouldn’t be unheard of for them to be checking the data for accuracy.
Different job titles/roles: Think of the other people with different job assignments here. Say for example, a SAN administrator or Network Administrator. It’s very possible there is already other people taking ownership of monitoring parts of the database environment. You could even put Cloud services in this category.
Auditors: Do you have to be Hippa, PCI, or compliant in another way? Some companies have auditors that are also monitoring the database and the data within it. Usually as it relates to security and access. Auditing is a form of monitoring for compliance. Penetration testing fits here too. Auditors can be both internal and external.
Vendors: There are times when vendors will be monitoring the databases as well. I can think of a few companies that do this. They are taking some initiative in making sure the database and application(s) are running well.
Do It Yourself: This is where you monitor the database yourself without any third party tools or applications. We all do this more than we realize. We know what we are doing, just not labeling it as monitoring. Let’s go into some examples.
- Opening SSMS to check the size of a database.
- Looking at SQL Agent job history
- Looking at database or system logs
- Setting up an alert for a failed job
- Creating extended events
- Setting up a DML trigger
- Running a SQL trace
- Executing a query against a system table or dynamic management view
- Creating a process to check identity values
- Building a database monitoring tool.
As you can see there are different ways we monitor our environments. DIY monitoring happens all the time. It is when you build an application (even if it is just scripts) or a set of tools to capture the current state is when DIY seems to be more ‘official’. I had to refrain from adding management tasks to my examples of monitoring above. There is overlap between the two which I think should be embraced as we move forward here.
When setting out to figure out what your tool is going to do, keep the other types of monitoring in mind. No need to monitor something that is being monitored by another team or another product. You may even want to think about the audits if you have them. Think about your environment. We’ll get into how it is all tied together in another article. Something else to think about is having the ability to add functionality in the future.