前言

采用Anemometer将Mysql慢查询日志可视化,可以更便捷的查询慢查询日志,并根据时间戳进行历史查询。如下是单机版Anemometer部署的演示,实际应用中,为安全起见,建议把anemometer 分开到另外的机器上。

工作原理

Anemometer: 实现日志可视化

pt-query-digest :抽取慢查询日志

环境信息

Ip 功能 软件信息 安装路径 操作系统
192.168.9.11 http服务 httpd-2.2.15-54 yum缺省路径 centos6.9
慢查询日志抓取导入 pt-query-digest rpm缺省路径
慢查询日志切割 logrotate yum缺省路径
可视化展示 Anemometer /var/www/html

安装步骤

1.安装apache

yum install httpd -y

2.安装pt-query-digest并设置抓取脚本

yum install perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL -y

#需要安装perl-TermReadKey否则会报错
wget http://pkgs.repoforge.org/perl-TermReadKey/perl-TermReadKey-2.30-1.el3.rf.x86_64.rpm
rpm -ivh perl-TermReadKey-2.30-.el3.rf.x86_64.rpm wget https://www.percona.com/downloads/percona-toolkit/2.2.20/RPM/percona-toolkit-2.2.20-1.noarch.rpm
rpm -ivh percona-toolkit-2.2.-.noarch.rpm vim /home/shell_script/slow_db_export.sh
#!/bin/bash
/usr/bin/pt-query-digest --user=anemometer --password= --review h=192.168.9.11,D=slow_query_log,t=global_query_review --history h=192.168.9.11,
D=slow_query_log,t=global_query_review_history --no-report --limit=% --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\"" /usr/local/mysql/data/mysql.slow chmod -R /home/shell_script/slow_db_export.sh

3.安装logrotate并配置每日切割mysql慢查询日志

yum install logrotate -y
vim /etc/logrotate.d/mysql
/usr/local/mysql/data/mysql.slow {
create mysql mysql
dateext
notifempty
daily
maxage
rotate
missingok
compress
olddir /usr/local/mysql/old_log
postrotate
##########run if mysqld is running
if /usr/local/mysql/bin/mysqladmin ping -h172.27.127. -uroot -p'Hs!hs8989' -S /usr/local/mysql/mysql.sock &>/dev/null; then
/usr/local/mysql/bin/mysqladmin flush-logs -h172.27.127. -uroot -p'Hs!hs8989' -S /usr/local/mysql/mysql.sock fi
endscript
}
chmod -R /etc/logrotate.d/mysql

4.将pt-query-digest脚本和logrotate切割脚本放入crontab中

#############23点55分-分割导入当天的慢查询数据#####################
* * * /home/shell_script/slow_db_export.sh
###############23点59分-切割慢查询日志#############
* * * root ( /usr/sbin/logrotate -f /etc/logrotate.d/mysql)

5.安装Anemometer

cd /var/www/html
git clone https://github.com/box/Anemometer.git anemometer&&cd anemometer #创建表和用户名
# mysql -uroot -proot < install.sql
# mysql-uroot -proot -e "grant ALL ON slow_query_log.* to 'anemometer'@'localhost' IDENTIFIED BY '123456';"
# mysql -uroot -proot -e "grant SELECT ON *.* to 'anemometer'@'localhost' IDENTIFIED BY '123456';"
# mysql -uroot -proot -e "flush privileges;"

