微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

天兔Lepus数据库监控的安装

第1章 lepus介绍

Lepus是一套开源的数据库监控平台,目前已经支持MysqL、Oracle、sqlServer、MongoDB、Redis数据库的基本监控和告警(MysqL已经支持复制监控、慢查询分析和定向推送等高级功能)。Lepus无需在每台数据库服务器部署脚本或Agent,只需要在数据库创建授权帐号后,即可进行远程监控,适合监控数据库服务器较多的公司和监控云中数据库,这将为企业大大减化监控部署流程,同时Lepus系统内置了丰富的性能监控指标,让企业能够在数据库宕机前发现潜在性能问题进行处理,减少企业因为数据库问题导致的直接损失。

第2章 软件安装的必要需求

软件需要LAMP环境,需要的核心包如下:

以下软件包只需要部署在监控机即可。被监控机无需部署。

1.MysqL5.1及以上(必须,用来存储监控系统采集的数据)

2.Apache 2.2及以上 (必须,WEB服务器运行服务器)

3.PHP 5.3以上 (必须,提供WEB界面支持,不支持PHP7)

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此模块必须安装)

本次安装演示采用如下软件包搭建:

软件

说明

httpd-2.2.31.tar.gz

LAMP搭建必须

MysqL-5.5.49-linux2.6-x86_64.tar.gz

MysqL数据库

PHP-5.5.32.tar.gz

PHP

libiconv-1.14.tar.gz

支持PHP必要组件

Python-2.7.6.tgz

必要安装

redis-py-2.10.3.tar.gz

监控redis模块(选装)

3.3.4 cx_oracle for python

监控oracle模块(选装)

oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

oracle数据库必要模块

oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

oracle数据库必要模块

oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm

oracle数据库必要模块

pymongo-2.7.tar.gz

监控mongodb模块

freetds-0.82

监控sqlServer模块

Lepus3.7.zip

天兔监控软件本体

编译安装软件的目录

/tools 软件包统一存放目录

/server/scripts 脚本存放目录

/application 编译安装后软件所在目录位置

第3章 软件安装

3.1 搭建LAMP环境

本次采用的是手动搭建的方式来完成LAMP环境

3.1.1 编译安装httpd服务

解压目录并创建一个用于http服务的账户www

[root@m02 ~]# cd /tools
[root@m02 tools]# tar xf httpd-2.2.31
[root@m02 tools]# cd httpd-2.2.31
[root@m02 tools]# useradd www -s /sbin/nologin -M

安装必要的软件包zlib

[root@m02 httpd-2.2.31]# yum install zlib zlib-devel -y

执行配置文件并安装

[root@m02 httpd-2.2.31]# ./configure --prefix=/application/apache2.2.31 --enable-deflate --enable-expires --enable-headers --enable-modules=most --enable-so --with-mpm=worker --enable-rewrite
[root@m02 httpd-2.2.31]# make && make install

创建软链接并开启服务

[root@m02 httpd-2.2.31]# ln -s /application/apache2.2.31/ /application/apache
[root@m02 httpd-2.2.31]# /application/apache/bin/apachectl start
[root@m02 httpd-2.2.31]# netstat -lntup|grep http
tcp        0      0 :::80                       :::*                        LISTEN      57310/httpd  

3.1.2 基于apache虚拟主机的配置

配置虚拟主机的目的也是为了检测http服务是否可以正常显示主页。

以www.test.com为例来配置一个主页

[root@m02 apache]# cd /application/apache/htdocs/
[root@m02 apache]# mkdir www

修改页面配置httpd.conf文件

[root@m02 htdocs]# vim /application/apache/conf/httpd.conf

搜索/httpd-v,将前面的注释去除

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

搜索文件中的Servername将注释打开,如果有需要就修改内网IP地址。

ServerName 127.0.0.1:80

编辑与配置http页面文件httpd-vhosts.conf

