Anemometer和pt-query-digest结合将MySQL慢查询可视化

pt-query-digest虽然功能强大, 但毕竟没有web界面显示的直观,我们可以借助Anemometer作为pt-query-digest执行结果的显示端,Anemometer是专门为mysql的慢查询开发的一款开源软件,地址在http://www.oschina.net/p/anemometer

一、安装LAMP环境

1,安装

 yum install  httpd php *bcmath* *mysqli*  -y

2,查看

[[email protected] ~]# rpm -qa|grep http
httpd-tools-2.4.6-40.el7.centos.x86_64
httpd-2.4.6-40.el7.centos.x86_64
[[email protected] ~]# rpm -qa|grep php
php-bcmath-5.4.16-36.el7_1.x86_64
php-cli-5.4.16-36.el7_1.x86_64
php-mysql-5.4.16-36.el7_1.x86_64
php-pear-MDB2-Driver-mysqli-1.5.0-0.8.b4.el7.noarch
php-common-5.4.16-36.el7_1.x86_64
php-pdo-5.4.16-36.el7_1.x86_64
php-process-5.4.16-36.el7_1.x86_64
php-pear-MDB2-2.5.0-0.9.b5.el7.noarch
php-5.4.16-36.el7_1.x86_64
php-xml-5.4.16-36.el7_1.x86_64
php-pear-1.9.4-21.el7.noarch
[[email protected] ~]# rpm -qa|grep bcmath
php-bcmath-5.4.16-36.el7_1.x86_64

4,修改httpd中的ServerName

vi /etc/httpd/conf/httpd.conf 

二、Anemometer配置

1,执行SQL脚本

mysql -uroot -p123456 < /var/www/html/anemometer/install.sql

2,添加使用anemometer的权限

grant all on slow_query_log.* to 'anemometer'@'%' identified by '123456';
grant select on *.* to  'anemometer'@'%' identified by '123456';

给与‘on *.* t‘的权限是因为做执行计划时,每个表可能在不同的库,需要use database;

3,设置配置文件,修改 ip,host,port,db,user,password

cd /var/www/html/anemometer/conf

cp sample.config.inc.php config.inc.php

vi config.inc.php

4,启动

servier httpd start

5,访问

http://192.168.44.130/anemometer

三、遇到的问题

1,如果界面空白,查看日志

vi /var/log/httpd/error_log

如果显示如下错误,请关闭selinux: setenforce 0(最好在配置文件中设置,以免重启后问题重现)

2, 界面显示没有global_query_review表

因为我们在配置文件定义的slow_query_log库中没有这个表,画面的任何数据都是从表里取得的,而格式也是和pt-query-digest执行的结果相同,所以想要看到数据,需要先执行pt-query-digest并将结果导入到表的命令。

pt-query-digest --user=root --password=123456 --review h=127.0.0.1,D=slow_query_log,t=global_query_review --history h=127.0.0.1,D=slow_query_log,t=global_query_review_history  --create-review-table /usr/local/mysql/log/slow.log

或者

pt-query-digest --user=anemometer --password=test                   --review h=db.example.com,D=slow_query_log,t=global_query_review                   --review-history h=db.example.com,D=slow_query_log,t=global_query_review_history                   --no-report --limit=0% \
                  --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\"" \
                  /root/test/localhost-slow.log

导入数据的命令一般配置定时任务,每隔多久将慢日志导入到数据库中,这个可以根据自己的需求去定制了

这样就会存在global_query_review和global_query_review_history两个表了。

执行后,刷新页面

3,查看SQL具体信息

跳转画面后,点击Explain  Plan,可能出现 “Error in Query Explain Plugin: Missing field host”  的错误,需要修改配置文件

这个应该是动态的,但是目前是只是一个测试库,所以直接写定db名

修改完成,重启httpd

部署参考:http://www.tuicool.com/articles/Vny2Y3Y

时间: 2024-10-16 20:07:00

Anemometer和pt-query-digest结合将MySQL慢查询可视化的相关文章

【转载】 使用Anemometer基于pt-query-digest将MySQL慢查询可视化

