现在流行的监控系统很多,选择一个合适自己的就可以了,例如Zabbix、Nagios;监控MySQL为主的有MySQLMTOP、Lepus。本文主要介绍快速部署lepus以及监控MySQL,因为作为DBA我们还是注重MySQL的监控,当然系统状态也非常重要,监控成为我们日常工作不可缺少,废话就不多说了,下面开始环境搭建。
官方网站:http://www.lepus.cc/page/product
搭建环境如下: Lepus Server 192.168.10.128 Centos 6.2x86_64 已关闭selinux
一.基本环境安装
(1)安装LAMP环境(这里使用yum完成,简单省事,当然安装的MySQL版本会略低,Lepus对MySQL性能还是有一定的影响的,特别是当我们的被监控端越来越多,监控项也比较多时,建议安装Percona版本)
如果服务器没有mysql,可以通过以下方式安装LAMP
yum install mysql-server httpd php -y
我用我已经安装好的mysql-5.6.25,所以我就不安装MySQL了(建议用二进制安装的)
(2)开启httpd,mysqld
chkconfig httpd on
chkconfig mysqld on
(3)安装lepus server需要的依赖包
yum install gcc python-devel mysql-devel net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml -y
(4)配置httpd并启动
[root@ lepus-server ~]# grep '^ServerName' /etc/httpd/conf/httpd.conf ServerName 192.168.10.128:80 [root@ lepus-server ~]# service httpd start Starting httpd: [ OK ] [root@ lepus-server ~]#
(5)配置php
[root@lepus-server ~]# sed -i "s/;date.timezone =/date.timezone = Asia\/Shanghai/g" /etc/php.ini [root@lepus-server ~]# sed -i "s#max_execution_time = 30#max_execution_time = 300#g" /etc/php.ini [root@lepus-server ~]# sed -i "s#post_max_size = 8M#post_max_size = 32M#g" /etc/php.ini [root@lepus-server ~]# sed -i "s#max_input_time = 60#max_input_time = 300#g" /etc/php.ini [root@lepus-server ~]# sed -i "s#memory_limit = 128M#memory_limit = 128M#g" /etc/php.ini [root@lepus-server ~]# sed -i "/;mbstring.func_overload = 0/ambstring.func_overload = 2\n" /etc/php.ini [root@lepus-server ~]#
(6)安装Python2.7
[root@ lepus-server src]# pwd /usr/local/src [root@ lepus-server src]#wget https://www.python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz2 [root@lepus-server src]# tar jxf Python-2.7.2.tar.bz2 [root@lepus-server src]# cd Python-2.7.2 [root@lepus-server Python-2.7.2]# ./configure --prefix=/usr/local/python2.7 [root@lepus-server Python-2.7.2]# make && make install
(7) 安装MySQLdb-python,解压后,编辑site.cfg,找到mysql_config,把#号去掉,并指定mysql_config的路径
[root@lepus-server Python-2.7.2]# cd /usr/local/src/ [root@lepus-server src]# wget http://www.mtop.cc/software/MySQLdb-python.zip [root@lepus-server src]# unzip MySQLdb-python.zip [root@lepus-server src]# cd MySQLdb1-master/ [root@lepus-server MySQLdb1-master]# cat site.cfg |grep "mysql_config" mysql_config = /usr/bin/mysql_config [root@lepus-server MySQLdb1-master]# python setup.py build [root@lepus-server MySQLdb1-master]# python setup.py install
(8)安装redis驱动,如果没有redis需要监控可以跳过此步骤:
[root@lepus-server MySQLdb1-master]# cd /usr/local/src/ [root@lepus-server src]# wget https://pypi.python.org/packages/source/r/redis/redis-2.10.3.tar.gz [root@lepus-server src]# tar xf redis-2.10.3.tar.gz [root@lepus-server src]# cd redis-2.10.3 [root@lepus-server redis-2.10.3]# python setup.py install
(1) 下载Lepus软件包下载地址:http://www.lepus.cc/soft/17,然后登录数据库创建lepus数据库和MySQL用户
[root@lepus-server src]# pwd /usr/local/src [root@lepus-server src]# ll Lepus3.7.zip -rw-r--r--. 1 root root 6760286 Apr 29 14:21 Lepus3.7.zip [root@lepus-server src]# unzip Lepus3.7.zip #创建lepus库并授权 [root@lepus-server src]# mysql -uroot -p123456 -e "create database lepus default character set utf8;" [root@lepus-server src]# mysql -uroot -p123456 -e "grant select,insert,update,delete,create on lepus.* to 'lepus'@'localhost' identified by 'lepus';" [root@lepus-server src]# mysql -uroot -p123456 -e "grant select,insert,update,delete,create on lepus.* to 'lepus'@'127.0.0.1' identified by 'lepus';" [root@lepus-server src]# mysql -uroot -p123456 -e "flush privileges"
(2) 导入lepus数据库初始化数据,建议使用root用户导,进入到lepus解包以后的目录
[root@lepus-server src]# cd lepus_v3.7/sql/ [root@lepus-server sql]# mysql -uroot -proot lepus < lepus_table.sql [root@lepus-server sql]# mysql -uroot -proot lepus < lepus_data.sql [root@lepus-server sql]#
(3) 安装lepus并,运行脚本install.sh,可以打开看一下,默认安装/usr/local/src下,可以通过修改脚本的路径安装在别的目录下。
[root@lepus-server python]# pwd /usr/local/src/lepus_v3.7/python [root@lepus-server python]# 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. [root@lepus-server python]#
给全部脚本有执行权限,修改lepus连接数据库的配置文件,选项很简单不多说了
root@lepus-server python]# cd /usr/local/lepus/ [root@lepus-server lepus]# chmod +x *.sh [root@lepus-server lepus]# chmod +x *.py [root@lepus-server lepus]# vim etc/config.ini ###监控机MySQL数据库连接地址### [monitor_server] host="127.0.0.1" port=3306 user="lepus" passwd="lepus" dbname="lepus"
(4)启动lepus服务,启动时可以看看它的一些使用参数:
[root@lepus-server lepus]# 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 [root@lepus-server lepus]# [root@lepus-server lepus]# lepus start nohup: appending output to `nohup.out' lepus server start success! [root@lepus-server lepus]#
启动成功,如果启动有问题,可以查看nohup.out日志的信息排查问题。
三、安装WEB管理台
(1) 去到lepus的解压目录下把php文件夹下的所有文件拷贝/var/www/html下,然后编辑文件/var/www/html/application/config/database.php
[root@lepus-server lepus]# cp -rf /usr/local/src/lepus_v3.7/php/* /var/www/html/
[root@lepus-server lepus]# cd /var/www/html/application/config/
[root@lepus-server config]# vim database.php
(2)重启httpd
[root@lepus-server config]# /etc/init.d/httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
[root@lepus-server config]#
(3)、关闭防火墙(线上自己要添加规则即可,别逗比的把线上的关了)
[root@lepus-server config]# service iptables stop iptables: Flushing firewall rules: [ OK ] iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Unloading modules: [ OK ] [root@lepus-server config]# setenforce 0
(4)访问lepus,在Firefox输入http://192.168.10.128,默认管理员账号密码admin/Lepusadmin登录后请修改管理员密码,增加普通账号(猎豹浏览器缓存太强了,修改的东西,会存在有时不生效的可能)
三、常规的配置
(1)、添加一个MySQL server,在添加被监控端的服务器时,在数据库里都要授权监控用户,如果是一个内网网段可以执行(线上不建议给all的权限):
mysql> grant all privileges on *.* to 'lepus'@'192.168.10.%' identified by 'lepus'; Query OK, 0 rows affected (0.08 sec) mysql> flush privileges; Query OK, 0 rows affected (0.06 sec) mysql>