MySQL监控系统Lepus的搭建
?? 現在流行的監控系統很多,選擇一個合適自己的就可以了,例如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?
二、安裝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 MySQLdbFile "/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!
?
?
三、安裝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。
?
四、常規的配置
(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服務器:
點擊最后的圖形,可以看監控的具體情況:
?
五、監控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,新增:
?
?
六、慢查詢監控
??進到對應的目錄下,找到腳本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?轉一下格式)
開啟主機的慢查詢功能:
?
七、發郵件的配置
在配置中心----->全局配置
?
?
總結:
???? 一、Lepus監控系統的監控功能相對來說還是比較強大的,如果是DBA或者運維DBA可以考慮使用。
???? 二、Lepus MySQL監控系統是一個開源的系統,所以安全性方面要值得注意,做好訪問規則。
???? 三、可以把現成的監控系統修改為自己的監控系統,靈活的增加或者刪除一些功能來達滿足公司需求的監控系統。
?
| ? 作者:陸炫志 出處:xuanzhi的博客 http://www.cnblogs.com/xuanzhi201111 您的支持是對博主最大的鼓勵,感謝您的認真閱讀。本文版權歸作者所有,歡迎轉載,但請保留該聲明。 ? |
轉載于:https://www.cnblogs.com/xuanzhi201111/p/5200757.html
總結
以上是生活随笔為你收集整理的MySQL监控系统Lepus的搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Swift 添加自定义响应事件
- 下一篇: 如果你恨一个程序员,忽悠他去做iOS开发