原文地址:使用Anemometer基于pt-query-digest将MySQL慢查询可视化 作者:84223932 本文主要介绍使用Anemometer基于pt-query-digest将MySQL慢查询可视化,因为网上资料相对较少,且都是英文的,遇到报错也没有相关的参考资料,因此写此文. 欢迎转载,请注明作者.出处. 作者:张正 blog:http://space.itpub.net/26355921 QQ:176036317 如有疑问,欢迎联系. 准备条件:1.MySQL开启慢查询 2.安

使用Anemometer基于pt-query-digest将MySQL慢查询可视化

If you're just completely itching to start using this tool, here's what you need: 1.a MySQL database to store query analysis data in. 2.pt-query-digest.You may as well just get the whole Percona Toolkit while you're at it :) 3.a slow query log from a

Anemometer基于pt-query-digest将MySQL慢查询可视化

参考文章: http://ourmysql.com/archives/1359?utm_source=tuicool&utm_medium=referral 官方:https://github.com/box/Anemometer 单节点Anemometer监控 1 安装anemometer # cd /data/www/web3 # git clone https://github.com/box/Anemometer.gitanemometer && cd anemometer

十分钟部署Anemometer作为Mysql慢查询可视化系统

前言 采用Anemometer将Mysql慢查询日志可视化,可以更便捷的查询慢查询日志,并根据时间戳进行历史查询.如下是单机版Anemometer部署的演示,实际应用中,为安全起见,建议把anemometer 分开到另外的机器上. 工作原理 Anemometer: 实现日志可视化 pt-query-digest :抽取慢查询日志 环境信息 Ip 功能 软件信息 安装路径 操作系统 192.168.9.11 http服务 httpd-2.2.15-54 yum缺省路径 centos6.9 慢查询日

Anemometer+Percona Toolki实现MySQL慢查询日志可视化功能

最近发现了一个挺好用的MySQL慢查询日志可视化的工具,网上也能找到很多资料,在这里结合自己的实际情况重新整理一下. 1. 实验环境 1.1 系统环境: 操作系统:CentOS 6.5 64位 主机地址:10.0.0.26 主机名:mysql01 mysql版本:mysql-5.6.36 1.2 可视化软件环境: http环境:LAMP 可视化软件:Anemometer-master.zip, percona-toolkit-3.0.11-1.el6.x86_64.rpm, perl-TermR

FluentData -Micro ORM with a fluent API that makes it simple to query a database 【MYSQL】

官方地址:http://fluentdata.codeplex.com/documentation MYSQL: MySQL through the MySQL Connector .NET driver. 连接字符串:Server=127.0.0.1;Database=testDB;Uid=root;Pwd=jnex;<system.data> <DbProviderFactories> <add name="MySQL Data Provider" i

MySQL中查询时&quot;Lost connection to MySQL server during query&quot;报错的解决方案

一.问题描述: mysql数据库查询时,遇到下面的报错信息: 二.原因分析: dw_user 表数据量比较大,直接查询速度慢,容易"卡死",导致数据库自动连接超时.... 三.解决办法: 方案1.在mysql配置文件[myslqd]下面添加一行设置skip-name-resolve.需要重启mysql服务. 方案2.在hosts文件内添加: ip与主机名的映射关系[这种方式不用重启] 如: 在hosts文件中添加: 127.0.0.1 localhost 其他网上的方法: 1. 代码层

mysql慢查询分析工具之PT

1. 工具简介pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析.可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各查询的执行时间.次数.占比等,可以借助分析结果找出问题进行优化.pt-query-digest是一个perl脚本,只需下载并赋权即可执行.[[e

mysql慢查询分析工具比较与实战

00 前言 在进行mysql性能优化的时候,第一个想到的便是查看慢sql. 但是对于慢sql有没有什么好的工具进行分析呢? 推荐两个工具mysqldumpslow及pt-query-digest. mysqlslowdump较为简单,常用命令: #得到返回记录最多的20个sql mysqldumpslow -s r -t 20 slowSQl.log # 得到平均访问次数最多的20条sql mysqldumpslow -s ar -t 20 slowSQl.log 如果linux上没有安装mys