6.导入日志并打开页面测试(http://192.168.9.11/amemometer

#执行刚刚编辑的slow_db_export.sh脚本
./home/shell_script/slow_db_export.sh #重启apache
service httpd restart

至此,已经通过Anemometer实现了mysql慢查询日志可视化功能。

十分钟部署Anemometer作为Mysql慢查询可视化系统的更多相关文章

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

    原文地址:使用Anemometer基于pt-query-digest将MySQL慢查询可视化 作者:84223932 本文主要介绍使用Anemometer基于pt-query-digest将MySQL ...

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

    最近玩MySQL,发现了一个很不错的工具,可以把MySQL慢查询可视化,方便我们去找出和分析慢询语句,搭建的步骤不多,但网上详细教程比较少,说得也不够详细,一不小心,估计得蛋痛一会,哈哈 Percon ...

  3. 使用Anemometer分析MySQL慢查询记录

    数据库管理员一般是用percona的toolkit工具来分析MySQL慢查询记录,但是不够直观. 下面介绍一款比较直观的工具来统计分析MySQL慢查询记录anemometer. 在使用之前需要安装pe ...

  4. Kubernetes笔记(一):十分钟部署一套K8s环境

    Kubernetes是Goole开源的一个容器编排引擎,它支持自动化部署.大规模可伸缩.应用容器化管理 -- 百度百科. 接触K8s也有半年多了,也基于阿里云平台搭建了包含多级服务.目前运行较为稳定的 ...

  5. Docker 版 3分钟部署 .net core 开源在线客服系统,他来了

    我在博客园发表了一系列文章,开始介绍基于 .net core 的在线客服系统开发过程. 前些天又应朋友的要求,发了一篇 CentOS 版本的安装部署教程:https://www.cnblogs.com ...

  6. mysql数据库查询过程探究和优化建议

    查询过程探究 我们先看一下向mysql发送一个查询请求时,mysql做了什么? 如上图所示,查询执行的过程大概可分为6个步骤: 客户端向MySQL服务器发送一条查询请求 服务器首先检查查询缓存,如果命 ...

  7. (转)十分钟了结MySQL information_schema

    十分钟了结MySQL information_schema  原文:http://www.cnblogs.com/shengdimaya/p/6920677.html information_sche ...

  8. oracle查询十分钟之前的数据

    select * from TABLE as of timestamp sysdate - 10/1440 t WHERE ColName='1111'; TABLE:表名 WHERE:查询子句 sy ...

  9. 十四、MySQL UPDATE 查询

    MySQL UPDATE 查询 如果我们需要修改或更新 MySQL 中的数据,我们可以使用 SQL UPDATE 命令来操作.. 语法 以下是 UPDATE 命令修改 MySQL 数据表数据的通用 S ...

随机推荐

  1. 【深入理解JAVA虚拟机】第一部分.走进Java

    Java技术体系 如果仅从传统意义上来看,Sun官方所定义的Java技术体系包括以下几个组成部分:Java程序设计语言各种硬件平台上的Java虚拟机Class文件格式Java API类库来自商业机构和 ...

  2. SqlParameter.Value = NULL 引发的数据库异常

    摘自:http://www.cnblogs.com/ccweb/p/3403492.html using (SqlCommand cmd = new SqlCommand()) { cmd.Conne ...

  3. [零基础学JAVA]Java SE基础部分-03. 运算符和表达式

    转自:http://redking.blog.51cto.com/27212/116751 1.课程名称:运算符.表达式 讲解了JAVA中各种运算符的使用,包括与.或.非.大于.小于等. 2.知识点 ...

  4. [objc explain]: Non-fragile ivars

    [objc explain]: Non-fragile ivars   (2009-01-27 09:30 PM)   Non-fragile instance variables are a hea ...

  5. dropout总结

    1.伯努利分布:伯努利分布亦称“零一分布”.“两点分布”.称随机变量X有伯努利分布, 参数为p(0<p<1),如果它分别以概率p和1-p取1和0为值.EX= p,DX=p(1-p). 2. ...

  6. hpp.h与.h的区别

    hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即可,无需再将cpp加入到project中进行编译.而实现代码将直接 ...

  7. python-递归的实现

    一.概念 递归算法是一种直接或者间接地调用自身算法的过程,在计算机编写程序中,递归算法对解决一大类问题是十分有效的. 特点: ①递归就是在过程或者函数里调用自身. ②在使用递归策略时,必须有一个明确的 ...

  8. 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件

    “/”应用程序中的服务器错误. 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“c552ea94-6fbb-11d5-a9c1-00104bb6fc1c”. 说明: 执行当前 Web ...

  9. Spring自定义注解(验证身份证+性别+地区)

    第一步:定义注解 PersonFormId: package com.wbg.maven1128.demo_formatter; import java.lang.annotation.*; @Doc ...

  10. Jmeter--thrift接口压测

    1. 安装thrift 2. 新建maven工程,代码结构如下 3. pom设置,按配置存放thrift文件和打包描述文件(具体代码见附件,根据需要改变配置信息) 4. thrift需要手动添加nam ...