1.lepus简介
Lepus是一套开源的数据库监控平台,目前已经支持MySQL、Oracle、SQLServer、MongoDB、Redis等数据库的基本监控和告警(MySQL已经支持复制监控、慢查询分析和定向推送等高级功能)。
Lepus无需在每台数据库服务器部署脚本或Agent,只需要在数据库创建授权帐号,即可进行远程监控,适合监控数据库服务器较多的公司和监控云中数据库,这将为企业大大减化监控部署流程,同时Lepus系统内置了丰富的性能监控指标,让企业能够在数据库宕机前发现潜在性能问题进行处理,减少企业因为数据库问题导致的直接损失。
2.核心包要求
以下软件包只需要部署在监控机即可,被监控机无需部署。
软件 | 作用 |
---|---|
MySQL5.1及以上 | 必须,用来存储监控系统采集的数据 |
Apache 2.2及以上 | 必须,WEB服务器运行服务器 |
PHP 5.3以上 | 必须,提供WEB界面支持,不支持PHP7 |
Python2 | 必须,推荐2.6及以上版本,执行数据采集和报警任务,不支持Python3 |
3.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此模块必须安装 |
1.获取xampp集成环境包
注意:这里LAMP环境用Xampp集成环境包部署,提前准备好xampp-linux-x64-5.6.38-0-installer.run包。
[root@lepus ~]# ls
anaconda-ks.cfg xampp-linux-x64-5.6.38-0-installer.run
[root@lepus ~]# chmod +x xampp-linux-x64-5.6.38-0-installer.run
[root@lepus ~]# ./xampp-linux-x64-5.6.38-0-installer.run
关于xampp的详细使用,包括启动关闭、以及安全特性,都可以在官网帮助里面找到,可以去查看:https://www.apachefriends.org/faq_linux.html
2.编辑/etc/profile文件添加环境变量
[root@lepus ~]# vim /etc/profile
最后添加:
export PATH=$PATH:/opt/lampp/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/lampp/lib
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/opt/lampp/include
[root@lepus ~]# . /etc/profile
3.启动lamp环境并添加到系统服务
[root@lepus ~]# /opt/lampp/lampp start
Starting XAMPP for Linux 5.6.38-0...
XAMPP: Starting Apache...already running.
XAMPP: Starting MySQL...ok.
XAMPP: Starting ProFTPD...ok.
[root@lepus ~]# ln -s /opt/lampp/lampp /etc/init.d/lampp
[root@lepus ~]# chkconfig --add lampp
[root@lepus ~]# chkconfig lampp on
[root@lepus ~]# ss -lnt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 [::1]:25 [::]:*
LISTEN 0 128 [::]:443 [::]:*
LISTEN 0 80 [::]:3306 [::]:*
LISTEN 0 128 [::]:80 [::]:*
LISTEN 0 5 [::]:21 [::]:*
LISTEN 0 128 [::]:22 [::]:*
浏览器访问:192.168.229.187
4.开启远程访问xampp
部署成功后,就在监听80端口,但是默认只能在本地访问。
需进行以下操作开启远程访问。
[root@lepus ~]# vim /opt/lampp/etc/extra/httpd-xampp.conf
注释掉这一行
# Require local
5.添加环境变量
[root@lepus ~]# vim /etc/profile
#在末尾添加以下内容
export PATH=/opt/lampp/bin:${PATH}
6.重启服务生效
[root@lepus ~]# source /etc/profile
[root@lepus ~]# httpd -k stop
[root@lepus ~]# httpd -k start
注意:首先安装Python环境,Python版本要求为Python2.6以上,不支持Python3。
1.安装python环境
[root@master ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@master ~]# yum -y install gcc gcc-c++ openssl-devel python-devel python2-pip libffi-devel xterm
2.安装MySQLdb for python
MySQLdb为Python连接和操作MySQL的类库,如果您准备使用lepus系统监控MySQL数据库,那么该模块必须安装。(提前准备MySQL-python-1.2.3.tar.gz压缩包)
安装步骤如下:
[root@lepus ~]# ls
anaconda-ks.cfg xampp-linux-x64-5.6.38-0-installer.run
MySQL-python-1.2.3.tar.gz
[root@lepus ~]# tar zxf MySQL-python-1.2.3.tar.gz
[root@lepus ~]# cd MySQL-python-1.2.3/
[root@lepus MySQL-python-1.2.3]# which mysql_config
/opt/lampp/bin/mysql_config
[root@lepus MySQL-python-1.2.3]# vim site.cfg
修改如下:
mysql_config = /opt/lampp/bin/mysql_config
[root@lepus MySQL-python-1.2.3]# python setup.py build
[root@lepus MySQL-python-1.2.3]# python setup.py install
1.解压软件安装包,测试驱动是否正常运行。
在lepus的安装文件包python目录中,你可以找到如下测试文件,测试上述驱动是否安装正确。
(提前准备好Lepus_v3.8.zip压缩包)
[root@lepus ~]# ls
anaconda-ks.cfg MySQL-python-1.2.3.tar.gz
Lepus_v3.8.zip xampp-linux-x64-5.6.38-0-installer.run
MySQL-python-1.2.3
[root@lepus ~]# unzip Lepus_v3.8.zip
[root@lepus ~]# cd Lepus_v3.8_beta/python/
[root@lepus python]# python test_driver_mysql.py
MySQL python drivier is ok!
2.在监控机创建监控数据库,并授权。
#xampp安装的数据库默认没有密码。
[root@lepus ~]# mysql -uroot
MariaDB [(none)]> create database lepus default character set utf8;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant select,insert,update,delete,create on lepus.* to 'lepus_user'@'localhost' identified by 'asd123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
3.导入SQL文件夹里的初始化SQL文件(表结构和数据文件)
[root@lepus ~]# cd Lepus_v3.8_beta/sql/
[root@lepus sql]# mysql -uroot lepus < lepus_table.sql
[root@lepus sql]# mysql -uroot lepus < lepus_data.sql
[root@lepus sql]# cd ../python/
[root@lepus python]# chmod +x install.sh
[root@lepus python]# ./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.
4.修改配置文件
进入到安装目录/usr/local/lepus
[root@lepus python]# cd /usr/local/lepus/
[root@lepus lepus]# vim etc/config.ini
###监控机MySQL数据库连接地址###
[monitor_server]
host="127.0.0.1"
port=3306
user="lepus_user"
passwd="asd123"
dbname="lepus"
5.启动Lepus
执行启动命令启动lepus采集进程。
[root@lepus lepus]# lepus start
lepus server start success!
[root@master lepus]# ps -ef | grep lepus
6.查看日志
因为没有添加主机,所以查看日志会看到如下提示,属于正常提示。也可以在部署完Lepus WEB控制台后再进行启动。
[root@lepus lepus]# tail -f logs/lepus.log
2021-03-17 08:15:28 [INFO] check mysql controller finished.
2021-03-17 08:15:46 [INFO] alarm controller started.
2021-03-17 08:15:46 [INFO] alarm controller finished.
2021-03-17 08:16:28 [INFO] check mysql controller started.
2021-03-17 08:16:28 [WARNING] check mysql: not found any servers
2021-03-17 08:16:28 [INFO] check mysql controller finished.
2021-03-17 08:16:56 [INFO] alarm controller started.
2021-03-17 08:16:57 [INFO] alarm controller finished.
r started.
2021-03-17 08:16:57 [INFO] alarm controller finished.
1.php目录下的所有到xammp的访问目录下
[root@lepus lepus]# cp -rf /root/Lepus_v3.8_beta/php/* /opt/lampp/htdocs/
cp:是否覆盖"/opt/lampp/htdocs/index.php"? y
2.修改php连接监控服务器的数据库信息
[root@lepus lepus]# vim /opt/lampp/htdocs/application/config/database.php
$db['default']['hostname'] = '127.0.0.1';
$db['default']['port'] = '3306';
$db['default']['username'] = 'lepus_user';
$db['default']['password'] = 'asd123';
$db['default']['database'] = 'lepus';
$db['default']['dbdriver'] = 'mysql';
3.浏览器访问:192.168.229.187
用户名:admin
密码:Lepusadmin
登录后修改管理员密码,增加普通账号。
1.被监控MySQL服务器授权
被监控MySQL服务器IP为192.168.229.215
mysql> grant select,process,super on *.* to 'rep'@'192.168.229.187' identified by 'Test123!';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
2.增加被监控端流程
(1)配置中心中选择MySQL菜单可以配置一个MySQL监控数据库。
(2)点击新增按钮,填写被监控数据库的IP、Port,远程授权用户和密码,以及标签(标签只是用来备注该服务器的用途)等内容。
(3)新增被监控主机的同时可以设置该数据库的监控和报警等配置信息。
健康监控
资源监控
键缓存监控
innodb监控
3.查看lepus运行日志
[root@lepus lepus]# tail -f /usr/local/lepus/logs/lepus.log
...
2021-03-17 08:50:54 [WARNING] check mysql 192.168.229.215:3306 failure: sleep 3 seconds and check again.
2021-03-17 08:51:03 [INFO] check mysql controller finished.
2021-03-17 08:52:01 [INFO] alarm controller started.
2021-03-17 08:52:01 [INFO] alarm controller finished.
2021-03-17 08:52:03 [INFO] check mysql controller started.
...
1.启动系统采集进程
lepus start
2.关闭系统采集进程
lepus stop
3.监控系统是否正常运行
lepus status
4.查看帮助命令
# lepus –help
lepus help:
support-site: www.lepus.cc
====================================================================
start Start lepus monitor server; Command: #lepus start
stop Stop lepus monitor server; Command: #lepus stop
status Check lepus monitor run status; Command: #lepus status