文档章节

Mysql 慢日志分析系统搭建 —— Box Anemometer

水露露
 水露露
发布于 2017/08/14 10:05
字数 1035
阅读 80
收藏 0

背景:

​慢日志是分析定位问题的利器,但是在日常实际应用中,mysql自动生成的慢日志是杂乱无章的,不便于我们的使用。 这里介绍利用开源项目 Box Anemometer来搭建一个图形可视化的慢日志分析系统。

github项目地址:  https://github.com/box/Anemometer 

步骤过程:​

一. 安装 percona-toolkit,因为其实box还是借助percona的pt-query-digest工具将慢日志的分析结果写入数据库,然后展示。

1. 获取最新的安装包 :wget percona.com/get/percona-toolkit.tar.gz​  

2. 解压并安装 : 

tar xzvf​  percona-toolkit-2.2.16.tar.gz   

cd percona-toolkit-2.2.16

perl Makefile.PL

make

make test

make install

​二. 搭建LAMP环境并且安装Box Anemometer :

1.  git clone https://github.com/box/Anemometer.git anemometer

2.  将clone的anemometer放在httpd.conf对应的DocumentRoot​目录路径下。

3.  修改配置文件:

cd   /anemometer/conf  

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

配置项说明:

$conf['datasources']['localhost'] = array(

        'host'  => '127.0.0.1',         //anemometer系统用来存放数据集结果的数据库服务器的host

        'port'  => 3307,                  //对应的端口

        'db'    => 'slow_query_log',          //对应的数据库

        'user'  => 'root',                              //用户名

        'password' => '123456',                //密码

        'tables' => array(

                'global_query_review' => 'fact',

                'global_query_review_history' => 'dimension'

        ),

        'source_type' => 'slow_query_log'

);

三. 在anemometer的结果集数据库中手工倒入sql文件创建数据库以及表:

mysql -uroot  -p  -S /tmp/mysql3306.sock < Anemometer/install.sql 

四. 配置具体的收集环境:​

注: 当你要收集多个数据库服务器上的慢日志时,你有以下方式可以实现:

1、手工导入的install.sql里面的global_query_review_history表包含了hostname_max和db_max,通过hostname_max区分把多个数据源存放到一个表里.

2、每台mysql把处理后的slow log数据放到当前服务器,然后anemometer连接对应的服务器获取数据.

3、所有的mysql把处理后的slow log数据统一存放到anemometer所在的数据库上,然后通过表名或者数据库名字区分.

如果选择第二种或者第三种方案,需要定义多个数据源​。我们这里以第2中方式为例:

假如我们的Box系统放在A主机上,我们要收集B与C主机的slow log来分析统计(三台主机上都有mysql实例):​

第一步,首先,我们在A数据中心数据库(即存放B和C的结果集)上创建B和C对应的库和表:修改install.sql文件中的库名和表名即可:

​​我们将B的数据存放在A的slow_query_log_master库中,将C的数据存放在A的slow_query_log_slave数据库中。

第二步,然后修改配置文件中的数据源配置:

 

​上面的B和C指的是界面的数据源选择,其他的都是A数据库的配置,db即B和C的数据结果集存放数据库。

第三步,在B和C上配置日志收集装置:

将/anemometer/scripts​/anemometer_collect.sh放在B和C上,然后根据自己的需求进行修改,因为不同的需求要进行不同的修改,这里就不具体说明了,只是强调几点应该注意的:

1.  此程序是默认登陆机器,将mysql的slow_query_log​关掉,然后mv到另外一个文件夹,然后用pt-query-digest进行分析,并将结果写入A的数据库。然后再打开slow_query_log开关,中间涉及慢日志时长long_query_time的修改,需要根据自己的需求更改。

2. 此程序默认删掉了mv过去的文件,如果你有需要需保存。​

​3. 为anemometer_collect.sh生成配置文件,​分别为连接本地数据库的配置文件localhost.cnf(用于设置slow_query_log参数)以及远程数据库A的连接配置server.cnf 用于将pt-query-digest的结果写入A。

4. 以cron的形式每天定时执行:

30 21 * * *  sh -x   anemometer_collect.sh  --defaults-file localhost.cnf  --history-defaults-file  server.cnf >>/data2/box-slow.log​

第四步:​这时候,应该就可以打开服务器对应的网站进行访问了.

如果发现访问不了,可以curl -v以及查看log的方式定位错误。​

致此,基本上就搭建完毕,后续遇到的问题会持续更新。。。​

本文转载自:http://blog.sina.com.cn/s/blog_c2839d2a0102wkuv.html

共有 人打赏支持
水露露
粉丝 4
博文 96
码字总数 25340
作品 0
西安
程序员
私信 提问
Anemometer图形化显示MySQL慢日志的工具搭建使用

介绍:Anemometer 是一个图形化显示MySQL慢日志的工具。结合pt-query-digest,Anemometer可以很轻松的帮你去分析慢查询日志,让你很容易就能找到哪些SQL需要优化 This is the Box Anemometer...

wdw王大为
05/23
0
0
使用Box Anemometer基于pt-query-digest将MySQL慢查询可视化

版权声明:本文为EnweiTech原创文章,未经博主允许不得转载。 https://blog.csdn.net/English0523/article/details/80243722 最近玩MySQL,发现了一个很不错的工具,可以把MySQL慢查询可视化...

天府云创
05/08
0
0
Anemometer+Percona Toolki实现MySQL慢查询日志可视化功能

最近发现了一个挺好用的MySQL慢查询日志可视化的工具,网上也能找到很多资料,在这里结合自己的实际情况重新整理一下。 1. 实验环境 1.1 系统环境: 1.2 可视化软件环境: 2. 编译安装MySQL...

呀哈喽
07/26
0
0
MySQL慢日志查询分析方法与工具

版权声明:本文为EnweiTech原创文章,未经博主允许不得转载。 https://blog.csdn.net/English0523/article/details/80239189 启用 slow log 1, 在my.cnf 里 通过 log-slow-queries[=file_nam...

天府云创
05/08
0
0
MySQL 慢查询监控器--Anemometer

Box Anemometer 是一个 MySQL 慢查询监控器,用来分析 MySQL 中的执行效率底下的 SQL 语句,以找出系统慢的原因。

红薯
2014/04/13
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

ios多个target

1.建立3个target,分别为heroone,heroone test,heroone dev;分别为正式环境,test环境,dev环境 2.注意取消掉autocreate以防止名字不对,分别以Duplicate的方式建立另外两个scheme 3.创建...

HeroHY
今天
5
0
php获取客户端IP

php获取客户端IP 首先先阅读关于IP真实性安全的文章:如何正確的取得使用者 IP? 「任何從客戶端取得的資料都是不可信任的!」 HTTP_CLIENT_IP头是有的,但未成标准,不一定服务器都实现。 ...

DrChenXX
昨天
0
0
. The valid characters are defined in RFC 7230 and RFC 问题

通过这里的回答,我们可以知道: Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,添加了对于http头的验证。 具体来说,就是添加了些规则去限制HTTP头的规范性 参考这里 具体来说: org.apache.tom...

west_coast
昨天
1
0
刷leetcode第704题-二分查找

今天双十一买的算法书到货了,路上刷到有人说的这个题,借(chao)鉴(xi)一下别人的思路,这个是C++标准库里面的经典方法,思路精巧,优雅好品味 int search(int* nums, int numsSize, in...

锟斤拷烫烫烫
昨天
3
0
【分享实录】BANCOR算法详解及代码实现

1 活动基本信息 1)主题:【区块链技术工坊22期】BANCOR算法详解及代码实现 2)议题: BANCOR算法的特点和优劣势 BANCOR算法和举例 如何加入BANCOR.NETWORK交易所 如何开发自己的BANCOR去中心...

HiBlock
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部