Anemometer中怎么可视化Mysql慢查询日志


Anemometer中怎么可视化Mysql慢查询日志,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。工作原理:
Anemometer:实现慢查询sql可视化
pt-query-digest:抽取慢查询日志
/etc/my.cnf开启慢查询

#slow_query
log_queries_not_using_indexes=1
long_query_time=1
slow_query_log=1

部署架构(单机部署):
httpd服务【相当于是tomcat的用途,去为Anemometer提供服务】
pt-query-digest慢查询日志抓取导入【从慢查询日志里面提取慢sql写入到Anemometer自身的数据库中,后面会将它写入定时任务中】
Anemometer可视化展示【安装目录:/var/www/htm】

搭建Anemometer框架
前置工作:
1.关闭selinux
setenforce0
sed-i’s/enforcing/disabled/g’/etc/sysconfig/selinux
2.打开防火墙的443,13306,80端口
iptables-IINPUT-ptcp–dport443-jACCEPT
iptables-IINPUT-ptcp–dport80-jACCEPT
iptables-IINPUT-ptcp–dport13306-jACCEPT
serviceiptablessave
3.确保时间准确(非必须)
yuminstall-yntpntpdate
cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime#修改时区为东8区
cp:overwrite`/etc/localtime’?y
servicentpdatestart
[root@Master01~]#date-R
Tue,30Jan201814:45:34+0800#+0800是东8区
chkconfigntpdateon

部署工作
1.安装核心组件pt_query_digest(2.2.14版本)
yuminstallperl-DBIperl-DBDperl-DBD-MySQLperl-Time-HiResperl-IO-Socket-SSLperl-TermReadKey-y
wget–no-check-certificatehttps://www.percona.com/downloads/percona-toolkit/2.2.14/RPM/percona-toolkit-2.2.14-1.noarch.rpm
yuminstall-ypercona-toolkit-2.2.14-1.noarch.rpm
2.安装php
注意php必须是5.33以上的版本,否则报错;
安装环境的OS是CentOS6.8,所以直接yum安装的php就是5.33版本
yuminstall-yphpphp-mysqlphp-gdlibjpeg*php-imapphp-ldapphp-odbcphp-pearphp-xmlphp-xmlrpcphp-mbstringphp-mcryptphp-bcmathphp-mhashlibmcryptlibmcrypt-develphp-fpmphp-dba
3.安装httpd
yuminstall-yhttpd
4.修改配置,启动php(不修改时区的话,启动httpd时会报500的错)
vim/etc/php.ini
date.timezone=Asia/Shanghai
servicephp-fpmstart
5.初步配置anemometer:
cp-ranemometer/var/www/html/#anemometer项目程序自行下载
vim/etc/httpd/conf/httpd.conf
添加ServerName192.168.214.140:80(anemometer的IP,如果不采用80端口,需要在这里配上其他端口号)
6.执行建库脚本:
cd/var/www/html/anemometer
mysql-uroot-p密码备注:为了简单直接使用了root账号进行授权
7.进一步配置anemometer:
cd/var/www/html/anemometer/conf/
修改第一处:
cpsample.config.inc.phpconfig.inc.php
vim/var/www/html/anemometer/conf/config.inc.php
【$conf[‘datasources’][‘mysql56’],$conf[‘datasources’][‘localhost_history’],$conf[‘plugins’]三处的内容】

$conn[‘user’]=’anemometer’;
$conn[‘password’]=’密码’;
修改第二处:
vim/var/www/html/anemometer/conf/datasource_localhost.inc.php
$conf[‘datasources’][‘localhost’]=array(
‘host’=>’192.168.214.140’,#根据实际情况进行修改
‘port’=>3306,
‘db’=>’slow_query_log’,
‘user’=>’backend’,
‘password’=>’backend’,
‘tables’=>array(
‘global_query_review’=>’fact’,
‘global_query_review_history’=>’dimension’
),
‘source_type’=>’slow_query_log’
);

8.启动apache:
servicehttpdstart
打开刚才发布的网页http://192.168.214.140/anemometer

9.添加定时任务:
定时任务脚本如下:
[root@localhosttest]#morefetch-slowlog.sh
#!/bin/sh
# 香港云主机turnondebug
set-x
current_host=`/usr/sbin/ipaddshoweth0|grepinet|grep-v”inet6″|awk'{print$2}’|cut-d/-f1`
mysql_cmd=”mysql-uroot-proot-NB”

project=azure-qa-qyd#项目名称
hostip=${current_host}#targetdbIP
#db_name=$3#数据库名称,thiscanbeignored
#慢查询文件的绝对路径
slowfile=`$mysql_cmd-e”showvariableslike’slow_query_log_file'”2>/dev/null|cut-f2`
#thedbhostwherereviewandhistoryofslowlogstore
db_host=192.168.214.140
db_port=3306
pt-query-digest–user=root–password=root
–reviewh=${db_host},P=${db_port},D=slow_query_log,t=global_query_review
–historyh=${db_host},P=${db_port},D=slow_query_log,t=global_query_review_history
–charset=utf8
–no-report–limit=0%
–filter=”$event->{Bytes}=length($event->{arg})and$event->{hostname}=”${project}”and$event->{hostip}=”${hostip}””
“${slowfile}”
#clearslowlog
echo>$slowfile
$mysql_cmd-e”flushslowlogs”
echo”slowlogprocessed!”

[root@localhosttest]#crontab-l
*/5****/opt/test/fetch-slowlog.sh>/tmp/fetch-slowlog.log2>&1#每五分钟运行一次

10.登录后即可看到慢查询对应的数据库的慢sql关于Anemometer中怎么可视化Mysql慢查询日志问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注开发云行业资讯频道了解更多相关知识。

相关推荐: 微信小程序中怎么开发用户登录

这篇“微信小程序中怎么开发用户登录”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序中怎么开发用户登录”文章吧。微信小程序 登陆流程1:s…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 08/04 10:39
Next 08/04 10:39

相关推荐