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

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

在信息系统项目中,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数据库中的limit和offset使用方法详解
MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种工具和语法来高效地管理和查询数据。其中,LIMIT 和 OFFSET 是两个非常有用的子句,用于分页显示查询结果。本文将...
2025-01-15 编程技术
130

数据库中使用Row_Number()进行分组排序的具体方法
在现代数据驱动的应用程序中,对数据进行高效的查询和排序是至关重要的。SQL语言提供了多种强大的工具来实现这一目标,其中ROW_NUMBER()函数就是一个非常有用的工具。它可以在...
2025-01-13 编程技术
146

MySql数据库中实现随机排序的4种方法及优缺点分析
​在MySQL数据库中,随机排序是一项常见的操作需求,尤其在需要模拟真实场景或进行随机抽取数据的场景下,如抽奖、随机推荐等。本文ZHANID工具网将详细介绍MySQL中实现随机排...
2025-01-06 编程技术
168

Oracle数据库中保留小数点后两位的方法详解
在Oracle数据库的应用中,处理数值数据时常常需要精确控制小数点后的位数,尤其是在金融、统计等领域,数据的精度直接影响到业务的准确性和可靠性。保留小数点后两位的操作看...
2024-12-17 编程技术
158

Mysql迁移到达梦数据库提示列长度超出定义的解决方法
MySQL作为一款广泛使用的开源数据库,其数据迁移至国产数据库达梦(DM)的需求日益增多。然而,在迁移过程中,经常会遇到各种问题,其中之一就是列长度超出定义的错误提示。本文...
2024-12-16 编程技术
172

Microsoft SQL Server 2012 数据库安装图文教程
Microsoft SQL Server 2012 是一款功能强大且广泛使用的数据库管理系统。正确安装和配置数据库是确保系统稳定运行的关键步骤。本文将通过详细的图文教程,指导您如何在Window...
2024-12-13 编程技术
151