14个开源免费的数据库监控工具推荐

andflow 2023-11-23 16:29:00编程技术
98

在信息系统项目中,UI、业务逻辑、数据库操作、文件操作、网络、API调用等许多环节都有可能产生性能问题,其中,数据库读写是最为常见的操作,我们也发现其实许多项目中的大部分瓶颈多来自于数据库操作。因此,在做性能优化的过程中,我们总是特别关注持久层的代码、数据库的设计和数据库的物理环境。

数据库监控软件.webp.jpg

除了架构设计和代码质量的优劣以外,数据库的监控对于确保数据库的最佳性能和健康至关重要。以下是让必须重视数据库的几个原因:

  • 有助于性能优化:数据库监控有助于识别性能瓶颈。通过监控关键指标,管理员和开发人员可以优化查询语句,找出效率低下的原因,并提高数据库的整体性能。

  • 有助于问题检测和诊断:实时监控能够为异常、错误或潜在问题提供警报和通知,使管理员能够采取主动措施并在影响数据库功能之前解决问题。

  • 有助于规划存储容量:数据库监控通过提供对资源利用率(如:CPU、内存和存储)的深入了解来帮助DBA进行容量规划、分析趋势、预测未来需求,并就可扩展性和基础架构改进要求做出决策。

  • 有助于数据安全合规:监控有助于确保数据库的安全性和合规性。通过跟踪监控数据库访问、检测未经授权的活动、审计数据库操作。有助于保持数据完整性并满足安全、法规要求。

俗话说“无监控、不运维”,尤其是现代DevOps团队的工作,更需要用监控工具来武装自己,避免成为“瞎子”,也能确保系统稳定高效运行。数据库的监控更是重中之重。

本文收集了一些适合用于MySQL、Postgres、Oracle或MSSQL等数据库的开源免费数据库监控工具,供参考。

1.Netdata

GitHub(65.9K):https://github.com/netdata/netdata

Netdata.png

Netdata2.png

Netdata是一个开源的数据库、系统、容器和应用程序监控项目,能够收集指标,并将信息美观地呈现在仪表盘中。它可以运行在物理机、虚拟服务器、云平台、Kubernetes集群或者边缘设备上。它支持多种数据库引擎、虚拟机、应用程序指标。

2.Prometheus

GitHub(50.6K):https://github.com/prometheus/prometheus

Prometheus.jpg

Prometheus能够按时间序列捕获数据。可以使用Prometheus捕获MySQL的查询性能的指标和有关MySQL的统计数据。

使用Prometheus监控MySql,需要安装一个MySQL exporter,用于从MySQL实例中收集指标,并汇聚到Prometheus服务器。

Prometheus只提供了一个非常基本的可视化层。因此,它通常需要与Grafana一起使用,Grafana是一种用于创建图表和指标的可视化工具。

3.signoz

GitHub(15.2K):https://github.com/signoz/signoz

signoz.png

SignNoz是一个开源的APM工具,可以用于监控MySQL数据库。可以监控整个软件系统,跟踪应用程序指标以及基础架构指标。SignNoz特别适合监控基于微服务和无服务器架构的现代云原生应用程序。

在分布式系统上,使用多个数据库实例为不同微服务提供数据层支撑。作为一个监控所有服务的APM工具,SignNoz可以监控来自每个服务的数据库调用的性能。SigNoz提供了一个指标构建器,可以使用它来创建自定义的仪表盘,用于监控MySQL数据库。监控MySQL数据库的主机的运行状况和性能。

signoz2.jpg

4.MySQLTuner-perl

GitHub(8.3K):https://github.com/major/MySQLTuner-perl

MySQLTuner-perl.png

MySQLTuner是一个用Perl编写的脚本库,支持速查看MySQL安装过程,并进行调整以提高性能和稳定性。检索当前配置变量和状态数据,并以简短的格式提供一些基本性能优化建议。

5.Anemometer

慢SQL查询监控

GitHub(1.4K):https://github.com/box/Anemometer

Anemometer.png

Anemometer是一个用于可视化慢Sql监控工具,支持用于MySQL数据库的慢查询分析。SQL查询有时难以捉摸。Anemometer能够分析数据库的查询语句,识别可优化的机会,跟踪性能趋势。

Anemometer依靠Percona Toolkit进行高效地收集慢速查询日志。并利用pt-query-digest来解析慢查询日志,并将它们无缝地记录到数据库中,以形成全面的报告。

使用Anemometer,可以生成跨越各种时间段的图形和统计数据,支持查看时间段范围内的查询过程。此外,它提供了直观的界面以及实时动态信息,可通过点击或者拖动轻松地查看感兴趣内容。

6.Swiple

GitHub:https://github.com/Swiple/swiple

Swiple.png

Swiple是一个自动化数据监控平台,可帮助数据团队无缝监控数据质量。通过自动化的数据分析和分析、调度和警报,团队可以在数据质量问题影响关键任务资源之前解决这些问题。

发现问题之后,Swiple可以通过电子邮件、Slack、Microsoft Teams、OpsGenie、PagerDuty等系统通知管理员。

