博客
LEPUS天兔监控系统慢查询分析平台配置文档
- 2015年1月6日
- 作者: 茹憶
- 分类目录 安装配置
该章节将向大家阐述如何在生产数据库服务器上部署慢查询分析平台,并实现慢查询自动推送功能,慢查询自动推送是指将系统收集的慢查询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主机配置里面设置即可,邮箱留空则该数据库主机不会发送慢查询推送。
部署完成后,在计划任务的时间到达时间,您就可以看到推送的慢查询邮件了。
邮件格式和内容如下所示:
版权声明:本文为LEPUS原创文章,如需转载请注明本站作者及本文链接,LEPUS保留一切法律解释权。
本文链接:https://www.lepus.cc/2015/01/06/lepus-config-mysql-slowlog/