Lepus-数据库监控利器


天兔(Lepus)监控系统安装配置
操作系统版本:
[root@node10 php]# uname -a
Linux node10 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@node10 php]# cat /etc/redhat-release
CentOS release 6.9 (Final)
依赖软件


1.MySQL 5.0及以上(必须,用来存储监控系统采集的数据)
2.Apache 2.2及Nginx 1.8.1以上 (必须,WEB服务器运行服务器)
3.PHP 5.3以上 (必须,提供WEB界面支持)
4.Python2 (必须,推荐2.6及以上版本,执行数据采集和报警任务,不支持Python3)
5.Python连接和监控数据库的相关驱动模块包:
MySQLdb for python (Python连接MySQl的接口,用于监控MySQL,此模块必须安装)
cx_oracle for python  (Python连接Oracle的接口,非必须,如果需要监控oracle此模块必须安装)
Pymongo for python (Python连接MongoDB的接口,非必须,如果需要监控MongoDB此模块必须安装 )
redis-py for python (Python连接Redis的接口,非必须,如果需要监控Redis此模块必须安装)

一、安装LNMP基础环境
[root@node10 php]# php --ini
Configuration File (php.ini) Path: /www/server/php/56/etc
Loaded Configuration File:         /www/server/php/56/etc/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)
[root@node10 php]# nginx -v
nginx version: nginx/1.8.1
        MySQL数据库版本:5.6.46
        Nginx/1.8.1
        PHP 5.6.40
        Python:2.7.2
        依赖包:MySQL-python-1.2.5    pymongo-3.9.0

二、安装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 https://www.python.org/ftp/python/2.7.2/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

修改动态链接库:
/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
#/sbin/ldconfig -v 

安装setuptools:
$wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-12.0.3.tar.gz#md5=f07e4b0f4c1c9368fcd980d888b29a65
$ tar -zxvf setuptools-12.0.3.tar.gz
$ cd setuptools=12.0.3
$ python setup.py install

安装PIP:
# /usr/local/Python2.7/bin/easy_install pip

重命名旧PIP:
[root@node10 bin]# whereis pip
pip: /usr/bin/pip /usr/bin/pip2.6
[root@node10 bin]# mv /usr/bin/pip /usr/bin/pip2.66
[root@node10 bin]# pwd
/usr/local/Python2.7/bin
[root@node10 bin]# ls
2to3          easy_install-2.7  pip  pip2.7  python    python2.7-config  smtpd.py
easy_install  idle              pip2  pydoc  python2.7  python-config

[root@node10 bin]# ln -s /usr/local/Python2.7/bin/pip /usr/bin/pip

2)安装 MySQLdb for python
MySQLdb为Python连接和操作MySQL的类库,如果您准备使用lepus系统监控MySQL数据库,那么该模块必须安装。
安装步骤如下:
/usr/local/Python2.7/bin/pip install MySQL-python==1.2.5
Successfully installed MySQL-python-1.2.5

3)安装Pymongo for python
pymongo为Python连接和操作MongoDB的类库,如果您准备使用lepus系统监控MongoDBs数据库,那么该模块必须安装。
安装步骤如下:
/usr/local/Python2.7/bin/pip  install pymongo==3.9.0
Successfully installed pymongo-3.9.0


4)安装redis for python
/usr/local/Python2.7/bin/pip install redis

5)安装oracle驱动:
Oracle:cx_Oracle
参考网址:
http://blog.csdn.net/u011666720/article/details/41350897

需要先配置oracle客户端:
下载地址:
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
下载
instantclient-basic-linux.x64-12.2.0.1.0.zip
instantclient-sdk-linux.x64-12.2.0.1.0.zip

分别解压后:
yum install unzip -y
unzip ***********
cp -R instantclient_12_2 /opt/
配置环境变量:

vi /etc/profile
#在文件末添加:
export ORACLE_HOME=/opt/instantclient_12_2/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
确保文件生效

