溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Lepus3.8-天兔mysql數據庫監控系統搭建

發布時間:2020-07-11 16:59:47 來源:網絡 閱讀:29382 作者:ixhao 欄目:數據庫

 Lepus3.8-天兔mysql數據庫監控系統搭建

 

lepus是一款開源的數據庫監控軟件,能詳細的監控各種數據庫狀態,如mysql慢查詢和主從狀況。

這是web監控頁面:

Lepus3.8-天兔mysql數據庫監控系統搭建

搭建(文中是CentOS 6.7系統環境)

一、安裝lamplnmp環境:

安裝方法很多,有源碼包、yum、rpm等安裝,這兒就簡單的提一下簡單的yum安裝方法。

需要安裝的包:

httpd

httpd-manual

httpd-devel

php

php-mysql

mysql

mysql-server

可以yum安裝上面的包:yum install httpd httpd-manual httpd-devel php php-mysql mysql mysql-server -y


1).mysql

[root@jk ~]# yum install mysqlmysql-server -y

[root@jk ~]# rpm -qa |grepmysql


Lepus3.8-天兔mysql數據庫監控系統搭建

[root@jk ~]# service mysqld start

[root@jk ~]# netstat -anplt|grep mysql  查看mysqld端口是否正常開啟,服務是否正常

Lepus3.8-天兔mysql數據庫監控系統搭建


2).apache

 [root@monitoring-45 lepus]# yuminstall httpd httpd-manual httpd-devel -y

 [root@monitoring-45lepus]# rpm -qa |grep http*

Lepus3.8-天兔mysql數據庫監控系統搭建

 [root@jk ~]# service httpd start

Lepus3.8-天兔mysql數據庫監控系統搭建

 上面的:httpd: Could not reliably determine the server's fully qualifieddomain name提示  是apache啟動時會驗證ServerName的配置,可通過修改hosts文件添加本地解析或者修改httpd.conf  276行將#ServerName www.example.com:80改為ServerName “主機名來使其不提醒。

 [root@jk ~]# netstat -anplt | grep httpd  查看mysqld端口是否正常開啟,服務是否正常

Lepus3.8-天兔mysql數據庫監控系統搭建


3).php

[root@jk ~]# yum install phpphp-mysql –y

[root@monitoring-45lepus]#  rpm -qa |grep php-5

Lepus3.8-天兔mysql數據庫監控系統搭建

 

[root@jk ~]# rpm -ql php          查看php相關文件

/etc/httpd/conf.d/php.conf

/usr/lib64/httpd/modules/libphp5.so

/var/lib/php/session

/var/www/icons/php.gif



4).配置apache,讓apache支持php

[root@jk ~]# vim/etc/httpd/conf.d/php.conf  配置php配置文件

Lepus3.8-天兔mysql數據庫監控系統搭建

看是否有動態加載,圖下面紅框內的是apache支持的首頁面

[root@jk ~]# vim/etc/httpd/conf/httpd.conf  配置apache配置文件

AddType applition/x-httpd-php.php         #添加這一行

 

<IfModule dir_module>

    DirectoryIndex index.html index.php   #添加index.php是為了讓apache識別php首頁

</IfModule>

重啟apache

[root@jk ~]# touch/var/www/html/1.php

[root@jk ~]# vim /var/www/html/1.php

 <?php

 phpinfo();

 ?>

瀏覽器打開http://服務端ip/1.php,出現如下圖則表示配置成功:


Lepus3.8-天兔mysql數據庫監控系統搭建

5).讓php支持mysql

[root@jk ~]# yum install -y php-mysql

檢查:

[root@jk ~]# vim /var/www/html/1.php

<?php

$link=mysql_connect('127.0.0.1','root','');

if($link)

echo "connect success!";

else

echo 'connect faild!';

?>

重啟apache,service httpd restart

瀏覽器打開http://服務端ip/1.php,出現

connect success!

則為成功


6).設置服務自啟:

[root@jk ~]# chkconfig httpd on

[root@jk ~]# chkconfig httpd--list

httpd  0:關閉  1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉

[root@jk ~]# chkconfig mysqld on



二、監控端安裝python(文中是2.6.6版本,也推薦使用2.7版本)

  ……


三、監控端安裝數據庫連接Python的驅動包

1).安裝 MySQLdb for python (如果需要監控MySQL則必須安裝)

