溫馨提示×

溫馨提示×

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

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

Lepus慢日志平臺搭建與維護(hù)的方法是什么

發(fā)布時間:2021-11-10 11:45:59 來源:億速云 閱讀:112 作者:iii 欄目:MySQL數(shù)據(jù)庫

本篇內(nèi)容介紹了“Lepus慢日志平臺搭建與維護(hù)的方法是什么”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

一、安裝LAMP基礎(chǔ)環(huán)境

配置LAMP基礎(chǔ)環(huán)境的方式有很多種,最簡單的方式有yum安裝、RPM包安裝等方式。您也可以手動編譯安裝相關(guān)軟件。此項(xiàng)配置網(wǎng)絡(luò)文章比較多,不做詳細(xì)介紹,您也可以參考我博客的教程進(jìn)行安裝。地址為:http://www.ruzuojun.com/topic/1203.html

二、安裝Python2.7基礎(chǔ)環(huán)境

1)安裝Python2.7

Lepus需要Python2.7支持(目前編譯平臺為2.7.2,建議您安裝 python2.7.2,本安裝文檔中包含下載地址)。

您可以直接輸入python命令來查詢當(dāng)前python版本:

# python

Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>>

如果您的系統(tǒng)Python不符合要求,請參考如下示例文章進(jìn)行安裝

1、下載

# wget http://www.mtop.cc/software/Python-2.7.2.tar.bz2

2、解壓

#tar jxvf Python-2.7.2.tar.bz2

3.安裝:

#cd Python-2.7.2

#./configure --prefix=/usr/local/Python2.7 --enable-shared

#make

#make install

通過以下方式將lib庫加入到系統(tǒng)中,否則會報如下錯誤:error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

#vi /etc/ld.so.conf 添加/usr/local/Python2.7/lib

#/sbin/ldconfig

#/sbin/ldconfig -v

4.使用新安裝的python:

#mv /usr/bin/python /usr/bin/python_old

#ln -s /usr/local/Python2.7/bin/python2.7 /usr/bin/python

# python

Python 2.7.2 (default, Dec 29 2013, 13:29:56)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>>

如果python升級到2.7以后出現(xiàn)yum無法使用的情況,錯誤為No module named yum,請按照如下步驟處理,將yum使用的python版本改為舊版本:

打開yum執(zhí)行文件

# vim /usr/bin/yum

將第一行 #!/usr/bin/python 修改為備份的原python版本即可,如下:

#!/usr/bin/python_old

2)安裝 MySQLdb for python

MySQLdb為Python連接和操作MySQL的類庫,如果您準(zhǔn)備使用lepus系統(tǒng)監(jiān)控MySQL數(shù)據(jù)庫,那么該模塊必須安裝。

安裝步驟如下:

#wget http://www.mtop.cc/software/MySQLdb-python.zip

# unzip MySQLdb-python.zip

# cd MySQLdb1-master/

# which mysql_config

/usr/local/mysql/bin/mysql_config

# vim site.cfg 修改如下:

mysql_config = /usr/local/mysql/bin/mysql_config

# python setup.py build

# python setup.py install

常見錯誤解決:

1).如果編譯python出現(xiàn)如下問題

/usr/bin/ld: cannot find -lpython2.7

collect2: ld returned 1 exit status

error: command 'gcc' failed with exit status 1

請按如下步驟處理:

A.檢查并安裝python-devel包

# yum -y install python-devel

B.將libpython2.7.so庫文件建立軟連接到/usr/lib下

32位服務(wù)器下執(zhí)行

# ln -s /usr/local/Python2.7/lib/libpython2.7.so /usr/lib/libpython2.7.so  

64位服務(wù)器下執(zhí)行

# 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

#vi /etc/ld.so.conf 添加/usr/local/Python2.7/lib

#/sbin/ldconfig

3)安裝Pymongo for python

pymongo為Python連接和操作MongoDB的類庫,如果您準(zhǔn)備使用lepus系統(tǒng)監(jiān)控MongoDBs數(shù)據(jù)庫,那么該模塊必須安裝。

安裝步驟如下:

下載pymongo https://pypi.python.org/packages/source/p/pymongo/

# wget www.mtop.cc/software/pymongo-2.7.tar.gz

# tar zxvf pymongo-2.7.tar.gz

# cd pymongo-2.7

# python setup.py install

三、安裝Lepus監(jiān)控系統(tǒng)

注:在安裝Lepus系統(tǒng)之前,請先根據(jù)前面兩節(jié)內(nèi)容安裝LAMP和Python運(yùn)行環(huán)境。

1)上傳軟件包到監(jiān)控機(jī)服務(wù)器并解壓縮軟件到您的系統(tǒng)

# tar zxvf lepus_v3.0.tar.gz

2).在監(jiān)控機(jī)創(chuàng)建監(jiān)控數(shù)據(jù)庫,并授權(quán)。

mysql> create database lepus charset utf8 collate utf8_general_ci;

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

mysql> flush privileges;

導(dǎo)入SQL文件夾里的SQL文件(表結(jié)構(gòu)和數(shù)據(jù)文件)

# cd lepus_v3.0

# mysql -uroot –p  lepus < sql/lepus.sql

# mysql -uroot –p  lepus < sql/lepus_data.sql

4)安裝Lpeus程序

進(jìn)入到軟件包的python文件夾

# cd python/

授予install.sh可執(zhí)行權(quán)限

# chmod +x install.sh

執(zhí)行安裝

# ./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.

5) 修改配置文件

備注:在python采集數(shù)據(jù)的過程中,需要連接到需要監(jiān)控的數(shù)據(jù)庫服務(wù)器采集數(shù)據(jù),我們?yōu)榱税踩紤],在WEB管理里面只要求錄入主機(jī)和端口,沒有錄入賬號和密碼。所有需要監(jiān)控的數(shù)據(jù)庫請授予相同的用戶密碼記錄在配置文件中。系統(tǒng)通過SNMP協(xié)議采集. SNMP需要的community也請授予相同的寫在配置文件中。具體示例如下所示,我們暫定給所有被監(jiān)控數(shù)據(jù)庫添加一個monitor用戶:

進(jìn)入到安裝目錄,默認(rèn)為/usr/local/lepus

# cd /usr/local/lepus/

# vim etc/config.ini

###監(jiān)控機(jī)MySQL數(shù)據(jù)庫連接地址###

[monitor_server]

host="127.0.0.1"

port=3306

user=" lepus_user "

passwd="password"

dbname="lepus"

###被監(jiān)控數(shù)據(jù)庫的用戶密碼###

[mysql_db]

username="monitor"

password="monitor"

[mongodb_db]

username="monitor"

password="monitor"

[oracle_db]

username=""

password=""

[snmp]

community="lepus"

6)測試驅(qū)動(可選)

執(zhí)行以下命令可以測試MySQLdb是否安裝成功,以及監(jiān)控機(jī)MySQL連接是否正常。

# python test_mysql.pyc  

The MySQLDB is OK

7) 在所有需要被監(jiān)控的數(shù)據(jù)庫授權(quán)

在需要被監(jiān)控的數(shù)據(jù)庫里(被監(jiān)控機(jī))添加允許監(jiān)控機(jī)訪問的帳戶,并授權(quán)。授權(quán)帳戶即為上面配置文件中指定的monitor用戶。

授權(quán)如下所示:

grant select,super,process on *.* to 'monitor'@'ip' identified by 'monitor';

MongoDB被監(jiān)控機(jī)授權(quán)(還未找到合適的權(quán)限,目前暫時用管理權(quán)限)

> use admin

> db.addUser('monitor','monitor');

7)啟動監(jiān)控系統(tǒng)

執(zhí)行以下命令啟動系統(tǒng)采集進(jìn)程

# lepus start

