加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Lepus慢日志平台创建与维护的方法是什么

发布时间:2021-12-21 22:51:46 所属栏目:MySql教程 来源:互联网
导读:本篇内容介绍了Lepus慢日志平台搭建与维护的方法是什么的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 一、安装LAMP基础环境 配置LAMP基础环境的方式
本篇内容介绍了“Lepus慢日志平台搭建与维护的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
 
一、安装LAMP基础环境
 
配置LAMP基础环境的方式有很多种,最简单的方式有yum安装、RPM包安装等方式。您也可以手动编译安装相关软件。此项配置网络文章比较多,不做详细介绍,您也可以参考我博客的教程进行安装。地址为:http://www.ruzuojun.com/topic/1203.html
 
二、安装Python2.7基础环境
 
1)安装Python2.7
 
Lepus需要Python2.7支持(目前编译平台为2.7.2,建议您安装 python2.7.2,本安装文档中包含下载地址)。
 
您可以直接输入python命令来查询当前python版本:
 
# python
 
Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36)
 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
 
Type "help", "copyright", "credits" or "license" for more information.
 
>>>
 
如果您的系统Python不符合要求,请参考如下示例文章进行安装
 
1、下载
 
# wget http://www.mtop.cc/software/Python-2.7.2.tar.bz2
 
2、解压
 
#tar jxvf Python-2.7.2.tar.bz2
 
3.安装:
 
#cd Python-2.7.2
 
#./configure --prefix=/usr/local/Python2.7 --enable-shared
 
#make
 
#make install
 
通过以下方式将lib库加入到系统中,否则会报如下错误:error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
 
#vi /etc/ld.so.conf 添加/usr/local/Python2.7/lib
 
#/sbin/ldconfig
 
#/sbin/ldconfig -v
 
4.使用新安装的python:
 
#mv /usr/bin/python /usr/bin/python_old
 
#ln -s /usr/local/Python2.7/bin/python2.7 /usr/bin/python
 
# python
 
Python 2.7.2 (default, Dec 29 2013, 13:29:56)
 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
 
Type "help", "copyright", "credits" or "license" for more information.
 
>>>
 
如果python升级到2.7以后出现yum无法使用的情况,错误为No module named yum,请按照如下步骤处理,将yum使用的python版本改为旧版本:
 
打开yum执行文件
 
# vim /usr/bin/yum
 
将第一行 #!/usr/bin/python 修改为备份的原python版本即可,如下:
 
#!/usr/bin/python_old
 
2)安装 MySQLdb for python
 
MySQLdb为Python连接和操作MySQL的类库,如果您准备使用lepus系统监控MySQL数据库,那么该模块必须安装。
 
安装步骤如下:
 
#wget http://www.mtop.cc/software/MySQLdb-python.zip
 
# unzip MySQLdb-python.zip
 
# cd MySQLdb1-master/
 
# which mysql_config
 
/usr/local/mysql/bin/mysql_config
 
# vim site.cfg 修改如下:
 
mysql_config = /usr/local/mysql/bin/mysql_config
 
# python setup.py build
 
# python setup.py install
 
常见错误解决:
 
1).如果编译python出现如下问题
 
/usr/bin/ld: cannot find -lpython2.7
 
collect2: ld returned 1 exit status
 
error: command 'gcc' failed with exit status 1
 
请按如下步骤处理:
 
A.检查并安装python-devel包
 
# yum -y install python-devel
 
B.将libpython2.7.so库文件建立软连接到/usr/lib下
 
32位服务器下执行
 
# ln -s /usr/local/Python2.7/lib/libpython2.7.so /usr/lib/libpython2.7.so  
 
64位服务器下执行
 
# ln -s /usr/local/Python2.7/lib/libpython2.7.so /usr/lib64/libpython2.7.so
 
C.检查下/etc/ld.so.conf是否包含/usr/local/Python2.7/lib
 
#vi /etc/ld.so.conf 添加/usr/local/Python2.7/lib
 
#/sbin/ldconfig
 
3)安装Pymongo for python
 
pymongo为Python连接和操作MongoDB的类库,如果您准备使用lepus系统监控MongoDBs数据库,那么该模块必须安装。
 
安装步骤如下:
 
下载pymongo https://pypi.python.org/packages/source/p/pymongo/
 
# wget www.mtop.cc/software/pymongo-2.7.tar.gz
 
# tar zxvf pymongo-2.7.tar.gz
 
# cd pymongo-2.7
 
# python setup.py install
 
三、安装Lepus监控系统
 
注:在安装Lepus系统之前,请先根据前面两节内容安装LAMP和Python运行环境。
 
1)上传软件包到监控机服务器并解压缩软件到您的系统
 
# tar zxvf lepus_v3.0.tar.gz
 
2).在监控机创建监控数据库,并授权。
 
mysql> create database lepus charset utf8 collate utf8_general_ci;
 
mysql> grant select,insert,update,delete,create on lepus.* to 'lepus_user'@'localhost' identified by 'mysql';
 
mysql> flush privileges;
 
导入SQL文件夹里的SQL文件(表结构和数据文件)
 
# cd lepus_v3.0
 
# mysql -uroot –p  lepus < sql/lepus.sql
 
# mysql -uroot –p  lepus < sql/lepus_data.sql
 
4)安装Lpeus程序
 
进入到软件包的python文件夹
 
# cd python/
 
授予install.sh可执行权限
 
# chmod +x install.sh
 
执行安装
 
# ./install.sh
 
[note] lepus will be install on basedir: /usr/local/lepus
 
[note] /usr/local/lepus directory does not exist,will be created.
 
