Slowquery图形化显示MySQL慢日志工具
视频演示:https://www.douyin.com/video/7278552026181586216
背景:由于天兔Lepus慢查询工具是运行在PHP CI框架里,而不是作为一个独立的web页面接口,所以想直接接入自动化运维平台里,移植代码比较困难,固考虑重构。
参考了开源工具Anemometer图形展示思路,并且把sql_helper工具集成进去,开发在页面上点击慢SQL,就会自动反馈优化建议,从而降低DBA人肉成本,同时也支持自动发送邮件报警功能。
agent客户端慢日志采集分析是结合Percona pt-query-digest工具来实现。
服务端部署
拉取镜像
代码语言:javascript复制shell> docker pull docker.io/hcymysql/slowquery:2023-09-13
启动
代码语言:javascript复制shell> docker run -itd -e "TERM=xterm-256color" --privileged --name slowquery -p 80:80 -p 3306:3306 <IMAGE ID> /usr/sbin/init
进入docker里,启动httpd服务
代码语言:javascript复制shell> docker exec -it slowquery /bin/bash
shell> systemctl start httpd.service
打开浏览器,输入http://yourIP/slowquery/slowquery.php
客户端部署
进入到slowquery/client_agent_script目录下,把slowquery_analysis.sh脚本拷贝到生产MySQL主库上做慢日志分析推送,并修改里面的配置信息
crontab定时任务(10分钟一次)
代码语言:javascript复制*/10 * * * * /bin/bash /usr/local/bin/slowquery_analysis.sh > /dev/null 2>&1