MySQLdb為Python連接和操作MySQL的類庫,如果準備使用lepus系統監控MySQL數據庫,那么該模塊必須安裝。

[root@jk ~]# wget http://cdn.lepus.cc/cdncache/software/MySQLdb-python.zip 
[root@jk ~]# unzip MySQLdb-python.zip 
[root@jk ~]# cd MySQLdb1-master/ 
[root@jk ~]# which mysql_config 
/usr/local/mysql/bin/mysql_config

 
[root@jk ~]# vim site.cfg 修改如下: 
mysql_config = /usr/local/mysql/bin/mysql_config

 
[root@jk ~]# python setup.py build 
[root@jk ~]# python setup.py install


如果編譯python出現如下問題 
/usr/bin/ld: cannot find -lpython2.7 
collect2: ld returned 1 exit status 
error: command 'gcc' failed with exit status1 
請按如下步驟處理: 
A.檢查并安裝python-devel包 
[root@jk ~]# yum -y install python-devel 


B.將libpython2.7.so庫文件建立軟連接到/usr/lib下 
32位服務器下執行: 
[root@jk ~]# ln -s /usr/local/Python2.7/lib/libpython2.7.so/usr/lib/libpython2.7.so 
64位服務器下執行:
[root@jk ~]# ln -s /usr/local/Python2.7/lib/libpython2.7.so/usr/lib64/libpython2.7.so 


C.檢查下/etc/ld.so.conf是否包含/usr/local/Python2.7/lib 
[root@jk ~]#  vi /etc/ld.so.conf 添加/usr/local/Python2.7/lib 
[root@jk ~]# /sbin/ldconfig 

 


2).安裝cx_oracle for python (如果需要監控Oracle則必須安裝,本文暫未用到)

下載安裝oracle instant client:
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 
如果是64位的,請選擇.*x86_64.rpm,否則是.*i386.rpm 
如果是oracle 9i或更高,請選擇InstantClient 11,如果是8或8i,請選擇Instant Client 10

 
[root@jk ~]# rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm 
[root@jk ~]# rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm 
[root@jk ~]# rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm 
[root@jk ~]# vim /root/.bash_profile 

ORACLE_HOME="/usr/lib/oracle/11.2/client64" 
PATH=$PATH:$ORACLE_HOME/bin 
export PATH 
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib 
export LD_LIBRARY_PATH

 
[root@jk ~]#vim /etc/ld.so.conf 加入 
/usr/lib/oracle/11.2/client64/lib

 
執行ldconfig生效
[root@jk ~]# ldconfig 

安裝cx_oracle 

[root@jk ~]# wget http://cdn.lepus.cc/cdncache/software/cx_Oracle-5.1.2.tar.gz
[root@jk ~]# tar -xvf cx_Oracle-5.1.2.tar.gz 
[root@jk ~]# cd cx_Oracle-5.1.2 
[root@jk ~]# python setup.py build 
[root@jk ~]# python setup.py install 

3).安裝Pymongo for python (如果需要監控Mongodb則必須安裝)
pymongo為Python連接和操作MongoDB的類庫,如果準備使用lepus系統監控MongoDBs數據庫,那么該模塊必須安裝。 
安裝步驟如下: 
下載pymongo https://pypi.python.org/packages/source/p/pymongo/ 
[root@jk ~]# wget http://cdn.lepus.cc/cdncache/software/pymongo-2.7.tar.gz 
[root@jk ~]# tar -xvf pymongo-2.7.tar.gz 
[root@jk ~]# cd pymongo-2.7 
[root@jk ~]# python setup.py install 

4).安裝Redis 驅動 (如果需要監控Redis則必須安裝)

[root@jk ~]# wget http://cdn.lepus.cc/cdncache/software/redis-py-2.10.3.tar.gz
[root@jk ~]# tar -xvf redis-py-2.10.3.tar.gz 
[root@jk ~]# cd redis-2.10.3/ 
[root@jk ~]# python setup.py install 

 

5).測試各個驅動是否正常運行

[root@jk~]# wget http://www.lepus.cc/soft/download/18

[root@jk~]# unzip Lepus數據庫企業監控系統3.7版本官方下載.zip

[root@jk~]# cd Lepus_v3.8_beta/

