时间:2020-03-05来源:电脑系统城作者:电脑系统城
该博文是参考Lepus官方文档撰写的,官方文档蛮详细的,但是有些下载链接失效(这个开源产品的维护者比较忙,所以更新不太及时),也为了以自己的写作风格记录下lepus的使用方法,所以这篇博文就出现了。
Lepus系统特性如下:
- 无需Agent,远程监视云中数据库
- WEB直观的管理和监视数据库
- 实时MySQL健康监视和告警
- 实时MySQL复制监视和告警
- 实时MySQL资源监视和分析
- 实时MySQL缓存等性能监视
- 实时InnoDB IO性能监控
- MySQL表空间增长趋势分析
- 可视化MySQL慢查询在线分析
- MySQL慢查询自动推送功能
- MySQL AWR在线性能分析
- 实时Oracle健康监控和报警
- 实时Oracle表空间使用监控
- 实时Oracle性能监控
- 实时MongoDB健康监控和报警
- 实时MongoDB索引性能监控
- 实时MongoDB内存使用监控
- 实时Redis健康监控和报警
- 实时Redis性能监控
- 实时SQLServer健康监控和报警
- 实时OS主机CPU/内存/磁盘/网络/IO监控
- 可视化告警系统,邮件发送告警,短信接口支持
- 严格的权限认证系统
- 丰富的健康性能分析图表
- 多维的对比和性能分析
OS | IP | 主机名 | 角色 |
---|---|---|---|
Cent os 7.5 | 192.168.20.2 | mysql | 被监控端 |
Cent os 7.5 | 192.168.20.3 | redis | 被监控端 |
Cent os 7.5 | 192.168.20.4 | lepus | 监控端 |
部署Lepus需要的核心如下:
- MySQL5.1及以上(必须,用来存储监控系统采集的数据)。
- Apache 2.2及以上 (必须,WEB服务器运行服务器)。
- PHP 5.3以上 (必须,提供WEB界面支持,不支持PHP7)。
- Python2 (必须,推荐2.6及以上版本,执行数据采集和报警任务,不支持Python3)。
- 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此模块必须安装)。
注:由于lepus官方文档最后一次更新是在17年,所以官方提供的很多下载链接失效了,我这里下载了所涉及到的所有软件包,版本与官方所用版本完全一致,有需要的话,可以通过我的网盘链接下载,提取码:vofv 。
注:PHP和Python都是跨平台的语言,所以理论上系统应该可以支持在不同的平台上运行。但是由于时间和精力以及资源有限,目前天兔系统只测试完善了Centos/RedHat系统的支持。官方目前提供的技术支持也是只针对于Centos/RedHat系统,其他系统暂不支持技术服务。
lepus需要lamp环境的支持,配置lamp环境的方式有很多中,官方采用的是集成环境包Xampp进行部署的,所以这里就以官方为准。
Xampp相关链接:
官方推荐xampp版本:xampp-linux-x64-1.8.2-5-installer.run。
注意:接下来的所有操作,没有特殊声明的话,都是在lepus主机上进行的。
1 2 3 4 |
#执行安装脚本 [root@lepus src]# chmod +x xampp-linux-x64-1.8.2-5-installer.run [root@lepus src]# ./xampp-linux-x64-1.8.2-5-installer.run #执行后,一路默认回车即可。 |
出现如下所示,表示安装成功(lampp默认安装在/opt目录下):
部署成功后,就在监听80端口,但是默认只能在本地访问,如需开启远程访问,需进行以下操作:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[root@lepus ~]# vim /opt/lampp/etc/extra/httpd-xampp.conf #更改如下: <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))"> # Require local #注释掉该行 ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </LocationMatch> #设置命令环境变量 [root@lepus bin]# vim /etc/profile #在末尾添加以下内容 export PATH=/opt/lampp/bin:${PATH} [root@lepus bin]# source /etc/profile #重启服务,使更改生效 [root@lepus ~]# httpd -k stop [root@lepus ~]# httpd -k start |
浏览器访问lepus服务器,即可看到如下页面,表示lampp运行成功:
自行准备python环境,一般Centos系统自带python环境,python环境要求在2.6以上,但不支持python3。
以下几个python链接数据库的驱动包,选择性的安装即可(要监控哪种类型的数据库,就安装哪个包)。
MySQLdb为Python连接和操作MySQL的类库,如果您准备使用lepus系统监控MySQL数据库,那么该模块必须安装。
1 2 3 4 5 6 7 8 9 10 |
[root@lepus ~]# yum -y install python-devel [root@lepus ~]# unzip MySQL-python-1.2.5.zip [root@lepus bin]# which mysql_config #查看mysql_config命令的绝对路径 /opt/lampp/bin/mysql_config [root@lepus ~]# cd MySQL-python-1.2.5/ [root@lepus MySQL-python-1.2.5]# vim site.cfg #修改以下 mysql_config = /opt/lampp/bin/mysql_config #指定mysql_config命令的绝对路径 #进行安装 [root@lepus MySQL-python-1.2.5]# python setup.py build [root@lepus MySQL-python-1.2.5]# python setup.py install |
1 2 3 |
[root@lepus ~]# tar zxf redis-py-2.10.3.tar.gz [root@lepus ~]# cd redis-py-2.10.3/ [root@lepus redis-py-2.10.3]# python setup.py install |
如果需要监控其他数据库,参考官方文档去安装,某些软件包,在我博文的开头网盘链接中也有提供。
注:以下所有操作都是在Lepus主机上进行,涉及到数据库授权等一些操作,也是在Lepus上进行,不用想这台主机没有装MySQL,lampp软件包已经集成了MySQL。
1 2 |
[root@lepus ~]# cd /usr/local [root@lepus local]# git clone https://github.com/ruzuojun/lepus.git |
如果git clone命令报错如下:
1 2 |
正克隆到 'lepus'... fatal: unable to access 'https://github.com/ruzuojun/lepus.git/': SSL certificate problem: unable to get local issuer certificate |
请执行下面的指令即可:
1 |
[root@monitor local]# git config --global http.sslVerify false |
1 2 3 4 5 |
[root@lepus lepus]# pwd /usr/local/lepus [root@lepus lepus]# chmod +x lepus* [root@lepus lepus]# ln -sf /usr/local/lepus/lepus /usr/local/bin/ [root@lepus lepus]# ln -sf /usr/local/lepus/lepus_monitor /usr/local/bin/ |
1 2 3 4 5 6 7 |
[root@lepus lepus]# ln -sf /opt/lampp/lampp /usr/local/bin [root@lepus lepus]# lampp start #启动lamp环境 [root@lepus lepus]# mysql -uroot #默认数据库无密码 #创建相关库及用户 mysql> create database lepus default character set utf8; mysql> grant select,insert,update,delete,create on lepus.* to 'lepus_user'@'localhost' identified by '123.com'; mysql> flush privileges; |
1 2 3 4 |
[root@lepus lepus]# pwd /usr/local/lepus [root@lepus lepus]# mysql -uroot lepus < sql/lepus_table.sql [root@lepus lepus]# mysql -uroot lepus < sql/lepus_data.sql |
1 2 3 4 5 6 7 8 9 10 11 |
[root@lepus lepus]# pwd /usr/local/lepus [root@lepus lepus]# cat etc/config.ini #修改配置文件如下 ###监控机MySQL数据库连接地址### [monitor_server] host="127.0.0.1" port=3306 user="lepus_user" passwd="123.com" dbname="lepus" #注:上面指定的数据库信息是lepus主机用来存储采集到的信息的,并不是被监控端 |
1 |
[root@lepus lepus]# lepus start |
如果报错如下:
1 2 3 |
[root@lepus lepus]# lepus start /usr/local/bin/lepus: 行 16: 72095 段错误 (吐核)nohup python lepus.py &>logs/lepus.log lepus server start fail! |
则执行以下指令即可:
1 2 3 |
[root@lepus lepus]# ln -s /opt/lampp/lib/* /usr/lib64/ [root@lepus lepus]# lepus start #再次启动即可成功 lepus server start success! |
1 2 3 4 5 6 |
[root@lepus lepus]# pwd /usr/local/lepus [root@lepus lepus]# python test_driver_mysql.py MySQL python drivier is ok! [root@lepus lepus]# python test_driver_redis.py Redis python drivier is ok! |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
[root@lepus lepus]# vim /opt/lampp/etc/httpd.conf #修改主配置文件 <Directory /> AllowOverride none Require all granted # 214行左右,将原本的denied修改为granted </Directory> ........ #省略部分内容 Include etc/extra/httpd-vhosts.conf # 488行左右,开启虚拟主机 [root@lepus lepus]# vim /opt/lampp/etc/extra/httpd-vhosts.conf #修改虚拟主机配置文件如下 <VirtualHost *:80> ServerAdmin demo.lepus.cc DocumentRoot "/usr/local/lepus/web" ServerName demo.lepus.cc ServerAlias demo.lepus.cc ErrorLog "logs/demo.lepus.cc-error_log" CustomLog "logs/demo.lepus.cc-access_log" common </VirtualHost> [root@lepus lepus]# httpd -k restart #重启httpd服务,使更改生效 #修改php连接监控服务器的数据库信息 [root@lepus lepus]# vim /usr/local/lepus/web/application/config/database.php $db['default']['hostname'] = '127.0.0.1'; $db['default']['port'] = '3306'; $db['default']['username'] = 'lepus_user'; $db['default']['password'] = '123.com'; $db['default']['database'] = 'lepus'; $db['default']['dbdriver'] = 'mysql'; |
登录到web界面进行登录,默认管理员账号密码为:admin/Lepusadmin,登录后建议修改管理员密码并增加普通用户。
全局配置设置比较简单,依次点击如下即可设置,最后点击保存即可。
进入配置中心-全局设置,在告警标签页面里面可以看到告警设置。
在这里,可以设置是否开启告警,是否发送邮件,是否发送短信等等功能。
告警最大次数和告警休眠时间两个参数用于防止告警泛滥而设置,其含义是当连续告警次数达到告警最大次数则会停止发送告警通知,等侯时间超过告警休眠时间后如果告警未解除,则会继续发送告警。
如下(短信告警这里就不设置了):
只有当邮件服务器配置成功,才可以正常发送邮件报警。我这里使用qq邮箱为例,其他邮箱服务大同小异。
进入配置中心-全局设置,在邮件标签里面,我们可以看到如下的邮件服务器设置:
注:生成授权码不是这篇博文要说的,如果不会,自行百度解决吧。
若要配置短信报警,请参考官方文档,同时在全局配置中还需要开启短信报警。
注:Lepus支持MySQL,Oracle,MongoDB,Redis,SQLServer等数据库的监控。
监控MySQL数据库,无需在被监控端安装任何agent,只需创建一个有相应权限的用户即可。
这个用户是要监控哪台主机就在哪台主机上创建,我这里是192.168.20.2这台主机
1 2 |
mysql> grant select,process,super on *.* to 'lepus_monitor'@'192.168.20.%' identified by '123.com'; mysql> flush privileges; |
保存后,即可看到新增的MySQL实例:
我们可以通过观察日志来观察主机是否添加成功。在没有任何主机的时候,log里面会输出check mysql: not found any servers信息:
1 2 3 4 5 |
[root@MyCloudServer lepus]# tail -f logs/lepus.log 2017-04-27 16:45:55 [INFO] check mysql controller started. 2017-04-27 16:45:55 [WARNING] check mysql: not found any servers 2017-04-27 16:45:55 [INFO] check mysql controller finished. |
当添加主机后,我们可以看到上面的提示消失了,这种状态说明Lepus采集进程已经发现了我们添加的主机:
1 2 3 4 |
2017-04-27 16:47:55 [INFO] check mysql controller started. 2017-04-27 16:48:05 [INFO] check mysql controller finished. 2017-04-27 16:48:44 [INFO] alarm controller started. 2017-04-27 16:48:44 [INFO] alarm controller finished. |
最后我们可以在MySQL监控菜单里发现我们添加的主机被监控了。
点击如下,可以看到相应的监控项详细信息:
1 2 3 4 |
[root@redis ~]# vim /etc/redis.conf #修改配置文件如下 bind 0.0.0.0 #监听所有地址 requirepass 123.com #设置密码 [root@redis ~]# systemctl restart redis #重启生效 |
添加redis主机
按常理来说,此时应该已经采集到数据的,但是我测试了一下,数据并没有采集到,搜索一番,得到以下解决办法:
1 2 3 4 5 |
[root@lepus lepus]# pwd /usr/local/lepus [root@lepus lepus]# python check_redis.py #需要手动执行一下这个测试脚本 2020-02-29 21:16:06 [INFO] check redis controller started. 2020-02-29 21:16:07 [INFO] check redis controller finished. |
最后数据采集成功:
由于在配置时,都是把链接数的阈值调的比较低,所以只需要多几个客户端去登录MySQL和redis数据库,指定的邮件收件人就可以收到如下邮件了:
MySQL的报警信息如下:
redis的报警信息如下:
若要监控慢查询、复制延迟等数据,请移步博文:https://blog.csdn.net/u010725670/article/details/51038630 。
2024-04-11
台式机电脑如何连接外接显示器2024-04-11
小新系列打印机手机配置网络的方法教程2024-04-11
Thinkpad 笔记本F1-F12快捷键分别是什么功能ThinkPad蓝牙鼠标如何配对解答步骤41U5008鼠标驱动官网地址: https://support.lenovo.com/en_US/downloads/detail.page?&LegacyDocID=MIGR-67201 第一种方式是比较传统的:使...
2024-04-11
故障现象: USB设备U盘、移动硬盘等插入后提示无法识别的设备,确认设备本身正常,设备可加电,或插入设备后加电但无任何反应,无法使用。新型号机器多表现为黄色USB接口存在此问题,...
2024-04-11