Database monitoring solutions are crucial for ensuring the optimal performance and health of databases.

Why it is important to monitor your databases?

22 Open-source Database Visualization Panels and Dashboards for Business Intelligence (BI)
Database visualization panels are powerful tools that allow users to visually explore and analyze data stored in databases. These panels provide an intuitive interface to interact with database data and present it in a visually appealing and easy-to-understand manner. Features * Data exploration: Database visualization panels enable users to explore large

Here are some reasons why they are important:

  1. Performance Optimization: Database monitoring helps identify performance bottlenecks, such as slow queries or resource-intensive operations. By monitoring key metrics, administrators can optimize query execution, identify inefficiencies, and improve overall database performance.
  2. Issue Detection and Diagnosis: Monitoring solutions enable the detection and diagnosis of issues in real-time.

    They provide alerts and notifications for anomalies, errors, or potential problems, allowing administrators to take proactive measures and resolve issues before they impact the database's functionality.
  3. Capacity Planning: Database monitoring helps in capacity planning by providing insights into resource utilization, such as CPU, memory, and storage.

    Administrators can analyze trends, forecast future needs, and make informed decisions regarding scalability and infrastructure requirements.
  4. Security and Compliance: Monitoring solutions help ensure the security and compliance of databases. They can track and monitor access, detect unauthorized activities, and provide audit trails for compliance purposes. This helps organizations maintain data integrity and meet regulatory requirements.

Advantages of Database Monitoring Tools

Advantages of using a database monitoring solution include:

  • Improved Performance: Monitoring solutions allow for proactive performance optimization, leading to faster query execution and improved response times.
  • Reduced Downtime: By detecting and resolving issues in real-time, monitoring solutions minimize downtime and ensure uninterrupted access to the database.
  • Enhanced Scalability: Monitoring solutions provide insights into resource utilization, enabling administrators to scale resources as needed to accommodate growing database demands.
  • Cost Savings: By optimizing performance, preventing issues, and improving resource allocation, database monitoring solutions can help reduce operational costs associated with database management.
  • Data-driven Decision Making: Monitoring solutions provide valuable insights and metrics, enabling administrators to make data-driven decisions for capacity planning, resource allocation, and performance optimization.
17 Open-source Free Database Backup Solutions for MySQL, MongoDB, MSSQL, and PostgreSQL
Database backup refers to the process of creating and storing copies of a database in order to protect it from data loss or corruption. Why do you need to Backup your Database? It is important for several reasons: 1. Data Protection: Database backup ensures that valuable data is protected and

In the following list, you will find the best open-source free database monitoring solutions.

1- Netdata

Netdata is an open-source self-hosted project that enables you to collect metrics per second and presents them in beautiful low-latency dashboards.

It is designed to run on all of your physical and virtual servers, cloud deployments, Kubernetes clusters, and edge/ IoT devices, to monitor your systems, containers, and applications.

It supports several database engines, virtual machines, application metrics and many more.

Nedata Is a Self-hosted Free Monitoring Solutions for Servers, DevOps, and System Admins
Netdata is a powerful monitoring tool that collects metrics per second and provides real-time, low-latency dashboards. It supports a wide range of integrations, offers unsupervised anomaly detection, and has powerful visualization capabilities. With out-of-the-box alerts and a low maintenance design…
GitHub - netdata/netdata: Monitor your servers, containers, and applications, in high-resolution and in real-time!
Monitor your servers, containers, and applications, in high-resolution and in real-time! - GitHub - netdata/netdata: Monitor your servers, containers, and applications, in high-resolution and in re…

2- Swiple

Swiple is an automated data monitoring platform that helps analytics and data engineering teams seamlessly monitor the quality of their data.

With automated data analysis and profiling, scheduling and alerting, teams can resolve data quality issues before they impact mission-critical resources.

Swiple can notify systems admins and teams through email, Slack, Microsoft Teams, OpsGenie, and PagerDuty.

Features

  • 📈 Measure the data quality of a SQL querytable, or view.
  • 🏗 Generate data expectations using Automated Data Profiling.
  • 🕑 Schedule validations to run on any recurrence interval.
  • 📄 Automated Data Docs
  • 🫡 Add Objectives / SLA's for your data.
  • 🔔 Get notified when the quality of your data changes.

Supported Databases

  • MySQL
  • Athena
  • PostgreSQL
  • Trino
  • Snowflake
  • BigQuery
  • Redshift
