首页 > 数据库 >开源免费数据库监控工具,MySQL、Oracle、Postgres或MSSQL

开源免费数据库监控工具,MySQL、Oracle、Postgres或MSSQL

时间:2024-10-18 11:45:20浏览次数:4  
标签:监控 Postgres 数据库 github https MySQL Oracle com

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

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

  • 有助于性能优化:数据库监控有助于识别性能瓶颈。通过监控关键指标,管理员和开发人员可以优化查询语句,找出效率低下的原因,并提高数据库的整体性能。
  • 有助于问题检测和诊断:实时监控能够为异常、错误或潜在问题提供警报和通知,使管理员能够采取主动措施并在影响数据库功能之前解决问题。
  • 有助于规划存储容量:数据库监控通过提供对资源利用率(如:CPU、内存和存储)的深入了解来帮助DBA进行容量规划、分析趋势、预测未来需求,并就可扩展性和基础架构改进要求做出决策。
  • 有助于数据安全合规:监控有助于确保数据库的安全性和合规性。通过跟踪监控数据库访问、检测未经授权的活动、审计数据库操作。有助于保持数据完整性并满足安全、法规要求。

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

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

1.Netdata

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

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

2.Prometheus

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

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

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

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

 

3.signoz

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

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

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

 

4.MySQLTuner-perl

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

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

 

5.Anemometer

慢SQL查询监控

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

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

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

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

6.Swiple

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

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 DBA的工具,可进行日常检查、性能监控和变更跟踪。它提供的功能包括:每日DBA检查、操作系统性能监控、自定义指标性能监控、跟踪配置、代理作业监控,还可通过S3存储桶监控隔离环境中的实例。

8.Dolphie

MySQL监控工具

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

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类型的列、以及序列类型的非主键列等。

标签:监控,Postgres,数据库,github,https,MySQL,Oracle,com
From: https://www.cnblogs.com/lhxsoft/p/18473947

相关文章

  • 在centos7上安装mysql5.7
    1、此处是在MySQL官网获取的rpm包(也可直接在linux中使用yum获取这个rpm包到本地)   在MySQL官方网站的最底下找到这个此处选择的MySQL版本5.7.44,操作系统选Oracle Linux,OS版本选择linux7下载将下载好的二进制文件包上传到centos7中在windows系统中上传文件到虚拟机里......
  • MySQL基础函数的学习要点和步骤
    MySQL基础函数的学习要点和步骤可以归纳为以下几个方面:学习要点1.函数的概念:  -函数是一段可以直接被另一段程序调用的程序或代码。2.分类理解:  -字符串函数:如`CONCAT()`,`LOWER()`,`UPPER()`,`LPAD()`,`RPAD()`,`TRIM()`,`SUBSTRING()`等,用于处理字符串......
  • 震惊!MySQL竟然可以平滑从5.7.35升级到8.0.37
    一、前言好多网友问我有没有mysql升级的文章,今天它来了!数据库版本操作系统版本5.7.35CentOSLinuxrelease7.9.20098.0.37CentOSLinuxrelease7.9.2009二、升级方法选择in-place升级,顾名思义就是关闭现有版本MySQL,将二进制包替换成新版本并在现有数据目录上启动MySQL......
  • MySQL数据库在Windows环境的配置
      本文介绍在Windows电脑中,下载、部署MySQL数据库的方法。  MySQL数据库可以说是最为常用的数据库之一了,在GIS领域中其也经常被用到。之前我们介绍过Redis、PostgreSQL、InfluxDB等多种数据库在Windows电脑中的下载、安装与运行方法,这里就再介绍一下MySQL数据库的配置......
  • 【重学 MySQL】七十、揭秘数据库对象,打造高效数据管理之旅
    【重学MySQL】七十、揭秘数据库对象,打造高效数据管理之旅数据库(Database)数据表(Table)视图(View)存储过程(StoredProcedure)触发器(Trigger)索引(Index)在MySQL中,数据库对象是用于存储、管理和操作数据的实体。这些对象在数据库设计中扮演着至关重要的角色,它们共同......
  • 【重学 MySQL】七十一、揭秘数据库魔法——深入探索并引入视图
    【重学MySQL】七十一、揭秘数据库魔法——深入探索并引入视图视图的定义视图的作用视图的注意事项在MySQL数据库中,视图(View)是一种非常强大且灵活的工具,它为用户提供了以更安全、更清晰的方式查看和管理数据的途径。视图的定义视图是一种虚拟表,其内容由S......
  • Ansible操作MySQL常用的几个模块
    1. mysql_user模块mysql_user模块用来添加,删除用户以及设置用户权限创建MySQL数据库的用户与口令(非root@localhost用户),直接通过playbooks中的案例来说明吧。-name:创建MySQL数据库用户--user_testmysql_user:#-----登陆数据库login_host:"localhost"......
  • mysql explain
    参考:[MySQL高级EXPLAIN用法和结果分析](https://blog.csdn.net/why15732625998/article/details/80388236)explain分析表的读取顺序数据读取操作的操作类型哪些索引可以使用哪些索引被实际使用表之间的引用每张表有多少行被优化器查询examplesqlexplainSELECTcoun......
  • 后端程序员必备:15个MySQL表设计的经验准则
    15个MySQL表设计的经验准则在数据库设计中,MySQL表的设计至关重要。一个良好的表设计可以提高数据库的性能、可维护性和数据的准确性。以下是15个MySQL表设计的经验准则,希望能为你的数据库设计提供有益的指导。一、通用字段的设置在设计表时,尽量包含以下几个通用......
  • Lnmp(mysql分离)(nginx 1.13.6+mysql5.5+php5.3)环境一键搭建
    Lnmp(mysql分离)(nginx 1.13.6+mysql5.5+php5.3)环境一键搭建如果对运维课程感兴趣,可以在b站上、csdn或微信视频号上搜索我的账号:运维实战课程,可以关注我,学习更多免费的运维实战技术视频在192.168.37.128服务器上:(mysql只到makeinstall即可)nginx默认站点html1.上传lnmp的安装......