What is your favorite SQL database

The Ultimate Guide to Database Monitoring + List of the Best Tools

Databases are at the heart of most basic business processes. The more complicated the applications, the more diverse and demanding the IT infrastructures become. That's a good thing: our IT technology is advancing, becoming more versatile and evolving. However, this development also brings difficulties in troubleshooting and problem solving.

In such widely ramified infrastructures, it is even more difficult than before to find the cause of a problem. This is where database monitoring comes into play.

This guide covers the benefits of database monitoring and best practices for monitoring database performance. With that in mind, I've compiled a list of the best database monitoring tools to give you an overview of the many software options available in the market, including a comprehensive review of the SolarWinds® Database Performance Analyzer.

What is database monitoring?
Main advantages of database monitoring
How to Monitor Database Performance

Usual methods of database monitoring
The most important database performance metrics to monitor
Database Monitoring Best Practices

Manual vs. automated database monitoring
List of the best database monitoring software
How to choose the best database monitoring tool

 

What is database monitoring?

Database monitoring is the process of measuring and monitoring database performance using critical metrics that affect it. Typically, these metrics are monitored in real time to identify or predict problems. Effective database monitoring also offers the opportunity to improve or optimize the database and thus increase overall performance.

The aim of database monitoring is that your database and the resources connected to it function at the highest possible level, so that your application infrastructure is available and functional at all times. IT administrators can use it to initiate fast and precise problem-solving processes and save time and valuable resources. The key additional benefit is that it creates a streamlined end-user experience with no disruptions and quick, efficient problem resolution.

To design an efficient database monitoring strategy, you should analyze data from a wide variety of categories to minimize and prevent delays and failures. Different data points have to be analyzed for different database types.

Database monitoring monitors the performance of hardware and software using frequent snapshots of performance indicators. This allows you to identify changes and bottlenecks and pinpoint the exact moment when problems first appeared. You can then use this information to rule out potential causes and pinpoint the real underlying cause of a problem.

Main advantages of database monitoring

Successful database monitoring makes a decisive contribution to overall business success. After all, a bad end-user experience is known to quickly lead to loss of customers and sales. By evaluating user and application activities, the monitoring provides you with a complete overview of your database. Implementing a robust database monitoring program can give your company significant advantages. This includes:

  • Reduction of the time and resources required to search for hidden problems in the database and IT infrastructure
  • Enhanced end user experience
  • More effective capacity planning
  • Ability to proactively resolve performance issues before they affect end users
  • Findings on ways to improve performance
  • Findings on possible security gaps

Back to top

 

How to Monitor Database Performance

As mentioned above, database monitoring is particularly important because it enables database administrators to identify problems before they become acute. To keep your applications accessible and functional, you need to understand how to monitor database performance and which metrics and best practices are particularly important.

Usual methods of database monitoring

First, let's look at the two main approaches to database monitoring: proactive and reactive.

Proactive methods aim to identify problems before they become serious. Reactive methods, on the other hand, reduce the effects of the problems after they have already occurred.

Reactive monitoring can be used to troubleshoot performance issues, report major incidents, or investigate security breaches.

However, there is widespread agreement that the proactive approach is less risky and leads to a better end-user experience. However, to be proactive, you need to make sure that you are monitoring the correct metrics and notifying the relevant people whenever something appears to be wrong or deviates from normal values.

The most important database performance metrics to monitor

It is recommended that you monitor the following key performance metrics to gain insight into the overall health of the database environment:

  • Interrogate:To ensure good overall performance, it is important to monitor the performance of the queries themselves. Database monitoring should alert you to query problems such as inefficient joins between tables, insufficient or excessive indexes, and literal SQL.
  • Capacity problems: Database problems can be caused by hardware problems, such as slow or insufficient CPUs, slow disks, misconfigured or full disks, or out of memory.
  • User conflicts: When a large number of users access a database, activity and query conflicts can arise. For example, your database's performance can be caused by page / row locks due to slow queries, transaction locks and deadlocks, or batch activities that cause resource conflicts.
  • Configuration problems: Disks that are not properly configured can cause performance problems. Monitoring identifies problems such as insufficient buffer cache or lack of query caching.

