改进版

可以建立主从机制,在从上执行慢查询语句分析

主cat /usr/local/sbin/lepus_slowquery.sh

#!/bin/bash

#****************************************************************#

# ScriptName:/usr/local/sbin/lepus_slowquery.sh

# Create Date:2014-03-25 10:01

# Modify Date:2014-03-25 10:01

#***************************************************************#

#configlepus database server监控机

lepus_db_host="172.1.1.197"

lepus_db_port=3306

lepus_db_user="lepus_user"

lepus_db_password="lepus_password"

lepus_db_database="lepus"

#configmysql server被监控机

mysql_client="/opt/mysql/bin/mysql"

mysql_host="172.1.1.221"

mysql_port=3306

mysql_user="lepus_monitor"

mysql_password="lepus_password"

#configslowqury慢日志位置

slowquery_dir="/home/log/mysql/"

slowquery_long_time=0.5

slowquery_file=`$mysql_client -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password  -e "show variables like'slow_query_log_file'"|grep log|awk '{print $2}'`

pt_query_digest="/usr/local/bin/pt-query-digest"

#config server_id被监控机id从lepus图形界面看

lepus_server_id=275

#collect mysqlslowquery log into lepus database

#$pt_query_digest --user=$lepus_db_user --password=$lepus_db_password --port=$lepus_db_port --charset=utf8 --review h=$lepus_db_host,D=$lepus_db_database,t=mysql_slow_query_review  --history h=$lepus_db_host,D=$lepus_db_database,t=mysql_slow_query_review_history  --no-report --limit=100% --filter="\$event->{add_column} = length(\$event->{arg}) and\$event->{serverid}=$lepus_server_id " $slowquery_file >/tmp/lepus_slowquery.log

##### set a new slowquery log ###########

tmp_log=`$mysql_client -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -e "select concat('$slowquery_dir','slowquery_',date_format(now(),'%Y%m%d%H'),'.log');"|grep log|sed -n -e '2p'`

#config mysqlslowquery

$mysql_client -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -e "set global slow_query_log=1;set global long_query_time=$slowquery_long_time;"

$mysql_client -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -e "set global slow_query_log_file = '$tmp_log'; "

echo "$tmp_log" >$slowquery_dir/version.txt

#delete log before 7days

cd $slowquery_dir

/usr/bin/find ./ -name 'slowquery_*.log' -mtime +14|xargs rm -rf ;

###同步慢查询日志到从服务上

src=/home/log/mysql/

dest=mysql

ip=172.1.1.222

#/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y%H:%M' --format '%T %w %f' -e modify,delete,create,attrib $src | while read DATE TIME DIR FILE;

#do

#filechange=${DIR}${FILE}

/usr/bin/rsync -avz --delete --progress $src 221mysqlbak@$ip::$dest --password-file=/etc/rsyncd.password >/home/rsync.log 2>&1

#echo "At ${TIME} on ${DATE}, file $filechange was backed up via rsynce" >/home/rsync.log 2>&1

#done

####END####

定时任务

00 */1 * * * root /bin/bash /usr/local/sbin/lepus_slowquery.sh 1>/dev/null 2>&1 &

从cat /usr/local/sbin/lepus_slowquery.sh

#!/bin/bash

#****************************************************************#

# ScriptName:/usr/local/sbin/lepus_slowquery.sh

# Create Date:2014-03-25 10:01

# Modify Date:2014-03-25 10:01

#***************************************************************#

#configlepus database server监控机

lepus_db_host="172.1.1.197"

lepus_db_port=3306

lepus_db_user="lepus_user"

lepus_db_password="lepus_password"

lepus_db_database="lepus"

#configmysql server被监控机

mysql_client="/opt/mysql/bin/mysql"

mysql_host="172.1.1.222"

mysql_port=3306

mysql_user="lepus_monitor"

mysql_password="lepus_password"

#configslowqury慢日志位置

slowquery_dir="/home/log/mysql/"

slowquery_long_time=0.5

#slowquery_file=`$mysql_client -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password  -e "show variables like'slow_query_log_file'"|grep log|awk '{print $2}'`

pt_query_digest="/usr/local/bin/pt-query-digest"

#config server_id被监控机id从lepus图形界面看

lepus_server_id=276

slowquery_file=`cat ${slowquery_dir}version.txt`

#collect mysqlslowquery log into lepus database