GitHub - Swiple/swiple: Swiple enables you to easily observe, understand, validate and improve the quality of your data
Swiple enables you to easily observe, understand, validate and improve the quality of your data - GitHub - Swiple/swiple: Swiple enables you to easily observe, understand, validate and improve the…

3- DBA Dash - SQL Server Monitoring Tool

DBA Dash is a tool for SQL Server DBAs that provides assistance with daily checks, performance monitoring, and change tracking.

It offers features such as daily DBA checks, performance monitoring with OS performance counters and custom metrics, tracking configuration changes, monitoring agent jobs, and the option to monitor instances in isolated environments via S3 bucket.

GitHub - trimble-oss/dba-dash: DBA Dash - SQL Server Monitoring Tool
DBA Dash - SQL Server Monitoring Tool. Contribute to trimble-oss/dba-dash development by creating an account on GitHub.

4- Dolphie (MySQL)

Dolphie is a highly user-friendly and powerful terminal application that provides real-time monitoring capabilities for MySQL.

With its intuitive interface and extensive range of features, Dolphie allows users to effortlessly track and analyze the performance of their MySQL databases.

Whether you need to monitor query execution, analyze server metrics, or identify potential bottlenecks, It has got you covered.

Stay informed and in control of your MySQL environment with the comprehensive monitoring capabilities offered by Dolphie.

Dolphie is a Free Open-source MySQL Monitor
Dolphie is an incredibly powerful and user-friendly terminal tool that provides a multitude of features for monitoring MySQL in real-time. With its intuitive interface and comprehensive functionality, Dolphie allows users to effortlessly monitor and analyze their MySQL databases with ease. Using Dolphie, you can stay updated on the performance, status,
GitHub - charles-001/dolphie: An intuitive feature-rich terminal tool for monitoring MySQL in real-time
An intuitive feature-rich terminal tool for monitoring MySQL in real-time - GitHub - charles-001/dolphie: An intuitive feature-rich terminal tool for monitoring MySQL in real-time

5- pgDoctor

pgDoctor is an exceptional open-source solution that delivers a seamless and effortless experience.

It is a free, user-friendly, and nimble web service designed to effortlessly define and execute custom health checks on PostgreSQL instances.

GitHub - thumbtack/pgdoctor: Simple, lightweight web service to perform health checks on PostgreSQL instances
Simple, lightweight web service to perform health checks on PostgreSQL instances - GitHub - thumbtack/pgdoctor: Simple, lightweight web service to perform health checks on PostgreSQL instances

6- Anemometer - Box SQL slow query monitor.

Anemometer is a powerful tool for visualizing collected data from the MySQL Slow Query Log. The name is inspired by the instrument in a weather station that measures wind speed. SQL queries are akin to the wind - elusive and challenging to grasp.

Anemometer empowers you to confidently analyze your queries; it simplifies the process of identifying optimization opportunities and tracking performance trends over time.

Anemometer relies on the Percona Toolkit for efficient slow query log collection. Specifically, you can utilize pt-query-digest to parse your slow logs and seamlessly insert them into a database for comprehensive reporting.

With Anemometer, you can effortlessly generate graphs and statistics that span various time intervals, allowing you to view the corresponding queries within that range.

Furthermore, the intuitive interface enables you to effortlessly zoom in on specific regions of interest by simply clicking and dragging, with the query results dynamically updating in real-time.

This streamlined functionality enables you to swiftly identify performance bottlenecks and gain deeper insights into the exact occurrences during those periods.

GitHub - box/Anemometer: Box SQL Slow Query Monitor
Box SQL Slow Query Monitor. Contribute to box/Anemometer development by creating an account on GitHub.

7- pg_Insights

pg_insights is a convenient SQL tool for monitoring the health of a Postgres database. This repository is inspired by commands from Heroku's pg_extras repository.

It provides a collection of SQL queries that are useful for monitoring the health of a Postgres database.

GitHub - lob/pg_insights: A collection of convenient SQL for monitoring Postgres database health.
A collection of convenient SQL for monitoring Postgres database health. - GitHub - lob/pg_insights: A collection of convenient SQL for monitoring Postgres database health.

8- Blip MySQL Monitor

Blip is a powerful MySQL monitor: it seamlessly collects and accurately reports essential metrics from MySQL to leading monitoring platforms such as Datadog.

It is fully compatible with all vendors and distributions of MySQL 5.7 and 8.0, whether deployed on-premise or in the cloud.

Blip comes with built-in support for popular platforms like Datadog, Splunk, and Chronosphere, and its flexible plugin architecture allows for easy integration with any monitoring platform to ensure comprehensive metric reporting.