Back to top

Database Monitoring Best Practices

Now that we've looked at key database performance metrics, let's look at some key best practices for your monitoring strategy. These include monitoring availability and resource utilization, measuring and comparing throughput, monitoring database changes, logs and resource-intensive queries, and including historical data.

  • Monitoring of availability and resource utilization:Monitoring resources includes regularly checking that all databases are online. This is the most important and at the same time the simplest step, which should be carried out both within and outside normal working hours. If you monitor your database manually, resource monitoring is time consuming and quickly forgotten. The use of a monitoring tool is therefore essential at this point. I will cover the best tools for database monitoring later in this guide.
    Once everything is set up, it's time to check resource usage. By “resources” I mean memory, disk, CPU and network-related components. For example, if you have any indications of high CPU usage or low disk space, the appropriate person on your team should be notified. A good monitoring tool does this job for you.
  • Throughput measurement:Measuring and comparing throughput is all about keeping track of throughput metrics like the number of connections per second and replication latency. As a baseline for comparison, all measurements should form the basis for future measurements. This makes it possible to quickly identify deviations or anomalies and to investigate them with suitable measures.
    The baseline should be based on several measurements taken in different production phases over a period of two to four weeks. Some tools allow you to set baselines as alert thresholds so that you can be notified of deviations.
  • Monitoring and analysis of resource-intensive queries:Monitoring resource- and time-consuming queries comes into play when everything is online and resources are not overloaded, but problems with database performance still arise. This could be due to inefficient query plans, non-existent indexes, or other reasons. Troubleshooting begins with looking for slow queries, such as database logs. Then the identified slow queries can be improved.
  • Monitoring of database changes:Database change monitoring involves identifying any objects that have been added, removed, or changed, which can happen when there is a new version of an application. These objects can cause query delays and should be carefully monitored.
    To do this, you can create a throughput baseline once a change has been made to compare performance before and after the change. Alternatively, you can use database logs to monitor changes as they occur.
  • Monitoring of database logs:Database logs contain critical information and are critical for proactive monitoring. Logs can show each query run on a database and the time it took for each query to complete.By collecting database logs - including system-generated logs, slow query logs, backup logs, and maintenance routine logs - you can access information that is not available in general performance metrics. For example, the average performance metric for the queries per second does not include information about which specific queries are regularly slow.
  • Monitoring of historical data:Most problems do not occur simultaneously, making it impossible for administrators to constantly monitor performance in real time. Therefore, historical data is an extremely helpful tool.

Back to top

Manual vs. automated database monitoring

In addition to monitoring key metrics using the best practices listed above, most database monitoring programs provide an alert system that alerts administrators of problems without the need to constantly look.

List of the best database monitoring software

There are a wide variety of paid and free proactive database monitoring tools on the market. To make your decision easier, I have put together a list of my recommendations for database monitoring solutions based on the central functions, advantages and disadvantages of the respective tools.

  1. SolarWinds Database Performance Analyzer (DPA)

In an overall comparison, the SolarWinds Database Performance Analyzer does best. The tool is hugely popular among network administrators and the reasons are obvious. The root cause analysis function offers significant added value and the data visualization is dynamic and very user-friendly.

SolarWinds DPA is suitable for SQL Server, Oracle, IBM DB2, SAP ASE and many other engines. DPA uses a unique method of database performance monitoring and focuses on response time and multi-dimensional performance analysis. This approach recognizes that the database response time is the most important performance measure.

The tool uses a methodology known as response time analysis to optimize the performance of SQL queries. This method helps database administrators get meaningful results. One of its greatest advantages is that IT teams can align their goals and procedures with service level delivery: Instead of analyzing server health to make predictions that are likely to be inaccurate, it measures the time it takes to complete certain operations. This time is then broken down into individual measurable steps so that you can determine exactly which of these steps is causing application delays.

The analysis of the response time is the feature that for me distinguishes SolarWinds DPA from other solutions. Most other database monitoring tools aim to measure server health and execution rates, but these do not reflect the end-user experience or help identify the source of the problem. From my point of view, the approach of letting the end-user experience determine database performance monitoring makes a lot more sense than other approaches.