source /etc/profile
创建软链接

cd /opt/instantclient_12_2/
ln -s libclntsh.so.12.1 libclntsh.so
使用pip安装

pip install cx_Oracle
 
三、安装Lepus监控系统
注:在安装Lepus系统之前,请先根据前面两节内容安装LAMP和Python运行环境。
1)上传软件包到监控机服务器并解压缩软件到您的系统
http://www.lepus.cc/soft/18/Lepus数据库企业监控系统3.8 Beta版本官方下载
# tar zxvf lepus_v3.8_beta.tar.gz
cd Lepus_v3.8_beta

2).在监控机创建监控数据库,并授权。
mysql> create database lepus default character set utf8;
mysql> grant select,insert,update,delete,create on lepus.* to 'lepus_user'@'localhost' identified by 'Lepus123.';
mysql> grant select,insert,update,delete,create on lepus.* to 'lepus_user'@'%' identified by 'Lepus123.';
mysql> flush privileges;

导入SQL文件夹里的SQL文件(表结构和数据文件)
[root@node10 sql]# pwd
/usr/local/src/Lepus_v3.8_beta/sql
[root@node10 sql]# ls
lepus_data.sql  lepus_table.sql  v3.7-v3.8升级.txt

# mysql -uroot –p  lepus <lepus_table.sql 
# mysql -uroot –p  lepus < lepus_data.sql 

4)安装Lpeus程序
进入到软件包的python文件夹
[root@node10 python]# pwd
/usr/local/src/Lepus_v3.8_beta/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连接是否正常。
[root@node10 lepus]# pwd
/usr/local/lepus
[root@node10 lepus]# python test_driver_mysql.py
MySQL python drivier is ok!
7) 在所有需要被监控的数据库授权
在需要被监控的数据库里(被监控机)添加允许监控机访问的帐户,并授权。授权帐户即为上面配置文件中指定的monitor用户。
授权如下所示:
grant select,super,process,reload,show databases,replication client on *.* to 'Lepus_monitor'@'%' identified by 'User123.';
flush privileges;
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 status
lepus server is running...

查看启动日志:
tail -f /usr/local/lepus/nohup.out
日志文件:/usr/local/lepus/logs/lepus.log

8)将lepus_monitor脚本部署为计划任务,该脚本可以监控您的Lepus是否正在运行。
[root@node10 lepus]# cat lepus_monitor
#!/bin/bash
lepus_process=`ps -ef|grep lepus.py |grep -v grep|wc -l`
if [ $lepus_process -lt "3" ];then
       echo "`date` lepus server is not run."
else
       echo "`date` lepus server is running..."
fi

打开文件/usr/local/lepus/lepus_monitor修改里面连接监控机的数据库连接地址,然后将该脚本部署为计划任务。
# crontab  -l
*/1 * * * * /usr/local/lepus/lepus_monitor >> /tmp/lepus_monitor.log

9)部署WEB界面
复制PHP文件夹里的文件到Nginx对应的网站虚拟目录
[root@node10 Lepus_v3.8_beta]# pwd
/usr/local/src/Lepus_v3.8_beta
[root@node10 Lepus_v3.8_beta]# ls
changelog.txt  LICENSE  php  python  README.md  readme.txt  sql
# cd php
# cp -rf php/* /www/wwwroot/172.16.1.10/
cd /www/wwwroot/172.16.1.10/
[root@node10 Lepus_v3.8_beta]# cd /www/wwwroot/172.16.1.10/
[root@node10 172.16.1.10]# ls
application  index.php  license.txt  system
[root@node10 172.16.1.10]# pwd
/www/wwwroot/172.16.1.10

打开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登录后请修改管理员密码,增加普通账号。进入系统后,您就可以添加应用和主机,开启您的数据库监控之旅了。
分割线
感谢打赏
江西数库信息技术有限公司
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS