基于Docker部署Lepus及MySQL慢查询配置

Docker学习教程之Lepus部署(MySQL监控)

介绍

Lepus是一个由Python+PHP开发的数据库企业级监控系统,可用于MySQL/Oracle/MongoDB/Redis

下载镜像
docker pull georce/lepus

查看镜像
docker images

启动容器
docker run -d --name=lepus -p 32800:80 -p 32799:3306 georce/lepus

查看进程
docker ps

进入docker bash
sudo docker exec -it lepus /bin/bash

配置环境变量
echo $TERM
export TERM=dumb

用户名密码
admin
Lepusadmin

常见错误
perl: symbol lookup error: /usr/local/lib64/perl5/auto/DBD/mysql/mysql.so:

undefined symbol: mysql\_init

问题原因

perl有多个lib\[/usr/local/lib64/perl5 \| /usr/lib64/perl5\],系统调用时默认选用/usr/local/lib64/perl5,而该perl没有相关mysql module或module不完整

解决方法
mv /usr/local/lib64/perl5 /usr/local/lib64/perl5\_cant\_use

慢查询脚本

config lepus database server
lepus_db_host="192.168.100.106"
lepus_db_port=32799
lepus_db_user="lepus_user"
lepus_db_password="dd@2016"
lepus_db_database="lepus"

config mysql server
mysql_client="/usr/bin/mysql"
mysql_host="127.0.0.1"
mysql_port=3306
mysql_user="root"
mysql_password="dd@2016"

config slowqury
slowquery_dir="/ddhome/usr/mysql/slowquery/"
slowquery_long_time=3
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/bin/pt-query-digest"

config server_id
lepus_server_id=1

collect mysql slowquery log into lepus database
$pt_query_digest --user=$lepus_db_user --password=$lepus_db_password --port=$lepus_db_port --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 slow query 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 mysql slowquery
$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 7 days
cd $slowquery_dir
/usr/bin/find ./ -name 'slowquery_*' -mtime +7|xargs rm -rf ;

注意:lepus_server_id该值需要从系统中获取。进入MySQL服务器配置,在部署脚本的主机前查询到当前ID即为主机的server_id.

参考网站

更多Docker相关教程见以下内容: 

Docker安装应用(CentOS 6.5_x64) https://www.linuxidc.com/Linux/2014-07/104595.htm
Ubuntu 16.04 服务器上配置使用 Docker  https://www.linuxidc.com/Linux/2017-06/145176.htm
Ubuntu 15.04下安装Docker  https://www.linuxidc.com/Linux/2015-07/120444.htm
Docker 安装实例 https://www.linuxidc.com/Linux/2017-04/142666.htm
Docker 创建基础镜像  https://www.linuxidc.com/Linux/2017-05/144112.htm
在 Ubuntu 15.04 上如何安装Docker及基本用法 https://www.linuxidc.com/Linux/2015-09/122885.htm
Ubuntu 16.04上Docker使用手记 https://www.linuxidc.com/Linux/2016-12/138490.htm
使用Docker分分钟启动常用应用  https://www.linuxidc.com/Linux/2017-04/142649.htm
Ubuntu 16.04下Docker修改配置文件不生效解决办法  https://www.linuxidc.com/Linux/2017-05/143862.htm

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ed8dd587488c0dd9fa6e178ffe995698.html