DPA is intelligently designed and combines response time analysis with a multi-dimensional root cause analysis, which also correlates and takes into account SQL statements, system integrity, latency-based analyzes and the context. The results of this process are presented clearly and intelligently. Instead of flooding you with hundreds of raw displays and metrics, the dashboard provides instant insights into the health of the database server in a clear format.

DPA is popular with administrators who need Oracle monitoring tools because it allows users to optimize their production databases through an agent-free architecture. This solution can therefore be used in development, tests and production as well as virtually or in the cloud (Amazon AWS, EC2, RDS, Azure). You can monitor and review the status of server queries, CPU disk usage, memory usage and sessions, and view your server health graphically for a clear overview of developments.

Last but not least, I really appreciate the fact that DPA metrics are built into the SolarWinds Orion® Platform can be combined with other useful monitoring tools such as SolarWinds Server & Application Monitor (SAM). The Orion Platform provides a centralized dashboard that combines database performance metrics from DPA with built-in server health monitoring from SAM to provide a more accurate and comprehensive picture of the performance of the entire infrastructure.

The user-friendly dashboard, real-time insights, integration options and excellent response time analysis make SolarWinds DPA the first choice as the best database monitoring tool. A 14-day free trial is available with which you can use all functions.

The free version offered by DPA is also worth mentioning. It offers some functions of the paid version, for example response time monitoring with SQL query waiting types and waiting events and a central dashboard for a uniform overview of SQL Server, Oracle, DB2 and SAP ASE instances. The free version can be used agent-free and without installation on production servers by an unlimited number of people.

However, the free version of SolarWinds DPA cannot replace the paid version. As generous as the offer is, there is still a lack of central functions that you can use with the paid DPA version. The following features are included in DPA, but not in the free version:

  • Real-time session monitoring and performance analysis for VMware
  • Ability to drill down by program, object, database, plan and more
  • Historical trend dashboard, reports, charts and alerts
  • Customer support and technical support with expert analysis and maintenance
  • Ability to use logged data to determine the cause of past problems
  • Support for RDS, Azure, AWS and MySQL
  • Blocking and blocking analysis

Back to top

2. Paessler PRTG Network Monitor

Paessler PRTG Network Monitor follows closely behind SolarWinds DPA. The solution offers impressive SQL monitoring functions and enables monitoring of Microsoft SQL, MySQL, Oracle SQL and PostgreSQL. I like the tool for a couple of reasons, mostly because it takes an all-in-one approach to monitoring. It monitors your entire IT infrastructure including applications, bandwidth, packets, data traffic, cloud services, uptime, ports, IPs, virtual environments, hardware, web services, security, physical environments, disk usage, IoT devices and - of course - databases. And this list isn't even complete.

In addition, there is the wide range of supported technologies, including all versions of SNMP, flow technologies (NetFlow, sFlow, jFlow), WMI, Ping, SQL and SSH. Everything else can be integrated via the API.

PRTG's compatibility is undoubtedly impressive, so let's take a look at some of the actual monitoring features. PRTG is a DB monitor that does everything right with its dashboard and user interface. You can view your data in a two-, 30-, or 365-day format. There are also tabs for a general overview, warnings, system information, logs, settings, notifications, comments and the history. The dashboard is clear and the information is clear and easy to interpret.

I believe that many people looking for database performance monitoring tools underestimate the difference a good dashboard can make. Database performance is influenced by a wide variety of factors and is correspondingly complex. When results and data are presented clearly, this saves time and nerves. I especially like PRTG's sleek Core Health, Probe Health, and System Health charts that provide instant insights. The dashboards are also fully customizable so you can decide which metrics to prioritize (e.g. queries, connections, and response times).

The simple setup is another noteworthy advantage of PRTG. The program offers preconfigured sensors and settings so you don't have to start configuring from scratch if you don't want to. PRTG also enables you to set up user-defined sensors and individual SQL queries at the same time. You can monitor specific data sets such as the speed of your online shop. There is also an efficient warning system that notifies you immediately if something is wrong.

