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

58次阅读
没有评论

共计 7304 个字符,预计需要花费 19 分钟才能阅读完成。

本篇内容介绍了“Lepus 慢日志平台搭建与维护的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、安装 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/

打开 application\config\database.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 慢日志平台搭建与维护的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-24发表,共计7304字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)