十分钟部署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-1.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.20-1.noarch.rpm

vim /home/shell_script/slow_db_export.sh
#!/bin/bash
/usr/bin/pt-query-digest --user=anemometer --password=123456 --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=0% --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\"" /usr/local/mysql/data/mysql.slow

chmod -R 755 /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 660 mysql mysql
dateext
notifempty
daily
maxage 60
rotate 30
missingok
compress
olddir /usr/local/mysql/old_log
postrotate
##########run if mysqld is running
if /usr/local/mysql/bin/mysqladmin ping -h172.27.127.12 -uroot -p‘Hs!hs8989‘ -S /usr/local/mysql/mysql.sock &>/dev/null; then
/usr/local/mysql/bin/mysqladmin flush-logs -h172.27.127.12 -uroot -p‘Hs!hs8989‘ -S /usr/local/mysql/mysql.sock

fi
endscript
}
chmod -R 755 /etc/logrotate.d/mysql

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

#############23点55分-分割导入当天的慢查询数据#####################
55 23 * * *  /home/shell_script/slow_db_export.sh
###############23点59分-切割慢查询日志#############
59 23 * * * 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慢查询日志可视化功能。

原文地址:https://www.cnblogs.com/fishbook/p/9388902.html

时间: 2024-11-09 02:08:10

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

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

原文地址:使用Anemometer基于pt-query-digest将MySQL慢查询可视化 作者:84223932 本文主要介绍使用Anemometer基于pt-query-digest将MySQL慢查询可视化,因为网上资料相对较少,且都是英文的,遇到报错也没有相关的参考资料,因此写此文. 欢迎转载,请注明作者.出处. 作者:张正 blog:http://space.itpub.net/26355921 QQ:176036317 如有疑问,欢迎联系. 准备条件:1.MySQL开启慢查询 2.安

Anemometer基于pt-query-digest将MySQL慢查询可视化

参考文章: http://ourmysql.com/archives/1359?utm_source=tuicool&utm_medium=referral 官方:https://github.com/box/Anemometer 单节点Anemometer监控 1 安装anemometer # cd /data/www/web3 # git clone https://github.com/box/Anemometer.gitanemometer && cd anemometer

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

If you're just completely itching to start using this tool, here's what you need: 1.a MySQL database to store query analysis data in. 2.pt-query-digest.You may as well just get the whole Percona Toolkit while you're at it :) 3.a slow query log from a

Anemometer和pt-query-digest结合将MySQL慢查询可视化

pt-query-digest虽然功能强大, 但毕竟没有web界面显示的直观,我们可以借助Anemometer作为pt-query-digest执行结果的显示端,Anemometer是专门为mysql的慢查询开发的一款开源软件,地址在http://www.oschina.net/p/anemometer 一.安装LAMP环境 1,安装 yum install httpd php *bcmath* *mysqli* -y 2,查看 [[email protected] ~]# rpm -qa|gr

十分钟部署智能合约

eos环境搭建 1.git clone源代码 git clonehttps://github.com/EOSIO/eos --recursive 2.下载编译之后,里面有三个应用程序,这三个应用程序也都是命令行的: 1.Cleos: 2.Nodeos: 3.Keosd. 这三个应用程序之间有什么关系呢?我们现在使用的前端,怎么使用EOS呢? -Cleos,它是一个命令行程序.在前端使用EOS是通过Cleos输入命令,给EOS下达指令. -Nodeos,其实它就是挖矿客户端.在启动Nodeos之后

Linux下MySQL慢查询分析mysqlsla安装使用

说明: 操作系统:CentOS 5.X 64位 MySQL版本:mysql-5.5.35 MySQL配置文件:/etc/my.cnf MySQL 数据库存放目录:/data/mysql 实现目的:开启MySQL慢查询日志功能,安装使用MySQL慢查询分析mysqlsla 具体操作: 一.开启MySQL慢查询功能 mysql -u  root -p  #进入MySQL控制台 show variables like '%slow%';   #查看MySQL慢查询是否开启 set global slo

俺每十分钟查询数据

select substr(to_char(t.callintime, 'yyyy-mm-dd hh24:mi:ss'),0,15), count(1)   from t_ivr_call_log t  where t.callintime > trunc(sysdate - 8)    and t.callintime < trunc(sysdate)  group by substr(to_char(t.callintime, 'yyyy-mm-dd hh24:mi:ss'),0,15) 

Anemometer+Percona Toolki实现MySQL慢查询日志可视化功能

最近发现了一个挺好用的MySQL慢查询日志可视化的工具,网上也能找到很多资料,在这里结合自己的实际情况重新整理一下. 1. 实验环境 1.1 系统环境: 操作系统:CentOS 6.5 64位 主机地址:10.0.0.26 主机名:mysql01 mysql版本:mysql-5.6.36 1.2 可视化软件环境: http环境:LAMP 可视化软件:Anemometer-master.zip, percona-toolkit-3.0.11-1.el6.x86_64.rpm, perl-TermR

sql server 大数据, 统计分组查询,数据量比较大计算十分钟内每秒钟执行次数

-- 数据量比较大的情况,统计十分钟内每秒钟执行次数 declare @begintime varchar(100); -- 开始时间 declare @endtime varchar(100); -- 结束时间 declare @num int; -- 结束时间 set @begintime = '2019-08-10 09:10:00' -- 开始时间 set @endtime = '2019-08-10 09:20:00' -- 结束时间 set @num = (select count(