An unrestricted version of PRTG is available free of charge. After 30 days, however, the program will revert to a free version. My only problem with PRTG is the sensor-based pricing model: depending on the size of your network, you might end up paying for more sensors than you need.

Back to top

3. Database Performance Monitor

SolarWinds Database Performance Monitor (DPM) is a cloud-based solution so you don't have to worry about purchasing, maintaining, and deploying.

The SaaS monitoring solution can monitor databases locally, in the cloud and hybrid. It focuses on open source and NoSQL databases, including but not limited to:

DPM offers great security features including direct GDPR and SOC2 compliance. With 24/7 real-time monitoring, a wide range of metrics is monitored and the results are presented in a clear, intuitive dashboard. Supported metrics include:

  • Deployment frequency
  • Availability
  • MTTD
  • MTTR
  • Reduced failed deployments

Back to top

4. dbWatch

dbWatch is a tool for monitoring the database activities of Microsoft SQL Server, Sybase, Postgres, MariaDB, MySQL and Oracle. It offers full support for AlwaysOn and RAC clustering as well as for Azure SQL On-Premises, hybrid and in the cloud, making it a truly cross-platform program.

dbWatch was developed when database monitoring changed. The developers realized that it is no longer enough to monitor every single instance: the entire server farm needs to be monitored and managed, and that is exactly the goal of this tool.With dbWatch you can monitor all your instances via a uniform, global view. This gives you insight into your entire server farm and allows you to drill down on individual instances for more complete information. Instances can be managed directly, so you don't have to switch between consoles and troubleshoot problems faster.

One of the things I like about this tool is its wide range of reporting capabilities. For example, you can generate reports on the health of individual instances or consolidate reports for the entire data center. The database is monitored in real time and historical data is compiled for contextual and comparative analysis.

A big advantage of dbWatch is its high scalability. You can monitor a handful as well as thousands of instances because the architecture enables maximum performance with minimal impact on the network and server. The program offers multi-network, multi-site and cloud support. The tool is particularly characterized by the latter.

It is important to mention that dbWatch is not part of a more comprehensive infrastructure monitoring system, but rather is very specialized. It was specially developed for database monitoring. So the downside is that you have to use other tools to monitor your servers and applications.

dbWatch can be installed quickly and easily and supports multiple locations, platforms and versions in a unified hybrid cloud view. The tool is customizable and you can choose how you want dashboards, tasks, and reports to appear. It is licensed on an annual basis and the license includes support, upgrades, and maintenance. A 30-day free trial is available.

5.SQL Power Tools

The SQL monitoring tool SQL Power Tools is popular because of its simplicity, among other things. The tool is presented as a zero-impact database monitoring solution and offers some powerful features. This includes data logging of destination IP, source IP application, response time, bytes sent and packets sent. The simple tool gives you an accurate and uniform overview of the overall performance of your database.

According to the developer, 95% of database performance problems are caused by time-consuming SQL commands, which is why the focus of the tool is on capturing all SQL activities. By analyzing SQL text and the end-user response time, time-consuming SQL commands are recognized within less than a second of their occurrence. This powerful feature is complemented by the ability to baseline the performance of each individual SQL statement without stressing the database server.

SQL Power Tools is an agent-free monitoring solution and allows you to drill down into SQL latencies, SQL waits, locks, deadlocks, I / O latencies, disk usage, SQL agent job performance, and index fragmentation. Three-dimensional dynamic graphs are displayed for a number of metrics, such as procedure cache, buffer cache, and performance counters.

The tool does not use any disruptive database SQL profilers or traces, only causes a 1% load on the monitored database servers and uses heat maps to display certain data. These features are one of my favorite features of SQL Power Tools, as well as the world-class cybersecurity features that can detect and prevent data theft by malicious internal workers, hackers, external cyber risk, SQL injection attacks, DevOps exploits, and phishing emails. The tool quickly informs you of security breaches before data is compromised.

