文档章节

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

水露露
 水露露
发布于 2017/08/14 10:05
字数 1035
阅读 68
收藏 0
点赞 0
评论 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的方式定位错误。​

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

© 著作权归作者所有

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

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

wdw王大为 ⋅ 05/23 ⋅ 0

MySQL慢日志简介及Anemometer工具介绍

作者:王航威 - fordba.com 来源:http://fordba.com/box-anemometer-visual-mysql-slow.html,叶师傅对原文内容略有调整 备注:王航威是知数堂第8期同学,现任职有赞DBA MySQL 慢日志简介 ...

kuSorZ ⋅ 06/13 ⋅ 0

MySQL 慢查询监控器--Anemometer

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

红薯 ⋅ 2014/04/13 ⋅ 0

slowlog分析anemometer平台搭建

slowlog监控服务器的anemometer配置 slowlog监控平台搭建步骤: 一、安装percona-toolkit-2.2.14 二、准备相关php模块 yum -y install php-common php-bcmath php-mysql php-dba php-cli php......

浮生凤年 ⋅ 2015/07/07 ⋅ 0

MySQL性能分析系统

对于MySQL慢查询日志的分析,现已由多种工具来提供;最原始的mysqldumpslow,功能比较齐全的 mysqlsla和percona的 pt-query-digest;以上工具大大提高了DBA来分析数据库的性能效率,减少了过...

像教授 ⋅ 2017/11/26 ⋅ 0

搭建一个高可用负载均衡的集群架构(第二部分)

笔记内容:使用15台机器搭建一个高可用负载均衡的集群架构(第二部分) 笔记日期:2017.12.16——2017.12.16 属于第二部分的需求: 14 搭建zabbix监控告警系统,要求监控各个基础指标(cpu、...

ZeroOne01 ⋅ 2017/12/20 ⋅ 0

MySql开启慢查询方法My.ini

1,配置开启 Linux: 在mysql配置文件my.cnf中增加 log-slow-queries=/var/lib/mysql/slowquery.log (指定日志文件存放位置,可以为空,系统会给一个缺省的文件hostname-slow.log) longquery_...

deadmau5 ⋅ 2013/12/04 ⋅ 0

mysql开启慢查询方法

1,配置开启 Linux: 在mysql配置文件my.cnf中增加 log-slow-queries=/var/lib/mysql/slowquery.log (指定日志文件存放位置,可以为空,系统会给一个缺省的文件hostname-slow.log) longquery_...

震旦 ⋅ 2014/03/27 ⋅ 0

mysql查询日志计数统计

分析统计MySQL general日志 找出查询次数最多的SQL 当我们需要优化MySQL查询时,第一想到的是开启慢日志,慢日志可以看到执行消耗超过一定时间的SQL语句和未使用索引的SQL。但如果我们想分析...

全村人希望 ⋅ 2017/06/21 ⋅ 0

mysql性能优化-慢查询分析、优化索引和配置

目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 profiling分析查询 2索引及查询优化 三、配置优化 1) max_connections 2) back_log 3) inte...

zyt_1978 ⋅ 2016/09/18 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 57分钟前 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 快别开心了,你还没有女友呢。

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享吴彤的单曲《好春光》 《好春光》- 吴彤 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :小萝莉街上乱跑,误把我认错成...

小小编辑 ⋅ 今天 ⋅ 7

mysql in action / alter table

change character set ALTER SCHEMA `employees` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci ;ALTER TABLE `employees`.`t2` CHARACTER SET = utf8mb4 , COLLAT......

qwfys ⋅ 今天 ⋅ 0

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

MySQL

查看表相关命令 - 查看表结构    desc 表名- 查看生成表的SQL    show create table 表名- 查看索引    show index from  表名 使用索引和不使用索引 由于索引是专门用于加...

stars永恒 ⋅ 昨天 ⋅ 0

easyui学习笔记

EasyUI常用控件禁用方法 combobox $("#id").combobox({ disabled: true }); ----- $("#id").combobox({ disabled: false}); validatebox $("#id").attr("readonly", true); ----- $("#id").r......

miaojiangmin ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部