您的位置:首页 > 运维架构

天兔(LEPUS)监控系统慢查询分析平台配置文档手册(V3.0)

2016-04-01 17:50 369 查看
该章节将向大家阐述如何在生产数据库服务器上部署慢查询分析平台,并实现慢查询自动推送功能,慢查询自动推送是指将系统收集的慢查询Top10数据定时通过邮件形式推送给开发或DBA进行优化。

Lepus的慢查询分析平台是独立于监控系统的模块,该功能需要使用percona-toolkit (http://www.percona.com/software/percona-toolkit)工具来采集和记录慢查询日志,并且需要部署一个我们提供的shell脚本来进行数据采集。该脚本会自动开启您数据库的慢查询日志,并对慢查询日志进行按小时的切割,并收集慢查询日志的数据到监控机数据库。随后您通过Lepus系统就可以分析慢查询了。

安装步骤如下所示:

1) 安装percona-toolkit:

# yum -y install perl-IO-Socket-SSL

# yum -y install perl-DBI

# yum -y install perl-DBD-MySQL

# wget
www.mtop.cc/software/percona-toolkit-2.2.6-1.noarch.rpm

# rpm -ivh percona-toolkit-2.2.6-1.noarch.rpm

2)从监控机拷贝lepus提供的慢查询分析脚本到MySQL端

# scp client/mysql/lepus_slowquery.sh
root@10.0.4.60:/usr/local/sbin/

在MySQL端的对分析脚本授权

#chmod +x /usr/local/sbin/lepus_slowquery.sh

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

#vim /usr/local/sbin/lepus_slowquery.sh

#config lepus database server

lepus_db_host=""

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一一对应,否则您可能将无法查询到该主机的慢查询。



配置完成后保存,并加入计划任务。因为慢查询做了按小时的切割,建议计划任务时间间隔在1小时之内。

*/5 * * * * sh /usr/local/sbin/lepus_slowquery.sh > /dev/null 2>&1

加入计划任务后您可以手动执行下脚本,执行完后就可以看到生成的慢查询日志

-rw-rw---- 1 mysql mysql 382 Aug 15 13:38 slowquery_2014081513.log

3)开启慢查询分析

在MySQL服务器管理里面电击右侧的编辑按钮,进入服务器编辑界面。



配置slowquery为打开状态



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





4)开启慢查询自动推送

慢查询自动推送是指定时将系统收集到的慢查询TOP数据定时推送给相应开发人员进行优化。无需在每台数据库上部署脚本。

MySQL慢查询自动推送通过计划任务完成。如果需要推送,则需要在监控机部署如下计划任务。

注意:www.xxx.com请替换成您自己的lepus监控WEB访问地址,以下只是做一个示范,请勿照抄。

00 08 * * * links http://www.xxxx.com/index.php/task/send_mysql_slowquery_mail > /dev/null 2>&1

计划任务部署完成后,则会按照计划任务配置的时间将慢查询推送给对应人员。慢查询推送的邮件人员需要在MySQL主机配置里面设置即可,邮箱留空则该数据库主机不会发送慢查询推送。



部署完成后,在计划任务的时间到达时间,您就可以看到推送的慢查询邮件了。

邮件格式和内容如下所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: