一款好的数据库监控工具:天兔数据库监控平台3.8搭建

【前言】
本文是对一款数据库监控软件的介绍和部署实施文档,适用试验了6个小时终于成功。

最近有同事问,除了公司在用BMC、ZABBIX外,还有其他一些监控工具否。如果自己想搭建一个库监控平台,哪款软件会比较好?基于这种需求,个人对监控工具进行了选型和研究,最终选择了天兔(Lepus)这款软件。
本次测试只是测试lepus监控MySql,故Redis,Mongodb,Oracle的监控,请自行参照链接https://blog.csdn.net/m0_38039437/article/details/79613260进行部署。

以下是Lepus官网介绍,其用途介绍的比较清晰明了。

Lepus(天兔)数据库企业监控系统是一套由专业DBA个人(目前就职于某互联网公司),针对互联网企业开发的一款专业、强大的企业数据库监控管理系统,企业通过Lepus可以对数据库的实时健康和各种性能指标进行全方位的监控。目前已经支持MySQL、Oracle、MongoDB、Redis数据库的全面监控. Lepus可以在数据库出现故障或者潜在性能问题时,根据用户设置及时将数据库的异常进行报警通知到数据库管理员进行处理和优化,帮助企业解决数据库性能监控问题,及时发现性能和瓶颈,避免由数据库潜在问题造成的直接经济损失。Lepus能够查看各种实时性能状态指标,并且对监控、性能数据进行统计分析,从运维者到决策者多个层面的视角,查看相关报表。帮助决策者对未来数据库容量进行更好的规划,从而降低了硬件成本。

方链接几个示意图,监控没有像ZABBIX这么复杂,正符合个人对库的主要性能监控。

Lepus官网连接:http://www.lepus.cc/manual/index/

官方链接几个示意图,监控没有像ZABBIX这么复杂,正符合个人对库的主要性能监控。
一款好的数据库监控工具:天兔数据库监控平台3.8搭建_第1张图片
一款好的数据库监控工具:天兔数据库监控平台3.8搭建_第2张图片
**

以下为验证过的操作步骤:

**

安装需求

PHP和Python都是跨平台的语言,所以理论上系统应该可以支持在不同的平台上运行。但是由于时间和精力以及资源有限,目前天兔系统只测试完善了Centos/RedHat系统的支持。我们目前提供的技术支持也是只针对于Centos/RedHat系统,其他系统暂不支持技术服务。
需要的核心包如下:
以下软件包只需要部署在监控机即可。被监控机无需部署。
1.MySQL 5.0及以上(必须,用来存储监控系统采集的数据)
2.Apache 2.2及以上 (必须,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此模块必须安装)

一、安装LAMP基础环境

配置LAMP基础环境的方式有很多种,最简单的方式有yum安装、RPM包安装等方式、安装集成环境包(例如lampp/xampp等)。也可手动编译安装相关软件。这里我们不推荐使用YUM进行安装,YUM安装的PHP环境可以因为缺少某些依赖包导致500错误。如果你有能力,可以进行编译安装,按照需要的模块编译PHP和MYSQL数据库,这种方式也是目前大型WEB推荐的方式。如果你无法进行编译安装,我们推荐你使用Xampp集成环境包进行安装,xampp是一个可靠的稳定的lamp套件,目前已被诸多公司用于生产服务器的部署,目前Lepus的开发环境,测试环境以及线上官网的WEB环境,都是运行在xampp环境下面,并且一直都是稳定的。
Xampp下载地址:https://www.apachefriends.org/download.html
Xampp帮助文档:https://www.apachefriends.org/faq_linux.html

PS:注意你的版本号,高版本的XAMPP中不是MySQL而是MariaDB。

服务器环境
$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)

安装XAMPP
对于安装XAMPP需要特别注意,lepus目前版本3.7和3.8好像只对PHP 5支持比较完美,所以安装XAMPP时最好安装5.5的版本,本人测试了PHP 5.5、PHP 5.6、PHP 7.2只有PHP5可用,并且对于PHP 7连驱动程序都要改变一下。如果你不想踩坑,最好所有软件版本对应本博客来搭建lepus。当然,后面可能会支持更高版本的PHP,这个需要你进行测试。
在这里插入图片描述

----------------------------------------------------------------------------
Welcome to the XAMPP Setup Wizard.
----------------------------------------------------------------------------
Select the components you want to install; clear the components you do not want 
to install. Click Next when you are ready to continue.
Do you want to continue? [Y/n]: y
----------------------------------------------------------------------------
Please wait while Setup installs XAMPP on your computer.
Installing
0% ______________ 50% ______________ 100%
#########################################
----------------------------------------------------------------------------
Setup has finished installing XAMPP on your computer.

追加环境变量(可执行文件、库文件和头文件)

$ cat /etc/profile

export PATH=/opt/lampp/bin: P A T H e x p o r t L D L I B R A R Y P A T H = / o p t / l a m p p / l i b : PATH export LD_LIBRARY_PATH=/opt/lampp/lib: PATHexportLDLIBRARYPATH=/opt/lampp/lib:LD_LIBRARY_PATH
export C_INCLUDE_PATH=/opt/lampp/include:$C_INCLUDE_PATH

$ source /etc/profile

启动LAMP

$ /opt/lampp/lampp start

Starting XAMPP for Linux 5.5.38-3…
XAMPP: Starting Apache…ok.
XAMPP: Starting MySQL…ok.
XAMPP: Starting ProFTPD…ok.
PS:lampp命令支持stop、status、start、restart命令。
让xampp开机自动启动

[root@mysqlSlave lepus]# ln -s /opt/lampp/lampp /etc/init.d/lampp

[root@mysqlSlave lepus]# chkconfig --add lampp

简单介绍一下XAMPP组件配置

# HTTPD主配置文件;
/opt/lampp/etc/httpd.conf
 
# PHP主配置文件;
/opt/lampp/etc/php.ini
 
# MariaDB主配置文件;
/opt/lampp/etc/my.cnf
 
# MariaDB数据目录;
/opt/lampp/var/mysql
 
# 所有日志目录;
/opt/lampp/logs/

PS:如果想重新安装,只需要删除/opt/lampp即可。

二、安装Python基础模块

首先安装Python环境(Python版本要求为Python2.6以上,不支持Python3),因为本测试服务器版本为:Red Hat 7.2默认安装的版本为Python 2.7.5,查看命令如下:

[root@mysqlSlave etc]# python -V
Python 2.7.5

其次安装数据库连接Python的驱动包

1. 安装MySQLdb for python (必须安装)

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

下载链接:https://sourceforge.net/projects/mysql-python/

[root@mysqlSlave lepus]# wget https://jaist.dl.sourceforge.net/project/mysql-python/mysql-python-test/1.2.4b4/MySQL-python-1.2.4b4.tar.gz

[root@mysqlSlave lepus]# unzip MySQLdb-python.zip 
[root@mysqlSlave lepus]# cd MySQL-python-1.2.4b4

[root@mysqlSlave lepus]# which mysql_config 
/opt/lampp/bin/mysql_config

[root@mysqlSlave lepus]# vim site.cfg
mysql_config = /opt/lampp/bin/mysql_config
[root@mysqlSlave lepus]# yum install gcc libffi-devel python-devel openssl-devel urpmi xterm
[root@mysqlSlave lepus]# python setup.py build 
[root@mysqlSlave lepus]# python setup.py install

2. 测试MySQL python驱动是否正常运行

[root@mysqlSlave lepus]# python test_driver_mysql.py
MySQL python drivier is ok!

1安装Lepus监控系统
注:在安装Lepus系统之前,请先根据前面内容安装LAMP和Python运行基础环境。

1)上传软件包到监控机服务器并解压缩软件到您的系统

# unzip lepus_vx.x.x.zip

2).在监控机创建监控数据库,并授权。

mysql> create database lepus default character set utf8md4;
mysql> grant select,insert,update,delete,create on lepus.* to 'lepus'@'%' identified by 'lepus';
mysql> flush privileges;

导入SQL文件夹里的SQL文件(表结构和数据文件)

# mysql -ulepus –plepus  --database=lepus < sql/lepus_table.sql  
# mysql -ulepus –plepus  --database=lepus< sql/lepus_data.sql

2)安装Lepus程序
进入到软件包的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.

  1. 修改配置文件
    进入到安装目录,默认为/usr/local/lepus

    [root@mysqlSlave lepus] cd /usr/local/lepus/
    [root@mysqlSlave lepus] vim etc/config.ini

