V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
hcymysql
V2EX  ›  MySQL

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

  •  
  •   hcymysql ·
    hcymysql · 353 天前 · 1367 次点击
    这是一个创建于 353 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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

    aaronkk
        1
    aaronkk  
       353 天前
    👍 早之前在 dbaplus 有关注大佬
    aogg
        2
    aogg  
       353 天前
    好像很丑,麻烦多给点图
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2869 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 00:30 · PVG 08:30 · LAX 16:30 · JFK 19:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.