[root@jk~]# python test_driver_mysql.py 
MySQL python drivier is ok! 
[root@jk ~]# python test_driver_oracle.py 
Oracle python drivier is ok! 
[root@jk ~]# python test_driver_mongodb.py 
MongoDB python drivier is ok! 
[root@jk ~]# python test_driver_redis.py 
Redis python drivier is ok!

 

四、監控端安裝Lepus監控系統

1).下載軟件包到監控端并解壓縮

(下載鏈接:http://down.51cto.com/data/2237019)

[root@jk~]# wget http://www.lepus.cc/soft/download/18

[root@jk~]# unzip Lepus數據庫企業監控系統3.7版本官方下載.zip

[root@jk~]# cd Lepus_v3.8_beta/


2).在監控機創建監控數據庫,并授權。

監控端數據庫執行:

mysql>create database lepus default character set utf8;

mysql>grant select,insert,update,delete,create on lepus.* to 'lepus_user'@'localhost'identified by '111.test';

mysql>flush privileges;


3).導入Lepus_v3.8_beta 的sql文件夾里的SQL文件(表結構和數據文件)

[root@jk~]# mysql -uroot -p lepus < sql/lepus_table.sql

[root@jk~]# mysql -uroot -p lepus < sql/lepus_data.sql

 

4).安裝Lpeus程序

[root@jk~]#pwd

Lepus3.8-天兔mysql數據庫監控系統搭建

[root@monitoring-45Lepus_v3.8_beta]# cd python/

[root@monitoring-45Lepus_v3.8_beta]# chmod +x install.sh

修改安裝位置:

[root@monitoring-45python]# vim install.sh 下圖紅色標記即為安裝位置

Lepus3.8-天兔mysql數據庫監控系統搭建

[root@monitoring-45lepus]# vim lepus    修改啟動文件

Lepus3.8-天兔mysql數據庫監控系統搭建

執行安裝

[root@monitoring-45Lepus_v3.8_beta]# ./install.sh

[note]lepus will be install on basedir: /date/server/lepus

[note]/date/server/lepus directory does not exist,will be created.

[note]/date/server/lepus directory created success.

[note]wait copy files.......

[note]change script permission.

[note]create links.

[note]install complete.

 

5).修改配置文件

進入到安裝目錄/date/server/lepus,默認為/usr/local/lepus

[root@monitoring-45 ~]# cd /date/server/lepus

Lepus3.8-天兔mysql數據庫監控系統搭建

[root@monitoring-45 lepus]# vim etc/config.ini

###監控機MySQL數據庫連接地址###

[monitor_server]

host="localhost"

port=3306

user=" lepus_user "

passwd="111.test"

dbname="lepus"


6).啟動監控系統

執行以下命令啟動系統采集進程

[root@monitoring-45 lepus]#lepus start

