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

11、修改Docker默認的網段

操作步驟:修改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="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.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章