推荐一个贺大师的slowquery工具--分析慢查询日志及邮件告警

monicholas 2019-12-01

概述

github:https://github.com/hcymysql/slowquery

今天主要分享一下贺大师的slowquery工具,主要用于分析慢查询日志及邮件告警。

这里参考了开源工具Anemometer图形展示思路,并且把小米Soar工具集成进去,开发在页面上点击慢SQL,就会自动反馈优化建议,从而降低DBA人肉成本,同时也支持自动发送邮件报警功能。

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

下面介绍下部署过程。


一、监控端及被监控端安装percona-toolkit工具

1、检查和安装与Perl相关的模块

PT工具是使用Perl语言编写和执行的,所以需要系统中有Perl环境。

依赖包检查命令为:

rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL

如果有依赖包缺失,可以使用下面的命令安装:

yum -y install perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL perl-TermReadKey.x86_64 perl-Digest-MD5.x86_64

推荐一个贺大师的slowquery工具--分析慢查询日志及邮件告警

2、安装pt工具包

rpm -ivh percona-toolkit-3.0.13-1.el7.x86_64.rpm

推荐一个贺大师的slowquery工具--分析慢查询日志及邮件告警

3、验证

安装后,可以通过下面的命令确认是否安装成功:

# pt-query-digest --help
# pt-table-checksum --help

推荐一个贺大师的slowquery工具--分析慢查询日志及邮件告警


如果命令提示可以正常显示,则说明pt工具已经正常安装和使用了。


二、php web mysql环境的搭建

监控端的mysql已经搭建,这里不介绍部署过程

yum install httpd php php-mysql -y

推荐一个贺大师的slowquery工具--分析慢查询日志及邮件告警


三、安装Slowquery并配置

1、移动slowquery到web目录

mv slowquery /var/www/html/

推荐一个贺大师的slowquery工具--分析慢查询日志及邮件告警

2、初始化数据

进入slowquery/slowquery_table_schema目录下,导入dbinfo_table_schema.sql和slowquery_table_schema.sql表结构文件到你的运维管理机MySQL里。

推荐一个贺大师的slowquery工具--分析慢查询日志及邮件告警

注:dbinfo表是保存生产MySQL主库的配置信息。

mysql -uroot -p -e 'create database slowquery default character set utf8;'
mysql -uroot -p slowquery < /var/www/html/slowquery/slowquery_table_schema/dbinfo_table_schema.sql
mysql -uroot -p slowquery < /var/www/html/slowquery/slowquery_table_schema/slowquery_table_schema.sql

推荐一个贺大师的slowquery工具--分析慢查询日志及邮件告警

3、录入要监控的MySQL主库配置信息。

3.1、监控端及被监控端增加slowquery账号

set global validate_password_policy=0; 
grant all privileges on *.* to slowquery@'%' identified by 'xxxxx';

3.2、监控端录入要监控的MySQL主库配置信息

insert into slowquery.dbinfo values (1,'xx.xx.xx.69','fsl_prod','slowquery','xxx',3306);
insert into slowquery.dbinfo values (2,'xx.xx.xx.94','tms_prod','slowquery','fxxx',3306);

4、修改配置文件config.php

将里面的配置改成你的运维管理机MySQL的地址(用户权限最好是管理员)。

<?php

//将里面的配置改成你的运维管理机MySQL的地址

 $con = mysqli_connect("xx.xx.xx.94","slowquery","密码","fsl_prod","3306") or die("数据库链接错误".mysqli_connect_error());
 mysqli_query($con,"set names utf8");

?>

5、修改配置文件soar_con.php(这个功能有点问题,暂时测试不通过)

将里面的配置改成你的运维管理机MySQL的地址(用户权限最好是管理员)。

<?php

//-test-dsn soar测试环境,用来分析SQL使用
$test_user='slowquery';
$test_pwd='密码';
$test_ip='xx.xx.xx.94';
$test_port='3306';
$test_db='slowquery';

?>

篇幅有限,这块内容就介绍到这了,后面会介绍下被监控端部署部分,感兴趣的朋友可以关注下~

推荐一个贺大师的slowquery工具--分析慢查询日志及邮件告警

相关推荐