Despite its robust features, SQL Power Tools doesn't offer the same ease of use as the higher-rated products on this list. The pricing structure is also less transparent: you have to speak to a sales representative to get a quote. At the same time, however, you can try a free trial by submitting a product evaluation request.

Back to top

6.Site24x7

Site24x7 offers ready-to-use database monitoring, which enables the highest possible SQL server availability and is intended to curb server sprawl. The tool is designed to offer its users optimal performance around the clock. Site24x7 has a number of advantages. I particularly appreciate the well thought-out capacity planning, which offers insights into the details of buffer and memory management.

Site24x7 combines network, application and server monitoring, offers you a complete overview of all your operations and processes and supports you in managing your database performance. The service is cloud-based, so you don't need to install any software. Thus, the tool is well suited for MSPs and the monitoring of remote locations. However, some administrators prefer non-cloud-based systems as they perceive them to be more secure.

Site24x7's server monitoring package includes a database performance optimization function with an automatic detection function. This feature automatically detects all of your databases without manual intervention and manages the installation of agents, which can then be monitored. These agents send reports to the Site24x7 console and the results can then be viewed in your browser. I like the simple approach, but I'm not very happy about having to rely on internet access to see my results.

The customizable warning parameters, live performance metrics and the ability to monitor an unlimited number of instances make Site24x7 an interesting tool for me that deserves its place on this list. The package's pricing model is also attractive: it's subscription-based and has optional add-ons that you can use to customize it to suit your needs. A free version is also available that allows you to monitor a maximum of five servers. There is also a free trial version that converts to the free version after 30 days.

7.Redgate SQL Monitor

The next tool on my list is Redgate SQL Monitor, which is characterized by its dynamic and extremely visual design. The web-based interface presents all important metrics in a central, uniform dashboard and all servers are color-coded. This gives you an easy-to-use overview of the health of your servers at a glance.

The tool also uses a traffic light system: green if there are no problems, yellow for warnings and red for critical warnings. The interface is updated every 15 seconds, so you can follow activities live. These design features simplify monitoring, hide unimportant information and simplify the overview of your own database.

Another feature I like about Redgate is the alert system that notifies you of low memory, high CPU usage, low disk space, performance issues, and SQL errors. 40 ready-to-use alerts are available. You can adjust the parameters and thresholds according to your needs.

Redgate SQL Monitor offers monitoring functions that cover the management of your entire SQL Server system. You can even see all of the servers in one place, whether they are hosted locally, on Microsoft Azure or Amazon EC2, or on virtual machines. This feature is tremendously useful and allows you to add servers in bulk or have them automatically detected via the tool's API as your environment grows. The package includes system-wide management tools such as disk usage statistics and tools for backup and SQL Agent job status.

Unfortunately, the pricing is not very clear: Redgate gives the price for up to nine servers, but if you have more than ten servers, you have to contact the company for an offer. A 14-day free trial is available.

Back to top

8.Nagios

Nagios is a database monitoring tool that also offers monitoring of MySQL, PostgreSQL, Oracle, DB2 and Microsoft SQL Server. It is available in two versions: Nagios Core is the popular open source version carried by a large support community, and Nagios XI is the paid version. Nagios database monitoring covers everything from database and table sizes to availability and cache quotas. This tool is ideal for quickly identifying database errors, failures, and table corruption.

The Nagios Core open source tool is less user-friendly than many paid solutions. Both versions are also heavily dependent on add-ons and plugins in order to be able to use the full range of functions. The advantage is that you can select your own add-ons and plugins and thus, in a sense, create your own tool according to your requirements. The main disadvantage is that the system becomes more difficult to maintain when there are numerous add-ons and plugins. It becomes more of a hassle to keep everything up to date, and the system itself may not be as well optimized.

I like Nagios because it is exactly what you make of it, and I put it on this list because of its flexibility, among other things. Overall, however, I prefer more user-friendly all-in-one solutions.

You can download Nagios Core for free here. Nagios XI is available here and offers a free trial.

9. Opsview