[note] /usr/local/lepus directory created success.
 
[note] wait copy files.......
 
[note] change script permission.
 
[note] create links.
 
[note] install complete.
 
5) 修改配置文件
 
备注:在python采集数据的过程中,需要连接到需要监控的数据库服务器采集数据,我们为了安全考虑,在WEB管理里面只要求录入主机和端口,没有录入账号和密码。所有需要监控的数据库请授予相同的用户密码记录在配置文件中。系统通过SNMP协议采集. SNMP需要的community也请授予相同的写在配置文件中。具体示例如下所示,我们暂定给所有被监控数据库添加一个monitor用户:
 
进入到安装目录,默认为/usr/local/lepus
 
# cd /usr/local/lepus/
 
# vim etc/config.ini
 
###监控机MySQL数据库连接地址###
 
[monitor_server]
 
host="127.0.0.1"
 
port=3306
 
user=" lepus_user "
 
passwd="password"
 
dbname="lepus"
 
###被监控数据库的用户密码###
 
[mysql_db]
 
username="monitor"
 
password="monitor"
 
[mongodb_db]
 
username="monitor"
 
password="monitor"
 
[oracle_db]
 
username=""
 
password=""
 
[snmp]
 
community="lepus"
 
6)测试驱动(可选)
 
执行以下命令可以测试MySQLdb是否安装成功,以及监控机MySQL连接是否正常。
 
# python test_mysql.pyc  
 
The MySQLDB is OK
 
7) 在所有需要被监控的数据库授权
 
在需要被监控的数据库里(被监控机)添加允许监控机访问的帐户,并授权。授权帐户即为上面配置文件中指定的monitor用户。
 
授权如下所示:
 
grant select,super,process on *.* to 'monitor'@'ip' identified by 'monitor';
 
MongoDB被监控机授权(还未找到合适的权限,目前暂时用管理权限)
 
> use admin
 
> db.addUser('monitor','monitor');
 
7)启动监控系统
 
执行以下命令启动系统采集进程
 
# lepus start
 
nohup: appending output to `nohup.out'
 
lepus monitor start success!
 
执行以下命令关闭系统采集进程
 
# lepus stop
 
lepus processes id 28937 been stop
 
lepus processes id 28938 been stop
 
lepus processes id 28957 been stop
 
lepus processes id 28973 been stop
 
lepus processes id 28984 been stop
 
lepus processes id 28995 been stop
 
lepus processes id 29003 been stop
 
lepus processes id 29019 been stop
 
lepus processes id 29174 been stop
 
执行以下命令监控系统是否正常运行
 
# lepus status
 
lepus server is running...
 
8)将lepus_monitor脚本部署为计划任务,该脚本可以监控您的Lepus是否正在运行。
 
打开文件/usr/local/lepus/lepus_monitor修改里面连接监控机的数据库连接地址,然后将该脚本部署为计划任务。
 
# crontab  -l
 
*/1 * * * * /usr/local/lepus/lepus_monitor >> /tmp/lepus_monitor.log
 
9)部署WEB界面
 
复制PHP文件夹里的文件到Apache对应的网站虚拟目录
 
# cd lepus_v3.0
 
# cp -rf php/* /home/wwwroot/lepus/
 
打开applicationconfigdatabase.php文件,修改PHP连接监控服务器的数据库信息
 
$db['default']['hostname'] = 'localhost';
 
$db['default']['username'] = 'lepus_user';
 
$db['default']['password'] = 'password';
 
$db['default']['database'] = lepus;
 
$db['default']['dbdriver'] = 'mysql';
 
通过浏览器输入IP地址或域名打开监控界面,即可登录系统。.默认管理员账号密码admin/Lepusadmin登录后请修改管理员密码,增加普通账号。进入系统后,您就可以添加应用和主机,开启您的数据库监控之旅了。
 
四、安装percona-toolkit工具
 
1)安装percona-toolkit
 
#yum install -y per-IO-Socket-SSL
 
#yum install -y per-DBI
 
#yum install -y per-DBD-MySQL
 
#tar zxvf percona-toolkit-3.0.10.tar.gz
 
#cd percona-toolkit-3.0.10
 
#perl Makefile.PL
 
#make
 
#make install
 
2)编辑文件修改配置,需要指定Lepus监控机数据库的地址,本地MySQL地址,以及存储缓慢查询的路径和慢查询的时间。
 
[root@oneproxy mysql]# cat lepus_slowquery.sh
#!/bin/bash
#****************************************************************#
# ScriptName: /usr/local/sbin/lepus_slowquery.sh
# Create Date: 2014-03-25 10:01
# Modify Date: 2014-03-25 10:01
#***************************************************************#
#config lepus database server
lepus_db_host="192.168.8.63"
lepus_db_port=3306
lepus_db_user="lepus_user"
lepus_db_password="mysql"
lepus_db_database="lepus"
#config mysql server
mysql_client="/usr/local/mysql/bin/mysql"
mysql_host="192.168.8.63"
mysql_port=3306
mysql_user="root"
mysql_password="mysql"
#config slowqury
slowquery_dir="/mysql/data/"
slowquery_long_time=0.1
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/local/bin/pt-query-digest"
#config server_id
lepus_server_id=63
#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%  $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 ;
####END####
3)设置定时任务
 
*/3 * * * * /usr/local/lepus/client/mysql/lepus_slowquery.sh > /dev/null 2>&1
 
4)慢日志监控如下:Lepus慢日志平台搭建与维护的方法是什么
 
“Lepus慢日志平台搭建与维护的方法是什么”的内容就介绍到这里了,感谢大家的阅读。

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!