Monitoring Tools – Pros and Cons

Part 3 of the Do It Yourself Database Monitoring Series

What benefits are there in monitoring and why should you do it?  The main reason is to keep your environment in an optimal state for the operation of the business.  This is about the business and there is an expense involved.   Monitoring can (but not always) help with quality of life and job satisfaction too. Monitoring has the potential to help with:

  • Trending, forecasting, and planning – One of the more important aspects of monitoring. Information gathered could be used to be pro-active.  Say for example, there could be metrics with historical space utilization that could be used to predict when more space is needed.
  • Notification of conditions – Alerts, reports, and any type of communication sent to notify of a state in the environment. This is a good way to discover a situation that may indicate an upcoming problem or one that is currently happening.  May also be a way to inform that there are not any issues.
  • Troubleshooting – When researching issues, monitoring can be used to isolate and rectify the problem(s). Current information and/or historical information gathered by a monitoring tool can be helpful.
  • Tracking changes – This is great for those situations when a problem arises and someone says that “nothing changed.” Some examples include changes in query plans, file growth, code, and the list goes on.
  • Protecting the company and yourself – Knowing the state and conditions is vital in protecting the company’s assets.  Keeping track of the ability to recover in an emergency is a must have.   Managing security is another important way to protect the company.  Having accurate data is important too.
  • Meeting service level agreements – There may be SLA’s that need to be met. What is the uptime for the database?  I once had listed in my goals and objectives for my annual performance review the transactions/sec and average query time metrics.  
  • Research – Find out who has excessive privileges, when the scheduled jobs are meant to run, who is the owner of a database, what versions are we at, database settings, etc.
  • Assist with management of  the database environment - Of course, all the above tie into this as well.  Thinking more along the lines of creating incidents, versions, documentation, contacts, etc.

There are also some drawbacks to monitoring.  Some are specific to the type of monitoring. 

  • Monitoring the monitor – If the monitoring goes down then how do you know? This could be a point of failure. 
  • Limitations of third party tools - Let’s face it, they are not all encompassing. Sometimes more than one tool is used and/or a combination of a tool with a homemade process.
  • Over reliance of third party tools – The best way for me to describe this is with the phrase “Monkey Chart.” The tools can be overly depended upon on how troubleshooting and monitoring are performed.  Makes it easy for someone to not think about what is happening.  Car repair shops are notorious for having monkey charts used to isolate problems; if the problem doesn’t fit the logic flow in the charts, they may not find the problem.  
  • Signal to noise ratios – This is about the alerts and notifications. If the notification (signal) isn’t reacted upon then it becomes noise.  You want a signal to noise ratio to be 1:1. More on this when discussing chaos in environments.
  • Agents/daemons – Some tools require an agent to be installed on every server being monitored. One specific tool is coming to mind here, but there are others.  If there are multitudes of servers, this becomes a pain to manage.  These components also consume system resources which may be better served for the database engine.
  • Overhead – Personnel resources are needed to configure and manage the tool. This is more of an issue with a Do It Yourself model than a third party tool.  Regardless, overhead is inevitable. 
  • Licensing fees – There are costs with licensing fees and possibly a support contract with a vendor.
  • Items being monitored are not configurable – Sometimes the metrics and thresholds need to be adjusted to fit the current needs.
  • One size fits all – Too often what works well for one server or database doesn’t work well for others.

Stay tuned!! next installment in this series coming soon!  "DIY Monitoring Tool - Pros and Cons"