根据pt工具和anemometer来分析慢查询日志,网上很多人写,没有一个是可以完全成功,综合了很多例子,来写这篇文章。
该环境基于软件的版本都是比较新的。所以坑比较多。也欢迎指正不足之处。
第一:系统的安装,和优化暂时不表,网上例子很多,可以找到较为完全的。
pass
第二:mysql 采用二进制安装也比较简单,只要注意5.7一些参数的变化
姜老师也提供了一个5.7生产环境的模板配置文件,可供参考。
第三: 安装php
yum remove php*
yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64
第四:安装Apache:
yum install httpd
启动httpd
systemctl start httpd.service
第五:安排pt工具
从官网下载最新版本pt
安装之前,注意这几个依赖
yum install perl-DBI
yum install perl-DBD-MySQL -y
yum install perl-Time-HiRes -y
yum install perl-IO-Socket-SSL -y
yum -y install perl-Digest-MD5 -y
rpm -ivh perl-TermReadKey-2.30-20.el7.x86_64.rpm
安装pt
rpm -ivh percona-toolkit-2.2.20-1.noarch.rpm
第六:安装anemometer
cd /var/www/html/anemometer/
cp conf/sample.config.inc.php conf/config.inc.php
修改配置文件
vi config.inc.php
修改如上划横线部分,其中第二个node1为当前服务器对外服务IP,下图为连接的数据库及密码。
如 修改部分:
准备好存储慢日志分析MySQL Server,初始化生成需要的库
mysql -uroot -p -S /tmp/mysql.sock < install.sql
Db: slow_query_log
Table: global_query_review、global_query_review_history
建Anemometer数据库账号,并授权:
Grant All on *.* TO 'slow_user'@'172.20.%' identified by ‘123456’;
Flush privileges;
这是因为,mysql5.7种的sql_mode模式的问题
修改成这个,就可以了
在访问之前,可能还会遇到缺少php-bcmath模块
rpm -Uvh remi-release-7*.rpm
yum -y --enablerepo=remi,remi-php70 install php-bcmath
systemctl restart httpd.service
重启http就可以了
**************************************************************************************************
接下来说明下,监控多个mysql服务器。
在anemometer服务器上,建立需要监控的库,每个需要监控的服务器在本机上单独库
并执行这个install.sql文件,如下
然后修改配置文件 vi conf/config.inc.php
增加如下内容:
有个脚本文件anemometer_collect.sh,copy到需要监控的主机上
比如:172.20.254.80
修改内容
修改你需要监控慢查询的时间,和是否需要保留原始slow日志。
另外需要两个配置文件,一个用来连接80这个需要监控的主机,另外一个连接anemometer主机
首先调试此脚本
可跑通,就加入到定时文件里面,定期去执行就可以了。
此时就可以在web端看到
另外需要监控binlog或者general log,还没有做,不知道是否可行,等有机会在尝试。
阅读(1444) | 评论(0) | 转发(0) |