Home - Blip
GitHub - cashapp/blip: Sublime MySQL monitoring
Sublime MySQL monitoring. Contribute to cashapp/blip development by creating an account on GitHub.

9- Oracle Monitor

Oracle Monitor is a highly useful and efficient free and open-source tool that provides comprehensive monitoring capabilities for Oracle 12c servers. With Oracle Monitor, users can easily keep track of the performance and health of their Oracle 12c servers, ensuring optimal functionality and minimizing downtime.

This tool offers a wide range of features and functionalities, including real-time monitoring of key metrics, proactive alerting and notifications, detailed performance analysis, and customizable dashboards.

GitHub - vascoalramos/oracle-monitor: Tool to monitor Oracle 12c server
Tool to monitor Oracle 12c server. Contribute to vascoalramos/oracle-monitor development by creating an account on GitHub.

10- mysql-statsd

A Python daemon to collect information from MySQL and send it via StatsD to Graphite.

GitHub - db-art/mysql-statsd
Contribute to db-art/mysql-statsd development by creating an account on GitHub.

11- Soda Core

Soda Core is an open-source tool and Python library for data quality testing in SQL, Spark, and Pandas.

It allows data quality testing within pipelines and development workflows, and executes checks to identify invalid or unexpected data. Consider using Soda Library for additional features and collaboration with a Soda Cloud account.

GitHub - sodadata/soda-core: :zap: Data quality testing for the modern data stack (SQL, Spark, and Pandas) https://www.soda.io
:zap: Data quality testing for the modern data stack (SQL, Spark, and Pandas) https://www.soda.io - GitHub - sodadata/soda-core: :zap: Data quality testing for the modern data stack (SQL, Spark, an…

12- Unified Observability for Oracle Database

The Unified Observability for Oracle Database project aims to provide observability for the Oracle Database, offering performance insights and issue diagnosis across applications and databases.

It includes metrics, logging, and tracing support, and integration with frameworks like Spring Boot.

The project supports both cloud and on-premises databases, including those in Kubernetes and containers. The first production release, v1.0, includes a Prometheus exporter based on Seth Miller's work, modified to meet Oracle standards and policies.

Supported Metrics

The following metrics are exposed currently.

  • oracledb_exporter_last_scrape_duration_seconds
  • oracledb_exporter_last_scrape_error
  • oracledb_exporter_scrapes_total
  • oracledb_up
  • oracledb_activity_execute_count
  • oracledb_activity_parse_count_total
  • oracledb_activity_user_commits
  • oracledb_activity_user_rollbacks
  • oracledb_sessions_activity
  • oracledb_wait_time_application
  • oracledb_wait_time_commit
  • oracledb_wait_time_concurrency
  • oracledb_wait_time_configuration
  • oracledb_wait_time_network
  • oracledb_wait_time_other
  • oracledb_wait_time_scheduler
  • oracledb_wait_time_system_io
  • oracledb_wait_time_user_io
  • oracledb_tablespace_bytes
  • oracledb_tablespace_max_bytes
  • oracledb_tablespace_free
  • oracledb_tablespace_used_percent
  • oracledb_process_count
  • oracledb_resource_current_utilization
  • oracledb_resource_limit_value
GitHub - oracle/oracle-db-appdev-monitoring: Scripts and code for unified observability for data-centric app dev and microservices
Scripts and code for unified observability for data-centric app dev and microservices - GitHub - oracle/oracle-db-appdev-monitoring: Scripts and code for unified observability for data-centric app…

13- pgDoctor

pgDoctor is a straightforward, lightweight, open-source web service that enables you to define and execute custom health checks on PostgreSQL instances without any cost.

GitHub - thumbtack/pgdoctor: Simple, lightweight web service to perform health checks on PostgreSQL instances
Simple, lightweight web service to perform health checks on PostgreSQL instances - GitHub - thumbtack/pgdoctor: Simple, lightweight web service to perform health checks on PostgreSQL instances

14- pg-Index-Health-SQL

pg-index-health-sql is a collection of SQL queries for analyzing and maintaining the health of indexes and tables in Postgresql databases.

It helps detect various problems such as invalid, duplicated, intersected, and unused indexes, foreign keys without associated indexes, indexes with null values, tables with missing indexes or without a primary key, index and table bloat, tables and columns without descriptions, columns with JSON type, and non-primary key columns with serial types.

It can be installed easily using Docker.