$pt_query_digest --user=$lepus_db_user --password=$lepus_db_password --port=$lepus_db_port --charset=utf8 --review h=$lepus_db_host,D=$lepus_db_database,t=mysql_slow_query_review  --history h=$lepus_db_host,D=$lepus_db_database,t=mysql_slow_query_review_history  --no-report --limit=100% --filter="\$event->{add_column} = length(\$event->{arg}) and\$event->{serverid}=$lepus_server_id " $slowquery_file >/home/lepus_slowquery.log

##### set a new slowquery log ###########

#tmp_log=`$mysql_client -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -e "select concat('$slowquery_dir','slowquery_',date_format(now(),'%Y%m%d%H'),'.log');"|grep log|sed -n -e '2p'`

#config mysqlslowquery

#$mysql_client -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -e "set global slow_query_log=1;set global long_query_time=$slowquery_long_time;"

#$mysql_client -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -e "set global slow_query_log_file = '$tmp_log'; "

#delete log before 7days

#cd $slowquery_dir

#/usr/bin/find ./ -name 'slowquery_*' -mtime +7|xargs rm -rf ;

####END####

定时任务

*/30 * * * * root /bin/bash /usr/local/sbin/lepus_slowquery.sh 1>/dev/null 2>&1 &

web界面点击172.1.1.222慢查询分析就代表是主的慢查询

-------------------------------------------分割线----------------------------------------------------

首先,说明几点

1.lepus3.7和lepus3.8 安装基本相同

参考http://suifu.blog.51cto.com/9167728/1770121

一定要用apache,php最好高版本,yum最好

或者

参考http://suifu.blog.51cto.com/9167728/1770493

有一键部署的lamp环境,如果是新机器,建议采用,参时间

开始安装部署

因为要监控mysql5.7,所以下载lepus3.8版本

a 监控机

1.1如果监控机的mysql也是5.7的话,那么这里有个问题,就是sql_mode,5.7默认开启了

select version(), @@sql_mode;

关闭的话,vim /etc/my.cnf

sql_mode='IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

这步只要在监控机上做。

主要解决php中慢查询执行sql报错,就是sql_mode引起的

1.2

lamp环境,yum略过,最好自己内部有yum服务器,那样安装起来也很快

1.3

详细步骤请参考最上面的文章

mysql> create database lepus default character set utf8;

mysql> grant select,insert,update,delete,create on lepus.* to 'lepus_user'@'%' identified by'MANAGER';

grant select,insert,update,delete,create on lepus.* to 'lepus_user'@'%' identified by 'xx';

mysql> flush privileges;

[root@HE3Lepus_v3.8_beta]# mysql -uroot -p lepus < sql/lepus_table.sql

[root@HE3Lepus_v3.8_beta]# mysql -uroot -p lepus < sql/lepus_data.sql

mysql>use lepus

mysql>alter table mysql_status modify column max_connect_errors bigint(18);

mysql>alter table mysql_status_history modify column max_connect_errors bigi

安装Lpeus程序

进入到Lepus软件包的python文件夹

# cd python/

授予install.sh可执行权限

# chmod +x install.sh

执行安装

# ./install.sh

修改配置文件

进入到安装目录,默认为/usr/local/lepus

[root@HE3~]# vi /usr/local/lepus/etc/config.ini

###监控机MySQL数据库连接地址###

[monitor_server]

host="192.168.1.250"

port=4008

user="lepus_user"

passwd="MANAGER"

dbname="lepus"

重启lepus进程

/usr/local/lepus/lepus stop

/usr/local/lepus/lepus start

[root@HE3lepus]# tail -f logs/lepus.log

安装WEB管理台

进入到你的lepus软件目录

[root@HE3 ~]# cd /home/Lepus_v3.8_beta/

[root@HE3Lepus_v3.8_beta]# cp -r php /home/www

[root@HE3 ~]# vi /home/lepus/php/application/config/database.php

$db['default']['hostname'] = '192.168.1.250'; #这是a机器

$db['default']['port']     = '4008';

$db['default']['username'] = 'lepus_user';

$db['default']['password'] = 'MANAGER';

$db['default']['database'] = 'lepus';

$db['default']['dbdriver'] = 'mysql';

b 被监控机

2.

mysql> grant select,super,process,reload,show databases,replication client on *.* to'lepus_monitor'@'%' identified by 'MANAGER';

mysql> flush privileges;

3.登录进行添加主机和监控