###监控机MySQL数据库连接地址###
[monitor_server]
host=“127.0.0.1”
port=3306
user=" lepus "
passwd="lepus "
dbname=“lepus”

  1. 启动Lepus (可选)
    此时,你可以执行启动命令启动lepus采集进程
    [root@mysqlSlave lepus]lepus start
    lepus server start success!
    [root@mysqlSlave lepus] lepus status
    lepus server is running…

但是因为没有添加主机,所以查看日志会看到如下提示,属于正常提示。您也可以在部署完Lepus WEB控制台后再进行启动。
[root@ebs-cloud lepus]# tail -f logs/lepus.log
2019-06-21 13:09:09 [WARNING] check mongodb: not found any servers
2019-06-21 13:09:09 [INFO] check mongodb controller finished.
2019-06-21 13:09:09 [INFO] check redis controller started.
2019-06-21 13:09:09 [WARNING] check redis: not found any servers
2019-06-21 13:09:09 [INFO] check redis controller finished.
2019-06-21 13:09:09 [INFO] check os controller started.
2019-06-21 13:09:15 [WARNING] check os: not found any servers
2019-06-21 13:09:15 [INFO] check os controller finished.
2019-06-21 13:09:38 [INFO] alarm controller started.
2019-06-21 13:09:38 [INFO] alarm controller finished.

Lepus采集程序安装完毕!

2配置WEB管理台

复制(/lepus_v3.7/php)PHP文件夹里的文件到Apache对应的网站虚拟目录(备注:根本不同的安装方式,这个目录是不一样的,如果采用xampp安装的Apache环境,则默认程序目录为/opt/lampp/htdocs/),例如

# cp -rf php/* /opt/lampp/htdocs/

打开application\config\database.php文件,修改PHP连接监控服务器的数据库信息

# cat /opt/lampp/htdocs/application/config/database.php

$db[‘default’][‘hostname’] = ‘localhost’;
$db[‘default’][‘username’] = ‘lepus’;
$db[‘default’][‘password’] = ‘lepus’;
$db[‘default’][‘database’] = lepus;
$db[‘default’][‘dbdriver’] = ‘mysql’;
$db[‘default’][‘dbprefix’] = ‘’;
$db[‘default’][‘pconnect’] = TRUE;
$db[‘default’][‘db_debug’] = TRUE;
$db[‘default’][‘cache_on’] = FALSE;
$db[‘default’][‘cachedir’] = ‘’;
$db[‘default’][‘char_set’] = ‘utf8’;
$db[‘default’][‘dbcollat’] = ‘utf8_general_ci’;
$db[‘default’][‘swap_pre’] = ‘’;
$db[‘default’][‘autoinit’] = TRUE;
$db[‘default’][‘stricton’] = FALSE;

登录进行添加主机和监控

通过浏览器输入IP地址或域名打开监控界面,即可登录系统。.默认管理员账号密码admin/Lepusadmin登录后请修改管理员密码,增加普通账号。

四、 监控配置mysql 客户端

在监控界面加入监控的mysql服务器:
一款好的数据库监控工具:天兔数据库监控平台3.8搭建_第3张图片
填写相应内容,等待采集。

结语:

1.通过此次实操和最终的监控页面,个人感受是配置为模块化方式,监控何种数据库,就讲相关的数据库驱动注册到python中;另,最终的web页面布局也比较符合人性化,主要监控指标一目了然,很适合常规指标的监控。符合本文开头所说的个人版监控目标。
2.本次测试只是测试lepus监控MySql,故Redis,Mongodb,Oracle的监控,请自行参照链接https://blog.csdn.net/m0_38039437/article/details/79613260进行部署。
3.其他数据库的监控部署,待有时间继续操作,届时将推给大家参考。

To be continued。

【参考链接】
https://blog.csdn.net/reblue520/article/details/80553316
【参考链接】
https://blog.csdn.net/m0_38039437/article/details/79613260
【参考链接】
https://blog.51cto.com/ixhao/1841744
【参考链接】
https://blog.csdn.net/ruoxiyun/article/details/85117964

你可能感兴趣的:(monitor)