GitHub - mfvanek/pg-index-health-sql: pg-index-health-sql is a set of sql-queries for analyzing and maintaining indexes and tables health in Postgresql databases.
pg-index-health-sql is a set of sql-queries for analyzing and maintaining indexes and tables health in Postgresql databases. - GitHub - mfvanek/pg-index-health-sql: pg-index-health-sql is a set of…

15- Posemo PostgreSQL Secure Monitoring

Posemo is a PostgreSQL monitoring framework that follows the guidelines of the German Federal Office for Information Security (BSI). It allows monitoring of PostgreSQL servers without accessing the data.

Posemo is modular and can provide results for different monitoring environments. New checks can be easily added by writing SQL and configuring them.

The framework generates PostgreSQL functions for each check, which are executed by an unprivileged user with elevated privileges. This approach ensures that the monitoring server does not need access to databases or PostgreSQL internals, and only requires the ability to call predefined functions.

GitHub - alvar-freude/Posemo: PostgreSQL Secure Monitoring
PostgreSQL Secure Monitoring. Contribute to alvar-freude/Posemo development by creating an account on GitHub.

16- Statsender (PostgreSQL)

statsender is a powerful and reliable open-source tool that efficiently collects and sends out a comprehensive range of PostgreSQL server statistics.

With its seamless integration with pgmeter, statsender offers a complete end-to-end monitoring solution for distributed PostgreSQL databases, ensuring you have full visibility and control over your database performance and health.

GitHub - vynaloze/statsender: Collect and send statistics from PostgreSQL instances
Collect and send statistics from PostgreSQL instances - GitHub - vynaloze/statsender: Collect and send statistics from PostgreSQL instances

17- Highload Stats

HGLS Statistics provides real-time graphs and historical stats on servers. It is an easy and powerful tool that can monitor your server, database engines, and more.

GitHub - oxmix/highload-stats: Statistics server in real-time graphs and histroy.
Statistics server in real-time graphs and histroy. - GitHub - oxmix/highload-stats: Statistics server in real-time graphs and histroy.

18- GaleraMonitoring (MySQL)

Golang cluster offers MariaDB/ MySQL monitoring with slack alerting.

GitHub - Kaderovski-zz/GaleraMonitoring: Golang cluster mariaDB/Mysql monitoring with slack alerting
Golang cluster mariaDB/Mysql monitoring with slack alerting - GitHub - Kaderovski-zz/GaleraMonitoring: Golang cluster mariaDB/Mysql monitoring with slack alerting

19- mysql-monitor

MySQL server monitoring script for real-time SMS status updates.

The script will try to connect to the database at regular intervals and sends a text message to the admin if the connection fails.

GitHub - cjdm94/mysql-monitor: MySQL server monitoring script for real-time SMS status updates. Get a text to your phone when MySQL crashes.
MySQL server monitoring script for real-time SMS status updates. Get a text to your phone when MySQL crashes. - GitHub - cjdm94/mysql-monitor: MySQL server monitoring script for real-time SMS statu…

20- Mysql Monitor

This tool is basically Atop with some mysql queries included such as:

  • Process list
  • Threads
  • Engine innodb status
  • Slave status

Which can be either saved inside a slqite3 db(experimental) (Some features here are still missing, e.g export from sqite to file). Or to .json.gz/.txt.gz files on disk.

GitHub - messagebird/mysql-monitor: A tool to monitor mysql databases
A tool to monitor mysql databases. Contribute to messagebird/mysql-monitor development by creating an account on GitHub.

21- mongodb-monitoring

A very simple monitoring for MongoDB clusters.

  • Reads config.yaml
  • Discovers topology via rs.config()
  • Pings every member
  • Reports back to SignalFx as mongodb.up with host dimension
GitHub - ceecko/mongodb-monitoring: A simple monitoring tool for MongoDB clusters
A simple monitoring tool for MongoDB clusters. Contribute to ceecko/mongodb-monitoring development by creating an account on GitHub.

22- MySQLTuner-perl

A script that allows you to review a MySQL installation quickly and make adjustments to increase performance and stability.

GitHub - major/MySQLTuner-perl: MySQLTuner is a script written in Perl that will assist you with your MySQL configuration and make recommendations for increased performance and stability.
MySQLTuner is a script written in Perl that will assist you with your MySQL configuration and make recommendations for increased performance and stability. - GitHub - major/MySQLTuner-perl: MySQLTu…

23- pstop 

a top-like program for MySQL, collecting, aggregating and displaying information from performance schema.

GitHub - sjmudd/ps-top: ps-top - a top-like program for MySQL
ps-top - a top-like program for MySQL. Contribute to sjmudd/ps-top development by creating an account on GitHub.