[root@m02 htdocs]# vim /application/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
    ServerAdmin 395294844@qq.com #管理员邮箱
    DocumentRoot "/application/apache2.2.31/htdocs/www" #页面虚拟目录
    ServerName www.test.com #域名
    ServerAlias test.com #别名
    ErrorLog "logs/www_error_log" #错误日志
    CustomLog "logs/www_access_log" common #访问日志
</VirtualHost>

建立一个首页文件用于测试页面是否正常

[root@m02 htdocs]# echo 'Apache www' >www/index.html

重启服务器刷新配置

[root@m02 apache]# /application/apache/bin/apachectl -t
[root@m02 apache]# /application/apache/bin/apachectl graceful

修改客户端的hosts文件添加IP到我们的页面地址,如果通过浏览器访问www.test.com出现apache www的内容,就说明apache成功搭建完成了。

3.1.3 安装MysqL

这里直接以单实例安装的方式完成。

[root@m02 apache]# cd /tools
[root@m02 tools]# useradd -s /sbin/nologin -M MysqL
[root@m02 tools]# tar xf MysqL-5.5.49-linux2.6-x86_64.tar.gz
[root@m02 tools]# mv MysqL-5.5.49-linux2.6-x86_64 /application/MysqL-5.5.49
[root@m02 tools]# ln -s /application/MysqL-5.5.49/ /application/MysqL
[root@m02 tools]# chown -R MysqL:MysqL /application/MysqL
[root@m02 tools]# cd /application/MysqL
[root@m02 MysqL]# ./scripts/MysqL_install_db --basedir=/application/MysqL/ --datadir=/application/MysqL/data/ --user=MysqL

3.1.4 MysqL调试并开启数据库

[root@m02 MysqL]# cd bin/
[root@m02 bin]# sed -i 's#/usr/local/#/application/#g' MysqLd_safe
[root@m02 bin]# cd ../
[root@m02 MysqL]# \cp support-files/my-small.cnf /etc/my.cnf
[root@m02 MysqL]# echo 'export PATH=/application/MysqL/bin:$PATH' >>/etc/profile
[root@m02 MysqL]# . /etc/profile
[root@m02 MysqL]# sed -i 's#/usr/local/#/application/#g' support-files/MysqL.server
[root@m02 MysqL]# cp support-files/MysqL.server /etc/init.d/MysqLd
[root@m02 MysqL]# chmod +x /etc/init.d/MysqLd
[root@m02 MysqL]# chkconfig --add MysqLd
[root@m02 MysqL]# /etc/init.d/MysqLd start

3.1.5 PHP5.5.32的安装

cd /tools/
[root@m02 tools]# tar xf libiconv-1.14.tar.gz
[root@m02 tools]# cd libiconv-1.14
[root@m02 libiconv-1.14]# ./configure --prefix=/usr/local/libiconv
[root@m02 libiconv-1.14]# make && make install
[root@m02 libiconv-1.14]# cd ../
[root@m02 tools]# yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libmcrypt-devel mhash mcrypt openssl-devel pcre-devel -y
[root@m02 tools]# tar xf PHP-5.5.32.tar.gz
[root@m02 tools]# cd PHP-5.5.32
[root@m02 PHP-5.5.32]# ./configure --prefix=/application/PHP5.5.32 --with-MysqL=/application/MysqL --with-pdo-MysqL=/application/MysqL --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-opcache=no --with-apxs2=/application/apache/bin/apxs --enable-ftp
[root@m02 PHP-5.5.32]# ln -s /application/MysqL/lib/libMysqLclient.so.18  /usr/lib64/
[root@m02 PHP-5.5.32]# touch ext/phar/phar.phar
[root@m02 PHP-5.5.32]# make
[root@m02 PHP-5.5.32]# make install
[root@m02 PHP-5.5.32]# ln -s /application/PHP5.5.32 /application/PHP
[root@m02 PHP-5.5.32]# cp PHP.ini-production /application/PHP/lib/PHP.ini
[root@m02 PHP-5.5.32]# cd /application/PHP/etc
[root@m02 etc]# cp PHP-fpm.conf.default PHP-fpm.conf
[root@m02 etc]# grep libPHP5.so /application/apache/conf/httpd.conf
[root@m02 etc]# ls /application/apache/modules/
[root@m02 etc]# /application/PHP/sbin/PHP-fpm

