一.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="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.