十分钟部署Anemometer作为Mysql慢查询可视化系统
前言
采用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慢查询可视化系统的更多相关文章
- 【转载】 使用Anemometer基于pt-query-digest将MySQL慢查询可视化
原文地址:使用Anemometer基于pt-query-digest将MySQL慢查询可视化 作者:84223932 本文主要介绍使用Anemometer基于pt-query-digest将MySQL ...
- 使用Anemometer基于pt-query-digest将MySQL慢查询可视化
最近玩MySQL,发现了一个很不错的工具,可以把MySQL慢查询可视化,方便我们去找出和分析慢询语句,搭建的步骤不多,但网上详细教程比较少,说得也不够详细,一不小心,估计得蛋痛一会,哈哈 Percon ...
- 使用Anemometer分析MySQL慢查询记录
数据库管理员一般是用percona的toolkit工具来分析MySQL慢查询记录,但是不够直观. 下面介绍一款比较直观的工具来统计分析MySQL慢查询记录anemometer. 在使用之前需要安装pe ...
- Kubernetes笔记(一):十分钟部署一套K8s环境
Kubernetes是Goole开源的一个容器编排引擎,它支持自动化部署.大规模可伸缩.应用容器化管理 -- 百度百科. 接触K8s也有半年多了,也基于阿里云平台搭建了包含多级服务.目前运行较为稳定的 ...
- Docker 版 3分钟部署 .net core 开源在线客服系统,他来了
我在博客园发表了一系列文章,开始介绍基于 .net core 的在线客服系统开发过程. 前些天又应朋友的要求,发了一篇 CentOS 版本的安装部署教程:https://www.cnblogs.com ...
- mysql数据库查询过程探究和优化建议
查询过程探究 我们先看一下向mysql发送一个查询请求时,mysql做了什么? 如上图所示,查询执行的过程大概可分为6个步骤: 客户端向MySQL服务器发送一条查询请求 服务器首先检查查询缓存,如果命 ...
- (转)十分钟了结MySQL information_schema
十分钟了结MySQL information_schema 原文:http://www.cnblogs.com/shengdimaya/p/6920677.html information_sche ...
- oracle查询十分钟之前的数据
select * from TABLE as of timestamp sysdate - 10/1440 t WHERE ColName='1111'; TABLE:表名 WHERE:查询子句 sy ...
- 十四、MySQL UPDATE 查询
MySQL UPDATE 查询 如果我们需要修改或更新 MySQL 中的数据,我们可以使用 SQL UPDATE 命令来操作.. 语法 以下是 UPDATE 命令修改 MySQL 数据表数据的通用 S ...
随机推荐
- photo的复数是photos
以O结尾的单词变复数时,有生命的加es,无生命的加s. 如:photo,zoo,为无生命的,+s tomato,potato为有生命的,+es. 自己总结的,但到目前为止还没有遇到过例外的.记住这一个 ...
- 奇葩拿shell + 提权wind08r2奇葩拿shell + 提权wind08r2戏
0x01 小隐拿站篇 某省还是市级还是县级的空防部 先来刺探目录,拿起御剑, 啪啪啪 (鼓掌)后台出来了 试试弱口令 擦 需要管理员验证码,这个咋玩????这个注入都不用找了,就算注射出账号密 ...
- 中间人攻击之劫持登录会话(cookies)
关于中间人攻击 中间人攻击(Man-in-the-MiddleAttack,简称"MITM攻击")是一种"间接"的入侵攻击,这种攻击模式是通过各种技术手段将受入 ...
- 阿里云免费ssl,https证书的申请和校验
其实写这个之前一直在考虑要不要写出来 ,真的官方文档实在太强大了,连视频都给你录好了,配不好的,是不是可以考虑不用写程序了, 忽然想到第一次使用微信测试号,进行域名认证的时候,因为后台返回“echar ...
- 在Node中使用ES7新特征——async、await
async与await两个关键字是在ES7中添加的新特征,旨在更加直观的书写异步函数,避免出现callback hell. callback hell是什么? readFileContents(&qu ...
- 调节Ubuntu分辨率
列出当前支持的分辨率 使用 xrandr 命令新增显示模式 至此分辨率更改完成 重启后会失效 在 ~/.profile 最末尾添加修改分辨率的命令
- ASP.NET SingalR + MongoDB 实现简单聊天室(三):实现用户群聊,总结完善
前两篇已经介绍的差不多了,本篇就作为收尾. 使用hub方法初始化聊天室的基本步骤和注意事项 首先确保页面已经引用了jquery和singalR.js还有对应的hubs文件,注意,MVC框架有时会将jq ...
- Crontab 学习
分钟 小时 日期 月份 星期几 整点执行 0 8-22 * * * /usr/bin/php /home/anbaojia/wwwroot/shjn/yii report/sync 查看 cron 执 ...
- 全局ajax的使用
一.ajax介绍 详细介绍请看:http://www.runoob.com/ajax/ajax-tutorial.html AJAX = Asynchronous JavaScript and XML ...
- Junit报错Initialization Error
出错原因是没有把方法声明为public