3.2 http与PHP模块以及MysqL的结合

3.2.1 配置httpd.conf文件

在/application/apache/conf/httpd.conf文件的第311行增加如下内容

AddType application/x-httpd-PHP .html .htm .PHP .phtml
AddType application/x-httpd-PHP-source .html .htm .PHPs 

在168行修改

DirectoryIndex index.PHP index.html

在第67行修改

User www
Group www

编辑测试文件

[root@m02 etc]# cd /application/apache/htdocs/www
[root@m02 www]# echo "<?PHP PHPinfo(); ?>" >test_info.PHP

在浏览器中输入www.test.com/test_info.PHP如果出现PHP的配置结果页面就说明PHP与http已经关联了。

3.2.2 http与MysqL的结合

同样,在上面的目录中在建立一个MysqL测试的文件,文件内容如下

[root@m02 www]#  vim /application/apache/htdocs/www/test_MysqL.PHP
<?PHP
        $link_id=MysqL_connect('localhost','root','123456') or MysqL_error();
        if($link_id){
                echo "MysqL successful by test !";
        }else {
                echo MysqL_error();
        }
?>

请注意MysqL登录的账号密码,如果为空请自己设定MysqL登录的账号密码。

浏览器中输入www.test.com/test_MysqL.PHP地址查看数据库连接状态。

3.3 安装Python环境

安装数据库连接Python的驱动包。MysqLdb为Python连接和操作MysqL的类库,如果您准备使用lepus系统监控MysqL数据库,那么该模块必须安装。

3.3.1 安装 python (必须安装)

tar xf Python-2.7.6.tgz
cd Python-2.7.6
./configure --prefix=/application/python2.7.6 #注意:安装在新目录,防止覆盖系统认的python
make && make install
mv /usr/bin/python /usr/bin/python2.6.6.old
ln -s /application/python2.7.6/bin/python /usr/bin/python
python -V

如果出现Python 2.7.6的提示就说明成功了。

此时由于更新python版本,使用yum命令时会报错。

修改

vim /usr/bin/yum
#!/usr/bin/python 更换为#!/usr/bin/python2.6.6.old(即为原来的版本链接)

3.3.2 python setuptools install

cd /tools
tar xf setuptools-12.0.3.tar.gz
cd setuptools-12.0.3
python setup.py install

3.3.3 安装MysqLdb for python

cd /tools
unzip MysqLdb-python.zip
cd MysqLdb1-master/
which MysqL_config
vim site.cfg
MysqL_config = /application/MysqL/bin/MysqL_config #将注释打开,修改后面which MysqL_config的路径。
python setup.py build 
python setup.py install

如果MysqL_config不存在就先安装一下setuptools。

3.3.4 安装Redis 驱动 (如果需要监控Redis则必须安装)      

cd /tools
tar xf redis-py-2.10.3.tar.gz
cd redis-2.10.3/
python setup.py install

3.3.5 安装cx_oracle for python (如果需要监控Oracle则必须安装)

安装oracle instant client,这个模块很坑爹,在oracle官网上点击下载直接会跳到让你登录注册界面,于是我直接走捷径搞到了必要的安装包

oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm

oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

cd /tools
rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
vim /root/.bash_profile #编辑全局配置文件
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
ORACLE_HOME="/usr/lib/oracle/11.2/client64"
PATH=$PATH:$ORACLE_HOME/bin
#PATH=$PATH:$HOME/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
source ~/.bash_profile #命令行加载生效
echo "/usr/lib/oracle/11.2/client64/lib"  >>/etc/ld.so.conf
/sbin/ldconfig #命令行执行生效

