anemometer mysql 500_Anemometer基于pt-query-digest将MySQL慢查询可视化

参考文章:

http://ourmysql.com/archives/1359?utm_source=tuicool&utm_medium=referral

官方:https://github.com/box/Anemometer

单节点Anemometer监控

1 安装anemometer

2 创建表和用户名

我们可以看下表结构如下

b1b67f98d0474e080100378fcc5cced8.png

b5008783f96aa32ce1043b3e3100ce5d.png

3 分析mysql慢日志

# pt版本高于2.2的执行下面语句,将慢查询日志放入名为slow_query_log数据库中

这时候,数据库的slow_query_log 库,里面的global_query_review_history和global_query_review这2张表已经已经有一些数据了。

4 修改anemometer配置文件及配置展示日志用的虚拟主机

f61eb44ddb3c4eae6459544d092b07b5.png

cec27177023d9bc6dc9031d8e855b625.png

配置nginx

# vim /usr/local/nginx/conf/vhost/anemometer.conf  内容如下:

在浏览器访问http://192.168.0.88/ 即可如下图所示(这几张图片是从别人博客摘录的,他这个截图做的特别详细)

403268f7517c59010555a1a5061efea2.png

d5aa1bd19663b88b3ea2d4613ac0442e.png

9e0cc5354283b8a21b142deb2a76d61f.png

5 自动滚动日志

# vi /etc/logrotate.d/mysql

至此,我们的anemometer算是跑通了。

但是生产环境的话,我们不可能就一个节点的啊,下面就是多节点部署的问题了。

多节点mySQL监控慢查询日志

node1:192.168.2.11   MariaDB10.0.17    还部署有nginx的anemometer web前端

node2:192.168.2.12  MariaDB10.0.17

各个节点的my.cnf里面开启慢查询,相关配置如下:

1.安装anemometer

node1上安装到nginx的网站目录下

node2上anemometer的安装目录没什么要求

2.创建表和用户名

node1上执行:

node2上执行:

3.在两个节点执行pt命令分析慢查询日志,并写入到各自的数据库中

node1上执行:

node2上执行:

4.在node1上配置前端

Chrome查看http://192.168.2.11/如下图所示

f1090086718651367d742941c79b542b.png

5.下面是我自己写pt分析慢查询日志的脚本

(anemometer提供的那个个人感觉用不惯,自己照着写了个更简单的)

vim /home/scripts/pt-digest.sh内容如下:

调试通过以后,在crontab添加如下命令实现定期采集慢查询日志到数据库存储

59 23 * * * /bin/bash /home/scripts/pt-digest.sh> /dev/null

这样每天就能自动分析采集慢查询日志了。

另外,慢查询日志建议按天切分,这样用pt-query-digest进行SQL慢查询日志统计的时候就避免重复分析了。慢查询按天切分的脚本如下:

Tips下面是慢查询日志切分脚本:

下面是一个轮询切割mySQL慢查询和错误日志的脚本(/home/scripts/mysql_log_rotate):

57c11a6ff90c49a811ec601a39a85e55.png

再配置个CRONTAB:

这样的话,每天慢查询日志、错误日志就自动存储到/usr/local/mariadb/var/oldlogs/这个目录下了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值