通过浏览器输入mysqlmtop1.ikongjian.com打开监控界面,即可登录系统。.默认管理员账号密码admin/Lepusadmin登录后请修改管理员密码,增加普通账号。

4.表空间的监控,添加代码

job = Process(target = job_run, args = ('check_mysql_bigtable',int(frequency_monitor)*120))

joblist.append(job)

job.start()

5.慢查询

[root@ot21 bin]# service crond restart

停止 crond:                                               [确定]

正在启动 crond:                                           [确定]

[root@ot21 bin]# cat /usr/local/sbin/lepus_slowquery.sh

#!/bin/bash

#****************************************************************#

# ScriptName:/usr/local/sbin/lepus_slowquery.sh

# Create Date:2014-03-25 10:01

# Modify Date:2014-03-25 10:01

#***************************************************************#

#configlepus database server监控机

lepus_db_host="a"

lepus_db_port=3306

lepus_db_user="lepus_user"

lepus_db_password="xx"

lepus_db_database="lepus"

#configmysql server被监控机

mysql_client="xx"

mysql_host="b"

mysql_port=3306

mysql_user="lepus_monitor"

mysql_password="xx"

#configslowqury慢日志位置

slowquery_dir="/log/mysql/"

slowquery_long_time=0.5

slowquery_file=`$mysql_client -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password  -e "show variables like'slow_query_log_file'"|grep log|awk '{print $2}'`

pt_query_digest="/usr/local/bin/pt-query-digest"

#config server_id被监控机id从lepus图形界面看

lepus_server_id=275

#collect mysqlslowquery log into lepus database

$pt_query_digest --user=$lepus_db_user --password=$lepus_db_password --port=$lepus_db_port --charset=utf8 --review h=$lepus_db_host,D=$lepus_db_database,t=mysql_slow_query_review  --history h=$lepus_db_host,D=$lepus_db_database,t=mysql_slow_query_review_history  --no-report --limit=100% --filter="\$event->{add_column} = length(\$event->{arg}) and\$event->{serverid}=$lepus_server_id " $slowquery_file >/tmp/lepus_slowquery.log

##### set a new slowquery log ###########

tmp_log=`$mysql_client -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -e "select concat('$slowquery_dir','slowquery_',date_format(now(),'%Y%m%d%H'),'.log');"|grep log|sed -n -e '2p'`

#config mysqlslowquery

$mysql_client -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -e "set global slow_query_log=1;set global long_query_time=$slowquery_long_time;"

$mysql_client -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -e "set global slow_query_log_file = '$tmp_log'; "

#delete log before 7days

cd $slowquery_dir

/usr/bin/find ./ -name 'slowquery_*' -mtime +7|xargs rm -rf ;

####END####

定时任务

*/5 * * * * root /bin/bash /usr/local/sbin/lepus_slowquery.sh 1>/dev/null 2>&1 &

慢查询图片87.1626.1899.0120.06850.000140.03841

6.生成awr报告

7.定时邮件发送

完成。

注意问题

1.pt-query-digest 2.2.19

2.chown -R mysql.mysql /log/mysql

3.grant select,super,process,reload,show databases,replication client on *.* to'lepus_monitor'@'%' identified by 'xx';

4.lepus_server_id=275

5.sql_mode

附上查询语句

select t2.* from

(select a.checksum,a.fingerprint,a.sample,a.first_seen,a.last_seen,b.serverid_max,

b.db_max,b.user_max,b.ts_min,b.ts_max,

sum(b.ts_cnt) as ts_cnt,

sum(b.Query_time_sum)/sum(b.ts_cnt) as Query_time_avg,

max(b.Query_time_max) as Query_time_max,

min(b.Query_time_min) as Query_time_min,

b.Query_time_sum as Query_time_sum,

max(b.Lock_time_max) as Lock_time_max,

min(b.Lock_time_min) as Lock_time_min,

sum(b.Lock_time_sum) as Lock_time_sum

from mysql_slow_query_review a join mysql_slow_query_review_history b

where a.checksum=b.checksum and b.serverid_max='275'

group by a.checksum ) t2 where t2.Query_time_avg>4 and t2.ts_cnt>1000

-- order by Query_time_sum desc

order by t2.ts_cnt desc