3.3.6 安装cx_Oracle-5.1.2

tar xf cx_Oracle-5.1.2.tar.gz
cd cx_Oracle-5.1.2
python setup.py build 
python setup.py install

3.3.7 安装Pymongo for python (如果需要监控Mongodb则必须安装)

cd /tools
tar xf pymongo-2.7.tar.gz
cd pymongo-2.7
python setup.py install

3.3.8 安装sqlServer驱动 (如果需要监控sqlServer则必须安装)

3.3.8.1  安装freetds

cd /tools
tar xf freetds-0.82.tar.gz
cd freetds-0.82
./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld --enable-shared --enable-static
make
make install
echo "/usr/local/freetds/lib" >>/etc/ld.so.conf.d/freetds.conf
ldconfig -v

3.3.8.2  安装pymssql

cd /tools
tar xf pymssql-2.1.1.tar.gz
cd pymssql-2.1.1
python setup.py install

3.3.9 解压Lepus3.7软件检查各部分驱动是否正常连接

cd /tools
unzip Lepus3.7.zip
cd /tools/lepus_v3.7/python
python test_driver_MysqL.py
python test_driver_oracle.py
python test_driver_mongodb.py
python test_driver_redis.py

3.4 安装lepus采集器

cd /tools/lepus_v3.7/python
chmod +x lepus*
chmod +x install.sh
./install.sh
cd /usr/local/lepus/

3.4.1 在监控机创建监控数据库并授权

登录数据库

create database lepus default character set utf8;
grant all on lepus.* to 'lepus_user'@'localhost' identified by '123456';
flush privileges;

导入sql文件夹里的初始化sql文件(表结构和数据文件)

cd /tools/lepus_v3.7/sql/
MysqL -uroot -p123456 lepus <lepus_table.sql
MysqL -uroot -p123456 lepus <lepus_data.sql

3.5 安装WEB管理台

复制lepus_v3.7/PHP文件夹里的文件到apache对应的网站虚拟目录,修改配置。

cd /tools/lepus_v3.7
cp -rf PHP/* /application/apache/htdocs/www/

修改lepus的数据库连接文件

vim /application/apache/htdocs/www/application/config/database.PHP

$db['default']['hostname'] = '127.0.0.1';
$db['default']['port']     = '3306';
$db['default']['username'] = 'lepus_user';
$db['default']['password'] = '123456';
$db['default']['database'] = 'lepus';
$db['default']['dbdriver'] = 'MysqL';

ServerName要修改成本机127.0.0.1:80

修改虚拟配置文件

/application/apache/conf/extra/httpd-vhosts.conf

重启apache服务并修改配置文件

vim /usr/local/lepus/etc/config.ini
###监控机MysqL数据库连接地址###
[monitor_server]
host="127.0.0.1"
port=3306
user="lepus_user"
passwd="123456"
dbname="lepus"

启动lepus服务

cd /usr/local/lepus/
lepus start
ps -ef|grep lepus

但是因为还没有添加主机,所以查看日志会看到如下提示,属于正常提示。当然这一步也可以在部署完Lepus WEB控制台后再进行启动。

登录页面用户名admin密码Lepusadmin。

第4章 添加MysqL监控实例

Lepus监控数据库是采用远程连接方式进去获取数据,所以无需要在数据库服务器端部署相关agent或计划任务。但是需要在数据库端进行授权访问,然后在WEB端配置实例就可以了。具体步骤如下所示。

首先我们在被监控的数据库端执行授权,允许Lepus采集器服务器能连接到数据库,需要在被监控的数据库执行如下命令来授权。

在需要被监控的数据库服务器上授权,我们现在借用10.0.0.52上的多实例数据库3306来操作测试

grant select,process,super on *.* to 'lepus_user'@'10.0.0.%' identified by '123456';
flush privileges;

创建完成后,就可以在页面中配置主机项了。

  

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