So, it’s time for a new database monitoring platform? With the volumes of databases per DBA increasing rapidly, it is time to transition away from manual diagnostics and monitoring.
Perhaps your biggest challenge is sifting through all of the database monitoring options to find one that best fits your needs along with one that best fits your role as a DBA.
Let’s look at some of the monitoring options you’ll find as you search for the right SQL database platform.
Any good monitoring system includes alarms. Alarms should come preconfigured with industry best-practice thresholds with the option to customize later if you find use cases in your environment that differ from the norm. Ideally, you should be able to build specific rules (e.g. “exclude this instance from this alarm” or “only raise an alert if this alarm is triggered x number of times”). Alarms can be a real missed opportunity – most alarms just tell you that a metric has breached a threshold,but wouldn't it be great if your monitoring system could start the diagnostics process for you by presenting some associated metrics, a trend line for the metric concerned, some interpretation of the alarm, or some pointers on how to troubleshoot or remediate the situation? Keep your eyes out for “Smart” alarms.
Effective Alarm Management
If you have many databases in a busy environment, then you are likely to see lots of fluctuation of performance over time. Alarms will be issued when the system tackles out of the ordinary workloads, when development deploys poorly tested code, or when random scenarios occur. Make sure you have a tool that allows you to prioritize which instances require the most immediate attention, and that there are strong features relating to the grouping and managing of alarms.
Getting an alarm issued is just the first step in the process. The main advantage of knowing about a problem is the ability to fix it. A monitoring system without comprehensive deep-dive diagnostics will expose you to a world of pain with no cure in sight! Make sure your toolset has sophisticated database visualization in order to interpret the myriad of metrics that you need to analyze the issue in seconds. Then make sure there are diagnostic workflows optimized from the most commonly occurring problems you are likely to see.
Rapid Time to Value
It is important that you can get going fast and not waste time configuring and customizing your system. Performance repositories need constant care. Remember – they are highly transactional systems in their own right collecting hundreds of metrics per instance, every second. Housing these systems for any size of an environment is a nontrivial endeavour that can get costly fast. SaaS solutions can take a lot of that burden away giving you steady scale, predictable costs, and rapid Time to Value.
The symptom rarely reflects the root cause. Your job as an investigator will require you to examine your workload from all angles. What SQL generated the greatest workload, what were the most commonly occuring wait stats, from whom, on what instances, on which host, etc. Being able to treat your workload like a rubix cube allows where you can instantly dissect it across a variety of dimensions, is an invaluable capability that helps you get to root cause fast.
Most of the monitoring systems out there support alarm notification via email. This is great but if you are at home at the weekend of receive notification out of hours, it is very frustrating to rush to your laptop or into the office only to find that the alarm was minor,a known issue, or something you could have handled remotely. A comprehensive mobile app can deliver alarms to a mobile device, and if constructed correctly, it could also deliver real time diagnostics so that you can start troubleshooting right there and then from your device. Try to avoid vendors who use a browser based UX on a mobile device. These tend to be clunky and difficult to use on limited screen real estate. Look for dedicated iOS and Android apps..
Active databases are fluid systems that change over time. It is important that your choice retains historic data so that you can troubleshoot issues that have already occured, establish whether they are once off or recurring, and how they are trending over time. Look carefully at the storage required to house this data and how much history is retained. Performance repositories can get big fast. If you are looking at SaaS solutions, avoid those whose pricing is tagged to your performance data storage.
Tuning and Optimization
Always keep in mind that your ultimate goal is to improve things - not just to know what is wrong. Look for tooling that highlight tuning opportunities. When you find a problematic piece of SQL, look to improve the plan or maybe tweak the code itself. This can be a complicated task. Be sure to look for tooling with built-in artificial intelligence that can handle complex tuning and examine multiple permutations to deliver the best choice for your particular instance.
Monitoring systems are a bit like intensive care environments. They are constantly monitoring the vital statistics of your database. Even after intensive care reports all is well, you would still visit your family doctor regularly to make sure that your health trends are good. You would look at things like weight, lifestyle, blood pressure, etc. Databases are no different. Apart from constant watching of the vital signs, it is also important to look out for health trends (e.g. Am I doing backups?o I have missing indexes?, What percentage of my workload is from ad hoc queries?). There are many questions you could ask that would give you early warning indicators of trouble ahead. Look for a system that can give you those kinds of insights.
Use these top database monitoring features to choose the right SQL performance monitoring platform for your business.
Take the next step to protect your company servers from being outdated. Learn how to future-proof your systems (and save yourself a lot of time in the long run).