anemometer mysql 500_【Mysql】Anemometer-可视化慢sql查看
本文主要介绍使用Anemometer基于pt-query-digest将MySQL慢查询可视化,因为网上资料相对较少,且都是英文的,遇到报错也没有相关的参考资料,因此写此文。
欢迎转载,请注明作者、出处。
作者:张正
blog:http://space.itpub.net/26355921
QQ:176036317
如有疑问,欢迎联系。
准备条件:
1.MySQL开启慢查询
2.安装Percona Toolkit
rpm -qa|grep percona
percona-toolkit-2.2.7-1
3.下载Anemometer
官网:https://github.com/box/Anemometer
4.准备好php相关模块(或者yum)
5.启动apache服务
rpm -qa|grep http
httpd-2.2.3-45.el5
安装:
1.安装Percona Toolkit:
rpm -ivh percona-toolkit-2.2.7-1.noarch.rpm
2.将Anemometer文件包解压,重命名为anemometer,并移动到/var/www/html 下(apache默认路径)
pwd
/var/www/html/anemometer
3.安装php相关模块:
rpm -qa|grep php
php53-common-5.3.3-1.el5
php53-bcmath-5.3.3-1.el5
php53-mysql-5.3.3-1.el5
php53-dba-5.3.3-1.el5
php53-cli-5.3.3-1.el5
php53-gd-5.3.3-1.el5
php53-5.3.3-1.el5
php53-pdo-5.3.3-1.el5
NOTE:
PHP版本要大于5.3,否则就报错,如:
Anemometer requires PHP 5.3 or newer. You have 5.1.6
除此之外还需要:bcmath
rpm -qa|grep bcmath
php53-bcmath-5.3.3-1.el5
4.执行setup 脚本,创建用户:
[root@/var/www/html/anemometer]mysql -uroot -pxxx < install.sql
[root@/var/www/html/anemometer]mysql -uroot -pxxx
mysql > grant all on slow_query_log.* to 'anemometer'@'%' identified by 'test';
mysql > grant select on *.* to 'anemometer'@'%';
mysql > grant all on slow_query_log.* to 'anemometer'@'localhost';
mysql > grant select on *.* to 'anemometer'@'localhost';
5.将慢查询日志通过pt-query-digest分析后存入数据库中:
pt 版本小于2.2版本的语句:
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
pt 版本大于2.2版本的语句:
pt-query-digest --user=anemometer --password=test --review h=hd-119-186,D=slow_query_log,t=global_query_review --history h=hd-119-186,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
执行这个操作后,将会把慢日志分析后存入mysql的slow_query_log数据库。
NOTE:
记得保证相应 '用户'@'主机' 的访问权限
6.修改可视界面的配置信息:
cd /var/www/html/anemometer/conf
cp sample.config.inc.php config.inc.php
vi config.inc.php
以及:
NOTE:
主机名一定要修改正确,不能保留为localhost,否则会导致最终界面无法访问。
7.最终本地通过IP访问:
http://192.168.44.130/anemometer
查询后可获得慢查询日志的结果:
补充:如何监控多个数据库
[root@RZ-SI1-DB-14 conf]# ll
total 40
-rwxr-xr-x 1 root root 15504 Oct 12 14:51 config.inc.php ###新版都不需要修改里面的配置了,只需要修改下面的datasource
-rwxrwxrwx 1 root root 314 Oct 12 14:54 datasource_si1.inc.php
-rwxr-xr-x 1 root root 314 Oct 12 15:05 datasource_st1.inc.php ---配置多个datasource,si1 st1 机器上分别导入install.sql 并pt-query-digest 慢日志进去
-rwxrwxrwx 1 root root 0 Oct 13 2016 index.html
-rwxrwxrwx 1 root root 15487 Oct 13 2016 sample.config.inc.php
[root@RZ-SI1-DB-14 conf]# more datasource_si1.inc.php
$conf['datasources']['si1'] = array(
'host' => '10.38.96.132',
'port' => 3306,
'db' => 'slow_query_log',
'user' => 'xxxxxx',
'password' => 'xxxxxx',
'tables' => array(
'global_query_review' => 'fact',
'global_query_review_history' => 'dimension'
),
'source_type' => 'slow_query_log'
);
[root@RZ-SI1-DB-14 conf]# more datasource_st1.inc.php
$conf['datasources']['st1'] = array(
'host' => '10.38.96.128',
'port' => 3306,
'db' => 'slow_query_log',
'user' => 'xxxxxxx',
'password' => 'xxxxxxxx',
'tables' => array(
'global_query_review' => 'fact',
'global_query_review_history' => 'dimension'
),
'source_type' => 'slow_query_log'
);
参考文章:
https://github.com/box/Anemometer
https://rtcamp.com/tutorials/mysql/slow-query-log-anemometer/
anemometer mysql 500_【Mysql】Anemometer-可视化慢sql查看相关推荐
- anemometer mysql 500_Anemometer将Mysql慢查询日志可视化
工作原理:Anemometer: 实现慢查询sql可视化 pt-query-digest :抽取慢查询日志 /etc/my.cnf 开启慢查询 [ #slow_query log_queries_no ...
- 4.MySQL连接并选择数据库(SQL C)
在连接了MySQL数据库之后,可以通过SQL命令或者C.PHP.JAVA等程序来指定需要操作的数据库.这里主要介绍SQL命令和相应的C程序. 首先创建用户rick(赋予所有权限) mysql> ...
- Mysql 数据库命令行导出导入sql脚本
2019独角兽企业重金招聘Python工程师标准>>> 导出数据库中所有表的sql脚本(包含数据): 1.运行命令终端 cmd.exe 2.输入:mysqldump- uroot - ...
- MySQL查询本年的数据的sql语句
MySQL查询本年的数据的sql语句: SELECT * FROM 表名 WHERE YEAR(时间字段)=YEAR(NOW());
- mysql @pdept_MySQL 基本管理与常用sql 归结
备份恢复的策略 1.确定要备份表的存储引擎是事务还是非事务的,不同的引擎备份方式在处理数据一致性方面 是不大一样的. 2.确定使用全备份还是增量备份.全备份的优点是备份保持最新备份,恢复的时候可以花费 ...
- 【MySQL】MySQL开发注意事项与SQL性能优化步骤
MySQL简介 地表最流行数据库 名副其实 什么是MySQL? 世界上应用最广泛且灵活的开源关系数据库 MySQL 是应用最广泛的开源关系数据库,是许多常见网站,应用程序和商业产品使用的主要关系数据存 ...
- mysql查找执行效率慢的SQL语句
启动Mysql时加参数--log-slow-queries来记录执行时间超过long_query_time秒的sql MySQL 自带 slow log 的分析工具 mysqldumpslow. sl ...
- mysql administrator 备份 表_【转】如何使用 MySQL Administrator 管理/备份/还原 My SQL 数据库...
如何使用 MySQL Administrator 管理/备份/还原 My SQL 数据库 MySQL Administrator 是什么软件? MySQL Administrator 是一个专门用于管 ...
- MySQL之深入解析一条SQL的执行流程
前言 天天和数据库打交道,一天能写上几十条 SQL 语句,但你知道系统是如何和数据库交互的吗?MySQL 是如何存储数据.又是如何管理事务?是不是感觉真的除了写几个 「select * from du ...
最新文章
- asp.net中窗口相关操作总结(javascript)
- Eureka 服务注册与发现02——集群版
- 模拟器上安装不能被卸载的apk
- 无法显示 xml 页 解决方案
- 文件路径转换为数组php,php – 如何将目录结构转换为url数组
- 刷新记录! CVPR2021全新目标检测机制达到SOTA!
- SVN: Can't create session svn
- JS基础--Date.parse(),Date.UTC()和Date.now()
- 如何枚举系统的视音频采集设备
- 蓝宝石rx470d原版bios_蓝宝石显卡等级划分,如何区分双胞胎矿卡,旗舰值得入手吗?...
- JavaScript中的onmouseover事件和onmouseout事件实例
- 机器人庄园作文_300个字我的梦想作文
- gomarket服务器位置,V712双核版机型常见问题集解答.pdf
- 《JAVASE系列》一个小小的图书管理系统
- hexo(sakura)给博客增添侧边栏(回到顶部,跳转评论,深色模式,播放音乐)Valine-1.4.4新版本尝鲜+个性制定(表情包、qq头像、UI样式)
- IEEE 软件单元测试标准
- OpenGL-曲面细分
- POJO,PO,JAVABEAN
- MarkDown 排版测试
- MySQL与自然语言处理_zt 计算语言学 与 自然语言处理