Opsview specializes in cloud monitoring tools and offers a range of powerful and helpful database monitoring solutions. Even if the provider Opsview focuses on cloud solutions, its database monitoring tools can be used both on-premises and in the cloud. The tools are suitable for monitoring Oracle, MySQL, InfluxDB, SQL Server and PostgreSQL.

Opsview offers configuration packages called Opspacks. The opspacks for database monitoring include monitoring of AWS DynamoDB, DB2, Exchange, MariaDB, LDAP and many more. These opspacks differ from one another and each have their own associated service checks and monitoring methods.

I like Opsview's rather unique approach to monitoring, and the wide range of Opspacks and the coverage it provides is impressive.Monitoring functions for applications, cloud-based services, networks, servers and Windows are also offered. Still, I would prefer an all-in-one solution that doesn't require the installation of individual Opspacks. For each Opspack there are installation instructions that indicate how the package can be added to the Opsview Monitor server. The flexibility is great, but it also makes setup more complex than some of the more highly rated database performance monitoring tools.

You can schedule a demonstration of Opsview here.

Back to top

10.ManageEngine Free SQL Health Monitor

Popular software developer ManageEngine offers a free SQL integrity monitoring tool that comes with some surprisingly high quality and generous features. Among other things, the colorful, simple and easily interpretable user interface of the tool is remarkable. The data is presented in the form of graphs, scales and charts. Details can be viewed for each metric to provide more detailed insight into database performance. The intuitively designed dashboard bundles all data in one central location and ensures a good user experience.

I also like the auto-discovery feature that automatically identifies all SQL servers on the network. This makes setting up the program a lot easier as you don't have to add servers manually.

You can monitor memory, CPU and disk usage and have access to comprehensive detailed information on SQL Server sessions, locks and latches as well as memory and buffers. The warning function with color coding is also an advantage: you can see the general server performance and utilization details in a clear and simple format.

ManageEngine Free SQL Health Monitor allows you to monitor all versions of Microsoft SQL. Overall, however, the tool does not offer the same functionality as the paid products on this list and is therefore not suitable for business purposes.

11.SpiceWorks SQL Server Monitoring

SpiceWorks is another free tool that I included on this list because it covers all of the basics of database performance monitoring pretty comprehensively. If your organizational needs are minimal and you don't need a premium business tool, SpiceWorks SQL Server Monitor might be worth considering. The tool automatically collects server data and gives you instant access to relevant health information. You can also monitor SQL Server size, speed, connection, and more.

Free tools are often less dynamic and poorly designed than paid solutions. SpiceWorks, on the other hand, offers customizable charts that you would otherwise expect from a paid program. The data visualization is simple and appealing and allows easy interpretation.

The functions for personalizing the diagrams are also worth mentioning, with which you can change the perspective of your server. For example, you can select or deselect metrics such as disk queue length, blocked processes, and I / O bytes / second. The dashboard itself is also customizable and you can create your own widgets and organize them as you wish.

With SpiceWorks SQL Server Monitoring you can keep an eye on the health of your servers. The tool is compatible with SQL Server databases from version 2005.

How to choose the best database monitoring tool

We all know databases are essential to virtually any technology company. Bad database performance inevitably affects the entire application infrastructure. Even if the developers write great code and the designers and UX pros create intuitive, functional, and beautiful user interfaces, the database still remains the bedrock of that structure. If it doesn't perform well, the entire application won't work as well as it should and your customers will pay with a poor user experience. And, as I like to say, dissatisfied customers become ex-customers very quickly.

This is why database monitoring is so important.

In this guide, I've mentioned both free and paid options that will suit different budgets. All tools have their advantages, whether as stand-alone monitoring solutions or as components of a larger system. But of all the database performance monitoring solutions on the market, the SolarWinds Database Performance Analyzer stands out for its functionality and ease of use.

SolarWinds is known for creating world class products and DPA is no exception. Its unique method of database monitoring with a focus on response time analysis sets the solution apart from the competition. The possibility of integrating the performance measurement data from DPA into SolarWinds Server & Application Monitor in order to obtain an intelligent dashboard with action-relevant insights, as well as the multi-dimensional root cause analysis, give DPA a real competitive advantage.

Categories Reviews of tools