nohup: appending output to`nohup.out'

lepus monitor start success!

 

執行以下命令關閉系統采集進程

[root@monitoring-45 lepus]#lepus stop

 

執行以下命令監控系統是否正常運行

[root@monitoring-45 lepus]#lepus status

lepus server is running...

 

7).將lepus_monitor腳本部署為計劃任務,該腳本可以監控Lepus是否正在運行。

打開文件/data/server/lepus/lepus_monitor修改里面連接監控機的數據庫連接地址,然后將該腳本部署為計劃任務。

[root@monitoring-45 lepus]# crontab -e

*/5 * * * * /data/server/lepus/lepus_monitor >> /tmp/lepus_monitor.log

 

8)部署網頁WEB界面

復制安裝文件夾的php文件夾里的文件到Apache對應的網站根目錄

[root@monitoring-45 lepus]# cp -rf /root/bao/Lepus_v3.8_beta/php/* /var/www/html/

打開/var/www/html/application/config/database.php文件修改PHP連接監控服務器的數據庫信息

[root@monitoring-45 lepus]# vim /var/www/html/application/config/database.php

$db['default']['hostname'] ='localhost';

$db['default']['username'] ='lepus_user';

$db['default']['password'] = '111.test';

$db['default']['database'] =lepus;

$db['default']['dbdriver'] ='mysql';

 

9).重啟apache

[root@monitoring-45 lepus]# service httpd restart


10).登錄進行添加主機和監控

通過瀏覽器輸入IP地址或域名打開監控界面,即可登錄系統。默認管理員賬號密碼admin/Lepusadmin

Lepus3.8-天兔mysql數據庫監控系統搭建

登錄后請修改管理員密碼,增加普通賬號,對需要監控的數據庫授權,在WEB添加主機進行監控。

 

四、Lepus監控數據庫配置

1).被監控端防火墻打開允許監控端ip的3306端口,mysql添加監控賬號:

[root@jk ~]# iptables -A INPUT -s "監控端ip" -m state --state NEW -m tcp -p tcp--dport 3306 -j ACCEPT

被監控端數據庫執行:

[root@jk ~]#

mysql> grant select,process,super on *.* to 'monitor'@'server監控端ip' identified by '222.test';


被監控端創建完帳號即可在監控端網頁上添加mysql數據庫監控:

Lepus3.8-天兔mysql數據庫監控系統搭建

稍等幾分鐘便可看到信息。

注意:只有同時監控主庫和備庫才能看到主從復制情況。


2).得不到數據庫表空間分析數據的解決方法:

在lepus.py中添加check_mysql_bigtable,如圖

Lepus3.8-天兔mysql數據庫監控系統搭建

圖中“*120“是設置時間間隔,若是網頁頁面設置了1分鐘刷新數據,這兒改成120。則最終是2小時才會監控得到新數據

Lepus3.8-天兔mysql數據庫監控系統搭建


 

五、Lepus監控數據庫慢查詢配置

1).監控端配置數據庫帳號,讓被監控端寫入數據

監控端數據庫執行:

mysql> grantselect,insert,update,delete,create on lepus.* to 'lepus_user'@'被監控端ip' identified by '333.test';


2).被監控端數據庫添加賬號允許腳本獲得數據庫信息

被監控端數據庫執行:

mysql> grantselect,process,super on *.* to 'monitor'@'localhost' identified by '444.test';


3).被監控端要安裝pt工具

[root@mysql-master-39~]# yum -y install perl-IO-Socket-SSL perl-DBI perl-DBD-MySQLperl-Time-HiRes  'perl(Time::HiRes)'


下載percona-toolkit:

[root@mysql-master-39~]# wget https://www.percona.com/downloads/percona-toolkit/2.2.6/RPM/percona-toolkit-2.2.6-1.noarch.rpm


[root@mysql-master-39~]# rpm -ivh percona-toolkit-2.2.6-1.noarch.rpm


4).將lepus安裝包里的client目錄里的lepus_slowquery.sh腳本拷貝到被監控端

[root@mysql-master-39~]# ls lepus_slowquery.sh

[root@mysql-master-39~]# chomd +x lepus_slowquery.sh

[root@mysql-master-39~]# which mysql

Lepus3.8-天兔mysql數據庫監控系統搭建

[root@mysql-master-39~]# which pt-query-digest

Lepus3.8-天兔mysql數據庫監控系統搭建

獲取數據庫id:

Lepus3.8-天兔mysql數據庫監控系統搭建

[root@mysql-master-39~]# vim lepus_slowquery.sh    標紅部分是需要修改的

#!/bin/bash

#****************************************************************#

#ScriptName:/usr/local/sbin/lepus_slowquery.sh

#Create Date:2014-03-25 10:01

#Modify Date:2014-03-25 10:01

#***************************************************************#

#configlepusdatabase server監控機

#設置監控端帳號信息

lepus_db_host="監控端ip"

lepus_db_port=3306

lepus_db_user="lepus_user"

lepus_db_password="333.test"

lepus_db_database="lepus"

 

#configmysqlserver被監控機

#設置mysql命令路徑和本地數據庫監控帳號信息

mysql_client="/usr/local/mysql/bin/mysql"

mysql_host="localhost"

mysql_port=3306

mysql_user="monitor"

mysql_password="444.test"

 

#configslowqury慢日志位置,從my.cnf配置文件中獲取

slowquery_dir="/data/logs/mysql/"

#設置慢查詢時間是多少就被收集

slowquery_long_time=1

slowquery_file=`$mysql_client-h$mysql_host-P$mysql_port -u$mysql_user -p$mysql_password -e "show variables like'slow_query_log_file'"|grep log|awk'{print $2}'`

#設置pt-query-digest路徑

pt_query_digest="/usr/bin/pt-query-digest"

#configserver_id被監控機id從lepus圖形界面看

lepus_server_id=274

 

最后注意vi編輯設置

:set ff?

顯示當前的格式,默認為dos,這時不能執行的

需要:

:set fileformat=unix

變更為unix后,腳本才可執行。

手動執行一次腳本,便可在網頁頁面看到數據:

Lepus3.8-天兔mysql數據庫監控系統搭建


5).將腳本拷貝到/usr/local/sbin/下,并添加計劃任務定時執行(建議時間間隔在一小時內)

[root@mysql-master-39~]# crontab -e

*/27 * * * * sh /usr/local/sbin/lepus_slowquery.sh > /dev/null 2>&1


6).配置郵箱

配置發件人:

點擊配置中心-全局設置,然后如圖,注意告警收件人需要在監控項設置里另外配置。


Lepus3.8-天兔mysql數據庫監控系統搭建


Lepus3.8-天兔mysql數據庫監控系統搭建


配置收件人:

Lepus3.8-天兔mysql數據庫監控系統搭建


Lepus3.8-天兔mysql數據庫監控系統搭建


注意:發件人和收件人都要寫全。

配置完成后在監控服務端的安裝目錄執行

[root@monitoring-45 lepus]# python test_send_mail.py

True

send_mail_status:success

報成功后就是配置完成了。


7).慢查詢自動推送

定時將系統收集到的慢查詢TOP數據定時推送給相應開發人員進行優化,無需在每臺數據庫上部署腳本。

MySQL慢查詢自動推送通過計劃任務完成。如果需要推送,則需要在監控機部署如下計劃任務。


#crontab -e

00 09 * * * links http://111.com/index.php/task/send_mysql_slowquery_mail > /dev/null 2>&1


計劃任務部署完成后,則會按照計劃任務配置的時間將慢查詢推送給對應人員。慢查詢推送的郵件人員需要在MySQL主機配置里面設置即可,郵箱留空則該數據庫主機不會發送慢查詢推送。

 


六、Lepus監控數據庫操作系統信息配置

Lepus使用的是snmp協議獲取系統信息

1). snmpd 服務安裝
[root@mysql-master-39~]# yum install -y net-snmp net-snmp-utils


2).修改配置文件允許指定的主機監聽自己

[root@mysql-master-39~]# vim /etc/snmp/snmpd.conf

:set nu


41行 將default改為監控服務器ip;將public改成lepus_monitor

(備注: lepus_monitor是在天兔配置文件里配置的通用實體,如果配置的實體是其他名稱,這里要做相應的修改)

com2secnotConfigUser  監控端ip      lepus_monitor


62行 將systemview 改為all,供所有snmp訪問權限

access  notConfigGroup ""      any      noauth    exact  all none none


85行 將#注釋符號去掉

view all    included .1                              80


3).修改snmpd 日志級別
snmpd 默認日志級別將會在/var/log/message 寫入大量snmp 信息,這樣會影響我們察看系統日志,所以我們需要更改下配置文件: 
注釋原有的OPTINOS,添加下面的一行,重啟snmpd 服務即可

[root@mysql-master-39~]# vim /etc/init.d/snmpd
#OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a" 
OPTIONS="-LS 4 d -p /var/run/snmpd.pid -a"


4).啟動 snmpd 服務
[root@mysql-master-39~]# /etc/init.d/snmpd start

 

5).驗證snmpd 服務
snmpd 使用tcp/udp161 端口


[root@mysql-master-39~]# grep 'Simple Net Mgmt Proto' /etc/services  
snmp        161/tcp            # Simple Net Mgmt Proto 
snmp        161/udp            # Simple Net Mgmt Proto

 

[root@mysql-master-39~]# lsof -i :161 

6).將SNMP服務設置開機啟動

注意設置防火墻,允許監控端連接被監控端的tcp/udp161端口


7).在監控端使用snmpwalk 命令驗證,在監控端上執行以下命令
snmpwalk -v 1 -c lepus_monitor  被監控端ip 
-v是指版本,-c 是指密鑰,獲取到系統信息則正常!


安裝完成后在lepus網頁配置中心-操作系統欄目配置操作系統信息,SNMP團體名填寫剛才的密鑰:lepus_monitor。

Lepus3.8-天兔mysql數據庫監控系統搭建

   Lepus3.8-天兔mysql數據庫監控系統搭建


稍等幾分鐘,或在服務端lepus安裝目錄執行python lepus.py 片刻看到數據

 




參考:

http://www.lepus.cc/post/65

http://suifu.blog.51cto.com/9167728/1770672

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女