nohup: appending output to `nohup.out'

lepus monitor start success!

執(zhí)行以下命令關(guān)閉系統(tǒng)采集進(jìn)程

# lepus stop

lepus processes id 28937 been stop

lepus processes id 28938 been stop

lepus processes id 28957 been stop

lepus processes id 28973 been stop

lepus processes id 28984 been stop

lepus processes id 28995 been stop

lepus processes id 29003 been stop

lepus processes id 29019 been stop

lepus processes id 29174 been stop

執(zhí)行以下命令監(jiān)控系統(tǒng)是否正常運(yùn)行

# lepus status

lepus server is running...

8)將lepus_monitor腳本部署為計劃任務(wù),該腳本可以監(jiān)控您的Lepus是否正在運(yùn)行。

打開文件/usr/local/lepus/lepus_monitor修改里面連接監(jiān)控機(jī)的數(shù)據(jù)庫連接地址,然后將該腳本部署為計劃任務(wù)。

# crontab  -l

*/1 * * * * /usr/local/lepus/lepus_monitor >> /tmp/lepus_monitor.log

9)部署WEB界面

復(fù)制PHP文件夾里的文件到Apache對應(yīng)的網(wǎng)站虛擬目錄

# cd lepus_v3.0

# cp -rf php/* /home/wwwroot/lepus/

打開application\config\database.php文件,修改PHP連接監(jiān)控服務(wù)器的數(shù)據(jù)庫信息

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

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

$db['default']['password'] = 'password';

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

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

通過瀏覽器輸入IP地址或域名打開監(jiān)控界面,即可登錄系統(tǒng)。.默認(rèn)管理員賬號密碼admin/Lepusadmin登錄后請修改管理員密碼,增加普通賬號。進(jìn)入系統(tǒng)后,您就可以添加應(yīng)用和主機(jī),開啟您的數(shù)據(jù)庫監(jiān)控之旅了。

四、安裝percona-toolkit工具

1)安裝percona-toolkit

#yum install -y per-IO-Socket-SSL

#yum install -y per-DBI

#yum install -y per-DBD-MySQL

#tar zxvf percona-toolkit-3.0.10.tar.gz

#cd percona-toolkit-3.0.10

#perl Makefile.PL 

#make

#make install

2)編輯文件修改配置,需要指定Lepus監(jiān)控機(jī)數(shù)據(jù)庫的地址,本地MySQL地址,以及存儲緩慢查詢的路徑和慢查詢的時間。

[root@oneproxy mysql]# cat 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
#***************************************************************#
#config lepus database server
lepus_db_host="192.168.8.63"
lepus_db_port=3306
lepus_db_user="lepus_user"
lepus_db_password="mysql"
lepus_db_database="lepus"
#config mysql server
mysql_client="/usr/local/mysql/bin/mysql"
mysql_host="192.168.8.63"
mysql_port=3306
mysql_user="root"
mysql_password="mysql"
#config slowqury
slowquery_dir="/mysql/data/"
slowquery_long_time=0.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="/usr/local/bin/pt-query-digest"
#config server_id
lepus_server_id=63
#collect mysql slowquery log into lepus database
$pt_query_digest --user=$lepus_db_user --password=$lepus_db_password --port=$lepus_db_port --review h=$lepus_db_host,D=$lepus_db_database,t=mysql_slow_query_review  --history h=$lepus_db_host,D=$lepus_db_database,t=mysql_slow_query_review_history  --no-report --limit=100%  $slowquery_file >/tmp/lepus_slowquery.log
##### set a new slow query log ###########
tmp_log=`$mysql_client -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -e "select concat('$slowquery_dir','slowquery_',date_format(now(),'%Y%m%d%H'),'.log');"|grep log|sed -n -e '2p'`
#config mysql slowquery
$mysql_client -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -e "set global slow_query_log=1;set global long_query_time=$slowquery_long_time;"
$mysql_client -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -e "set global slow_query_log_file = '$tmp_log'; "
#delete log before 7 days
cd $slowquery_dir
/usr/bin/find ./ -name 'slowquery_*' -mtime +7|xargs rm -rf ;
####END####

3)設(shè)置定時任務(wù)

*/3 * * * * /usr/local/lepus/client/mysql/lepus_slowquery.sh > /dev/null 2>&1

4)慢日志監(jiān)控如下:Lepus慢日志平臺搭建與維護(hù)的方法是什么

“Lepus慢日志平臺搭建與維護(hù)的方法是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI