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官网
- Lepus官网