MySQL監控系統Lepus的搭建

   如今流行的監控系統不少,選擇一個合適本身的就能夠了,例如Zabbix、Nagios;監控MySQL爲主的有MySQLMTOP、Lepus。本文主要介紹快速部署lepus以及監控MySQL,由於做爲DBA咱們仍是注重MySQL的監控,固然系統狀態也很是重要,監控成爲咱們平常工做不可缺乏,廢話就很少說了,下面開始環境搭建。php

官方網站:http://www.lepus.cc/page/producthtml

搭建環境以下:
Lepus Server    192.168.10.128         Centos 6.2x86_64
已關閉selinux

一.基本環境安裝python

(1)安裝LAMP環境(這裏使用yum完成,簡單省事,固然安裝的MySQL版本會略低,LepusMySQL性能仍是有必定的影響的,特別是當咱們的被監控端愈來愈多,監控項也比較多時,建議安裝Percona版本)mysql

   若是服務器沒有mysql,能夠經過如下方式安裝LAMPlinux

yum install mysql-server httpd php  -y

我用我已經安裝好的mysql-5.6.25,因此我就不安裝MySQL了(建議用二進制安裝的)ios

 (2)開啓httpdmysqldweb

chkconfig httpd on
chkconfig mysqld on

(3)安裝lepus server須要的依賴包redis

 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並啓動sql

[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

 

2、安裝Lepus採集器 

 (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 -p123456  lepus <  lepus_table.sql 
[root@lepus-server sql]# mysql -uroot -p123456  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日誌的信息排查問題。常常遇到的問題以下:

[root lepus]$ lepus start
nohup: appending output to `nohup.out'
lepus server start fail!
[root lepus]$ cat nohup.out 
Traceback (most recent call last):
  File "lepus.py", line 8, in <module>
    import MySQLdb
  File "/usr/lib64/python2.6/site-packages/MySQL_python-1.2.4-py2.6-linux-x86_64.egg/MySQLdb/__init__.py", line 19, in <module>
    import _mysql
ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory

解決方法:
[root lepus]$
ln -sf /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/ [root lepus]$ ln -sf /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/ [root lepus]$ lepus start nohup: appending output to `nohup.out' lepus server start success!

 

 

3、安裝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登陸後請修改管理員密碼,增長普通帳號(獵豹瀏覽器緩存太強了,修改的東西,會存在有時不生效的可能),不少人反饋到登陸頁面就跳轉不了,建議不要用IP直接訪問,能夠用域名:端口或者IP:端口,使用大一點的端口試試,如8080,8090。

 

4、常規的配置

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> 

 

添加完比後,點擊儀表盤能夠看到監控的信息

2)安裝snmp服務

[root@lepus-server ~]# yum install -y net-snmp net-snmp-utils
[root@lepus-server ~]# vim /etc/snmp/snmpd.conf

修改配置文件以下:

把#號去掉,開啓下面這行

修改下面的爲all

重啓服務:

[root@lepus-server lepus]# /etc/init.d/snmpd start
Starting snmpd:                                            [  OK  ]
[root@lepus-server lepus]#

web端添加os服務器:

點擊最後的圖形,能夠看監控的具體狀況:

 

5、監控redis

redis的安裝過程不在這裏演示,配置redis的時候要設置密碼,監控的時候要輸入redis密碼的

[root@lepus-server sql]# netstat -nltp |grep redis
tcp        0      0 0.0.0.0:7000                0.0.0.0:*                   LISTEN      22658/redis-server  
tcp        0      0 :::7000                     :::*                        LISTEN      22658/redis-server  
[root@lepus-server sql]#

 在配置中心找到Redis,新增:

 

 

6、慢查詢監控

  進到對應的目錄下,找到腳本lepus_slowquery.sh,要把該腳本發送到被監控的DB端,結合任務計劃調用,並且被監控端要percona-toolkit

[root@lepus-server mysql]# cd /usr/local/lepus/client/mysql/
[root@lepus-server mysql]# ls
lepus_slowquery.sh
[root@lepus-server mysql]#

我以監控Lepus-server爲例,因此我就不拷貝監控腳本到別的Lepus-clinet了。咱們先安裝percona-toolkit

[root@lepus-server mysql]# cd /usr/local/src/
[root@lepus-serversrc]#wget https://www.percona.com/downloads/percona-toolkit/2.2.11/RPM/percona-toolkit-2.2.11-1.noarch.rpm
[root@lepus-server src]# yum install perl-IO-Socket-SSL perl-DBD-MySQL perl-Time-HiRes -y
[root@lepus-server src]# rpm -ivh percona-toolkit-2.2.11-1.noarch.rpm 
warning: percona-toolkit-2.2.11-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing...                ########################################### [100%]
   1:percona-toolkit        ########################################### [100%]
[root@lepus-server src]#

下面配置一下慢查詢監控腳本: vim lepus_slowquery.sh(若是運行腳本報錯,要用dos2unix 轉一下格式)

開啓主機的慢查詢功能:

 

7、發郵件的配置

在配置中心----->全局配置

 

 

總結:

     1、Lepus監控系統的監控功能相對來講仍是比較強大的,若是是DBA或者運維DBA能夠考慮使用。

     2、Lepus MySQL監控系統是一個開源的系統,因此安全性方面要值得注意,作好訪問規則。

     3、能夠把現成的監控系統修改成本身的監控系統,靈活的增長或者刪除一些功能來達知足公司需求的監控系統。

 

 

做者:陸炫志

出處:xuanzhi的博客 http://www.cnblogs.com/xuanzhi201111

您的支持是對博主最大的鼓勵,感謝您的認真閱讀。本文版權歸做者全部,歡迎轉載,但請保留該聲明。

相關文章
相關標籤/搜索