lepus mysql 慢查询_lepus3.8 安装以及慢查询设置 基于mysql5.7 改进版相关推荐

  1. centos mysql 主从配置_centos7.4安装mysql8,并设置主从配置

    一.安装mysql 第一步:检查依赖# 查看历史mysql安装依赖 rpm -qa | grep mysql # 查看是否有自带的mariadb rpm -qa | grep mariadb # 清除 ...

  2. centos6.5 nginx1.8 php mysql,CentOS6.5 源码安装Nginx1.8 + PHP7.0.6 + MySQL5.7.12

    准备工作 使用yum安装相关依赖 yum install -y gcc gcc-c++ autoconf automake libtool make cmake libjpeg libjpeg-dev ...

  3. 天兔(Lepus)监控系统慢查询分析平台安装配置

    转http://suifu.blog.51cto.com/9167728/1770672 被监控端要安装pt工具 1 2 3 4 [root@HE1~]## yum -y install perl-I ...

  4. lepus mysql 慢查询_天兔 -Lepus 慢查询分析平台配置

    想要实现慢查询查询分析,需要在被监控端安装percona-toolkit工具. 1.被监控端安装软件包 yum -y install perl-IO-Socket-SSL yum -y install ...

  5. mysql 安时间查询格式_安装MySQL慢查询日志工具Anemometer

    首先安装LNMP环境,要求PHP-5.3以上版本.参考:http://isadba.com/?p=82 或者参考 http://isadba.com/?p=572 然后下载Anemometergit ...

  6. Mysql进阶—二进制安装、联合查询、破解与备份

    文章目录 1. 二进制格式安装mysql 环境说明 安装流程 相关报错及解决 2. mysql配置文件 3. mysql数据库密码破解步骤 4. 多表联合查询 3.1 什么是多表联合查询 3.2 (不 ...

  7. linux安装mysql字符_Linux下MySQL的彻底卸载和安装配置字符集

    前言: Linux环境下MySQL的安装和配置在网上已经有很多教程了.之所以写这篇文章是因为在配置字符集的时候找了网上的一些教程发现并不能用导致折腾了一阵子.下面的教程均是亲自实践. MySQL的彻底 ...

  8. mysql需要下载调试_Mysql安装和调试

    mysql安装过程及注意事项: 1.1. 下载: 1.2. 配置环境变量: 1.3.添加服务和启动服务 1.4.测试连接 1.5. 登录mysql: 1.6. 查询用户密码: 1.7. 设置(或修改) ...

  9. Mysql 5.5 源码安装

    mysql 5.5.8 源码安装 安装的工具需要以下几个: libncurses bison cmake libaio 安装libncurses wget http://www.uusnn.com.c ...

最新文章

  1. 可以看游资的app_跟随一线游资操作,轻松收获涨停板
  2. canvas手机端绘图解决方案
  3. VS2010(VS2008)下安装配置OpenCV
  4. JAVA_出神入化学习路线大纲
  5. python pcm,python pcm音频添加头转成Wav格式文件的方法
  6. LeetCode 83. Remove Duplicates from Sorted List
  7. Spring源码系列:依赖注入(二)createBean
  8. mysql 备份 没有自动删除文件_删掉spfile在没有自动备份控制文件下从以前的rman备份中恢复数据库...
  9. Nginx+Tomcat负载均衡群集
  10. 手撸反向传播算法(附代码)
  11. 二维数组按某个键值排序 FOR PHP
  12. libtersafe文件下载_tersafe.dll官方版下载
  13. linux-tar命令
  14. 生物信息数据格式:fastq格式
  15. spring报错→UnexpectedRollbackException: Transaction silently rolled back becaus
  16. 16 医疗挂号系统_【预约下单】
  17. 为了找工作学习ssm
  18. 已知接入Internet的计算机用户名,计算机一级笔试试题及答案(1)
  19. 深度学习的过拟合与欠拟合问题的介绍与解决方案
  20. streamx平台部署

热门文章

  1. 华硕主板无盘启动bios设置_华硕影驰 bios设置,详细教您华硕主板bios如何设置U盘启动...
  2. GOF23 设计模式 之组合模式
  3. 智慧城市“黑科技”:国内厂商泰瑞SmartEarth首发数字孪生战略
  4. 计算广告笔记-计算广告技术概览
  5. 系统集成项目管理工程师(软考中级)怎么备考?
  6. matplotlib之pyplot模块坐标轴标签设置(xlabel()、ylabel())
  7. apxs编译php.so,PHP编译安装报错Sorry, I cannot run apxs.
  8. MySQL入门代码(附案例)
  9. pc 手机如何观看电视
  10. 【理论】数据预处理流程