功能特征:

  • 评估SQL查询、表或视图的数据质量。

  • 使用自动数据分析生成数据预期。

  • 以任意重复间隔运行验证计划。

  • 数据文档自动化。

  • 为数据添加SLA。

  • 当数据质量发生变化时,发送通知。

支持的数据库:

  • MySQL

  • Athena

  • PostgreSQL

  • Trino

  • Snowflake

  • BigQuery

  • Redshift 

7.DBA Dash、SQL Server监控工具

GitHub:https://github.com/trimble-oss/dba-dash

DBA Dash、SQL Server监控工具.png

DBA Dash是一款面向SQL Server DBA的工具,可进行日常检查、性能监控和变更跟踪。它提供的功能包括:每日DBA检查、操作系统性能监控、自定义指标性能监控、跟踪配置、代理作业监控,还可通过S3存储桶监控隔离环境中的实例。

8.Dolphie

MySQL监控工具

GitHub:https://github.com/charles-001/dolphie

Dolphie.png

Dolphie是一个强大的终端应用程序,能够实时监控MySQL数据库。提供直观的用户界面和丰富的功能,能够毫不费力地跟踪、分析MySQL数据库的性能。不论是监控查询执行、分析服务器指标还是识别潜在的瓶颈,对它来说都不在话下。通过Dolphie提供的全面监控功能,可随时了解MySQL环境。

9.pgDoctor

GitHub:https://github.com/thumbtack/pgdoctor

pgDoctor是一个免费的开源的轻量级Web服务,用于对PostgreSQL实例执行运行状况检查。

10.pg_Insights

GitHub:

https://github.com/lob/pg_insights

pg_insights是一个方便的SQL工具,用于监视Postgres数据库的健康状况。这个仓库的灵感来自Heroku的pg_extras仓库。它提供了一个SQL查询集合,用于监视Postgres数据库的健康状况。

11.Blip MySQL Monitor

GitHub:https://github.com/cashapp/blip

Blip是一个强大的MySQL监控器,可以无缝地收集MySQL的基本指标,并准确地报告给其他监控平台(如:Datadog)。它完全兼容MySQL 5.7和8.0的所有发行版。其灵活的插件架构允许与任何监控平台轻松集成,如:Datadog、Splunk和Chronosphere等流行平台。

12.Soda Core

GitHub:https://github.com/sodadata/soda-core 

Soda Core是一个开源Python库,主要用于SQL、Spark和Pandas中的数据质量检测。它允许在工作流中进行数据质量测试,并执行检查以识别无效或异常数据。

13.oracle-db-appdev-monitoring

GitHub:https://github.com/oracle/oracle-db-appdev-monitoring

oracle-db-appdev-monitoring项目用于监控Oracle数据库指标和问题诊断,支持与Spring Boot等框架集成。该项目支持云平台和本地数据库,也包括Kubernetes和容器中的数据库。

14.pg-Index-Health-SQL

GitHub:https://github.com/mfvanek/pg-index-health-sql

pg-index-health-sql是一个SQL集合,用于分析和维护PostgreSQL数据库中索引和表的健康状况。它可以帮助检测各种问题,如:无效、重复、未使用的索引、没有关联索引的外键、具有空值的索引、缺少索引、没有主键的表、索引和表膨胀、没有描述的表和列、JSON类型的列、以及序列类型的非主键列等。

数据库 监控工具
THE END
tom
不图事事圆满 但图事事甘心。

相关推荐

MySQL数据库备份命令(mysqldump)的使用方法详解
mysqldump是MySQL官方提供的一个强大且灵活的数据备份工具,它可以生成数据库的逻辑备份,支持多种备份方式和选项。本文将详细介绍mysqldump的使用方法,帮助您掌握这一工具的...
2024-11-20 编程技术
125

数据库设计工具(MySQL Workbench)使用图文教程
MySQL Workbench作为一款集成化的数据库设计管理工具,提供了丰富的功能,包括数据库建模、数据迁移、查询执行、备份恢复等。本文将以图文并茂的方式,为您提供一份详细的MyS...
2024-11-19 编程技术
142

如何将带嵌套的json文件导入到mysql数据库中?
在实际应用中,我们经常需要处理带有嵌套结构的JSON数据,并将其导入到关系型数据库如MySQL中。本文站长工具网将详细介绍如何将带嵌套的JSON文件导入到MySQL数据库中,包括数...
2024-11-17 编程技术
110

Json格式数据导入到MySQL数据库的几种方法详解
在现代数据管理中,JSON(JavaScript Object Notation)因其轻量级、易于阅读和编写的特性,已成为一种广泛使用的数据交换格式。与此同时,MySQL作为一种流行的关系型数据库管理...
2024-11-17 编程技术
129

GBase是什么数据库?GBase数据库优缺点分析
南大通用的GBase数据库作为一种高性能、分布式的关系型数据库管理系统,逐渐受到业界的关注和认可。本文站长工具网将深入探讨GBase数据库的技术基础、优势与不足,以期为企业...
2024-11-13 编程技术
120

在MySQL中修改数据库引擎的几种方法总结
在数据库管理和应用开发中,数据库引擎的选择对性能和功能有着重要影响。MySQL作为一种广泛使用的开源数据库系统,提供了多种存储引擎,如InnoDB、MyISAM和Memory等。本文将详...
2024-11-12 编程技术
125