Docker學習——Lepus部署(mysql監控)

Lepus部署(基於docker)及mysql慢查詢配置

介紹

Lepus是一個由Python+PHP開發的數據庫企業級監控系統,可用於MySQL/Oracle/MongoDB/Redismysql

下載鏡像

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 modulemodule不完整sql

解決方法

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官網<br> Lepus官網<br>shell

相關文章
相關標籤/搜索