Database monitoring comes in a variety of formats, ranging from high-level reporting of system health to assessing granular operations that could impact application performance.
- DBMS monitoring extensions: Extensions or add-ons within the database layer that provide insights on query efficiency, database connections, and more.
- Cloud provider monitoring tools: Most cloud providers include free monitoring for your database infrastructure to show metrics like CPU usage and network transfer. Some cloud providers also offer database monitoring as part of their managed database service
- External monitoring tools: Database-specific monitoring tools are designed to provide more insight beyond metrics like your underlying infrastructure’s CPU usage or network traffic. There is a wide variety of these tools available that fit different workloads. Here are a few examples of free open source database monitoring tools
- Prometheus & MySQL Exporter: Built on top of the popular open source infrastructure monitoring tool, Prometheus, MySQL Server Exporter allows you to create a series of collector flags.
- VictoriaMetrics: A time series database and monitoring solution to help process real-time metrics using the PromQL, MetricsQL, and Graphite query languages Best suited for small to medium size database environments Deploy via the Linode Marketplace
- Percona Monitoring & Management: Optimize database performance and track behavior patterns for MySQL, PostgreSQL, and MongoDB Deploy via the Linode Marketplace.
When should you separate your database monitoring layer?
If you just want to keep an eye on CPU usage, relying on more standard infrastructure monitoring solutions will suffice. If you want to be able to observe performance at the query or table level, or check database logs during very specific points in time, an external monitoring tool will give you additional insight that can benefit your application