Lepus-MySQL慢查询分析平台配置手册

Lepus的慢查询分析平台是独立于监控系统的模块,【注意:安装这个功能以前,需要先配置Lepus监控平台】,该功能需要使用percona-toolkit (http://www.percona.com/software/percona-toolkit)工具来采集和记录慢查询日志,并且需要部署一个我们提供的shell脚本来进行数据采集。该脚本会自动开启您数据库的慢查询日志,并对慢查询日志进行按小时的切割,并收集慢查询日志的数据到监控机数据库。随后您通过Lepus系统就可以分析慢查询了。
被监控数据库配置:(非必须,使用默认配置就可以)
在mysql命令行中执行以下命令:
set global slow_query_log=on;
set global long_query_time=1;#设置记录查询超过多长时间的sql,根据自己情况定
set global slow_query_log_file='/opt/lampp/var/mysql/';#设置mysql慢查询日志路径
断开当前连接然后重新连接进入命令行查询(缓存):
show variables like '%slow%';
show variables like '%long_query_time%';

安装步骤如下所示:

1) 安装percona-toolkit:

# yum -y install perl-IO-Socket-SSL perl-DBI perl-DBD-MySQL
#yum –y install perl-Digest-MD5 perl-Time-HiRes
[root@node214-mysql-master ~]# wget https://downloads.percona.com/downloads/percona-release/percona-release-1.0-9/redhat/percona-release-1.0-9.noarch.rpm
[root@node214-mysql-master ~]# rpm -ivh percona-release-1.0-9.noarch.rpm 
 [root@node214-mysql-master ~]#yum install percona-toolkit -y

2)从监控机拷贝lepus提供的慢查询分析脚本到MySQL端
# scp /usr/local/lepus/client/mysql/lepus_slowquery.sh  node214:/server/shell_scripts/mysql/lepus_slowquery.sh


在MySQL端的对分析脚本授权
#chmod +x server/shell_scripts/mysql/lepus_slowquery.sh

lepus_slowquery.sh文件的配置按实际的参数来配置
编辑文件修改配置,在这里您需要指定Lepus监控机数据库的地址,本地MySQL地址,以及存储慢查询的路径和慢查询时间,另外还需要配置一个Lepus主机的server_id.
配置参数详见二级配置文件:

#vim /usr/local/sbin/lepus_slowquery.sh
#config lepus database server
lepus_db_host="172."
lepus_db_port=
lepus_db_user=" "
lepus_db_password=""
lepus_db_database=" "


#config mysql server
mysql_client="/data/mysql/bin/mysql"
mysql_host="127.0.0.1"
mysql_port=3306
mysql_user="root"
mysql_password=" "

#config slowqury
slowquery_dir="/data/mysql/slowlog/"
slowquery_long_time=0.5
pt_query_digest="/usr/bin/pt-query-digest"
#config server_id
lepus_server_id=131

注意:lepus_server_id该值需要从系统中获取。进入MySQL服务器配置,在部署脚本的主机前查询到当前ID即为主机的server_id.
lepus_server_id必须和MySQL服务器配置里的对应服务器ID一一对应,否则您可能将无法查询到该主机的慢查询。

执行脚本前需要修改lepus数据库中表的字段类型:
修改mysql_slow_query_review:
mysql> alter table mysql_slow_query_review modify checksum varchar(100) not null ;
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0

修改mysql_slow_query_review_history:
mysql> alter table mysql_slow_query_review_history modify checksum varchar(100) not null;
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> alter table mysql_slow_query_review_history modify serverid_max smallint(4) null;
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0 


配置完成后保存,并加入计划任务。因为慢查询做了按小时的切割,建议计划任务时间间隔在1小时之内。
00 */1 * * * /bin/bash /server/shell_scripts/mysql/lepus_slowquery.sh > /dev/null 2>&1

 以上语句在新安装时,要手动运行一次,再加入到计划任务里面来
加入计划任务后您可以手动执行下脚本,执行完后就可以看到生成的慢查询日志
-rw-rw---- 1 mysql mysql 382 Aug 15 13:38 slowquery_2014081513.log

3)开启慢查询分析
在MySQL服务器管理里面点击右侧的编辑按钮,进入服务器编辑界面。


配置slowquery为打开状态


配置完成后,稍等片刻,即可在慢查询分析平台查看该库的慢查询日志。



分割线
感谢打赏
江西数库信息技术有限公司
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS