您现在的位置是:首页 > 文章详情

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

日期:2023-11-13点击:118

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

以下是主要功能和特点:

  1. 显示慢查询日志:提供了一个实时更新的界面,可以显示数据库中的慢查询日志,包括执行时间、执行次数、SQL语句等信息。用户可以通过界面轻松地查看和分析慢查询日志,找到哪些查询是慢查询,并了解它们的执行情况。
  2. 慢查询搜索和筛选:提供了强大的搜索和筛选功能,使用户可以快速找到感兴趣的慢查询。用户可以通过执行时间、执行次数、SQL语句等多个维度进行搜索和筛选,还可以对搜索结果进行排序和过滤,以便更好地了解慢查询的情况。
  3. 慢查询分析:提供了慢查询分析功能,可以对慢查询进行深入的分析和诊断。它可以将慢查询与数据库的表结构进行关联,显示每个表的查询次数和平均执行时间等信息,使用户更好地了解慢查询的本质和根源。
  4. 邮件报警:支持配置邮件报警功能,可以自动发送慢查询分析报告和警报信息给指定的邮箱。用户可以根据需要设置报警阈值和报警时间等参数,以便及时了解数据库的性能问题。

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

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


image

image


视频演示:https://www.douyin.com/video/7278552026181586216


服务端部署

拉取镜像

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

image

原文链接:https://www.oschina.net/p/slowquery
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章