Slowquery 图形化显示 MySQL 慢日志平台

166 天前
 hcymysql

Slowquery 是一个开源的 PHP Web 应用程序,旨在帮助数据库管理员( DBA )和开发者更好地管理和监控 MySQL 数据库的慢查询日志。它提供了一个简单易用的界面,可以方便地查看和分析慢查询日志,并提供了许多有用的功能,例如慢查询邮件报警和自动发送慢查询分析报告等。

https://github.com/hcymysql/slowquery

以下是主要功能和特点:

显示慢查询日志:提供了一个实时更新的界面,可以显示数据库中的慢查询日志,包括执行时间、执行次数、SQL 语句等信息。用户可以通过界面轻松地查看和分析慢查询日志,找到哪些查询是慢查询,并了解它们的执行情况。

慢查询搜索和筛选:提供了强大的搜索和筛选功能,使用户可以快速找到感兴趣的慢查询。用户可以通过执行时间、执行次数、SQL 语句等多个维度进行搜索和筛选,还可以对搜索结果进行排序和过滤,以便更好地了解慢查询的情况。

慢查询分析:提供了慢查询分析功能,可以对慢查询进行深入的分析和诊断。它可以将慢查询与数据库的表结构进行关联,显示每个表的查询次数和平均执行时间等信息,使用户更好地了解慢查询的本质和根源。

邮件报警:支持配置邮件报警功能,可以自动发送慢查询分析报告和警报信息给指定的邮箱。用户可以根据需要设置报警阈值和报警时间等参数,以便及时了解数据库的性能问题。

参考了开源工具 Anemometer 图形展示思路,开发在页面上点击慢 SQL ,就会自动反馈优化建议,同时也支持自动发送邮件报警功能。

agent 客户端慢日志采集分析是结合 Percona pt-query-digest 工具来实现。

服务端部署 拉取镜像

shell> docker pull docker.io/hcymysql/slowquery:2023-09-13

启动

shell> docker run -itd -e "TERM=xterm-256color" --privileged --name slowquery -p 80:80 -p 3306:3306 <IMAGE ID> /usr/sbin/init

进入 docker 里,启动 httpd 服务

shell> docker exec -it slowquery /bin/bash shell> systemctl start httpd.service

​录入你要监控的 MySQL 主库配置信息

mysql> INSERT INTO slowquery.dbinfo VALUES (1,'192.168.148.101','test','admin','123456',3306);

客户端部署

进入到 slowquery/client_agent_script 目录下,把 slowquery_analysis.sh 脚本拷贝到生产 MySQL 主库上做慢日志分析推送,并修改里面的配置信息

定时任务( 10 分钟一次)

*/10 * * * * /bin/bash /usr/local/bin/slowquery_analysis.sh > /dev/null 2>&1

打开浏览器,输入 http://yourIP/slowquery/slowquery.php 慢查询邮件推送报警配置

进入到 slowquery/alarm_mail/ 目录里,修改 sendmail.php 配置信息

定时任务(每隔 3 小时慢查询报警推送一次)

0 */3 * * * cd /var/www/html/slowquery/alarm_mail;/usr/bin/php /var/www/html/slowquery/alarm_mail/sendmail.php

1131 次点击
所在节点    MySQL
2 条回复
aaronkk
166 天前
👍 早之前在 dbaplus 有关注大佬
aogg
166 天前
好像很丑,麻烦多给点图

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/995402

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX