› 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 · Nov 27, 2023 · 2521 views
    This topic created in 1039 days ago, the information mentioned may be changed or developed.

    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  
       Nov 27, 2023
    👍 早之前在 dbaplus 有关注大佬
    aogg
        2
    aogg  
       Nov 27, 2023
    好像很丑,麻烦多给点图
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2345 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:01 · PVG 13:01 · LAX 22:01 · JFK 01:01
    ♥ Do have faith in what you're doing.