Docker部署Lepus及MySQL
一.centos7部署docker
1 通过 uname -r 命令查看你当前的内核版本
uname -r
2 确保 yum 包更新到最新。
yum update
3 卸载旧版本
yum remove docker docker-common docker-selinux docker-engine
4 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
5 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
国外镜像一般很难访问,建议配置阿里云镜像、
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6、可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
7 安装docker
yum install docker-ce
8 启动并加入开机启动
systemctl start docker
systemctl enable docker
9 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
10.docker安装docker-compose
curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
操作步骤:修改docker.json,使得整个docker的网络网段都改掉,原来是172网段,现在我要改为192
1)vim /etc/docker/daemon.json(这里没有这个文件的话,自行创建)
{ "bip":"192.168.1.100/24" }
2)重启docker
systemctl restart docker
3)在重新看网段
注:在使用docker容器最初规划的时候就要想到这一点,要规划好使用什么样的网段;上面的这种办法得重启docker,重启容器的;
二、Lepus介绍
Lepus是一个由Python+PHP开发的数据库企业级监控系统,可用于MySQL/Oracle/MongoDB/Redis
1、下载镜像
docker pull georce/lepus
2、查看镜像
docker images
3、启动容器
docker run -d --name=lepus -p 32800:80 -p 32799:3306 georce/lepus
docker run -d --name=lepus -p 32800(访问端口):80 -p 32799:3306 georce/lepus
4、查看进程
docker ps
进入docker bash
sudo docker exec -it lepus /bin/bash
5、配置环境变量
echo $TERM
export TERM=dumb
6、用户名密码
admin
Lepusadmin
WEB IP:32800
7、慢查询脚本
config lepus database server
lepus_db_host="192.168.100.106"
lepus_db_port=32799
lepus_db_user="lepus_user"
lepus_db_password="[email protected]"
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="[email protected]"
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.