使用MySQLMTOP監控MySQL性能(一)


一、環境說明

1、服務器角色

服務器角色

172.18.35.29

10.160.22.14 (MySQL Master)

10.160.22.47 (MySQL Slave)

監控點

YES

NO

NO

被監控點

NO

YES

YES

 

2、系統環境

CentOS 6.2 x86_64

 

3、環境要求

(1)MySQL 5.0 及以上       (用來存儲監控系統采集的數據)

(2)Apache 2.2 及以上        WEB 服務器運行服務器)

(3)PHP 5.3 以上 WEB 界面)

(4)Python 2                       (推薦 2.7 版本,其他版本未做測試,執行數據采集和報警任務)

(5)MySQLdb for python     Python 連接 MySQL 的接口)

 

4、環境說明

本次的監控系統采用開源項目(MySQLMTOP),更多相關信息可以參考:http://www.mtop.cc/

 

=========================================================================================

二、LAMP環境部署

 

=========================================================================================

三、Python基礎環境部署

https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz

# tar xvzf Python-2.7.6.tgz

# cd Python-2.7.6

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

# make && make install

 

# echo '/usr/local/python2.7/lib' >> /etc/ld.so.conf

# /sbin/ldconfig

 

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

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

 

為避免 python 版本過高,導致 yum 不可以,需做如下修改:

# vim /usr/bin/yum

由  #!/usr/bin/python  修改為  #!/usr/bin/python_old

 

-----------------------------------------------------------------------------------------------------------------------------------------------

http://pypi.python.org/packages/source/d/distribute/distribute-0.6.28.tar.gz

# tar xvzf distribute-0.6.28.tar.gz

# cd distribute-0.6.28

# python setup.py install

 

-----------------------------------------------------------------------------------------------------------------------------------------------

https://github.com/farcepest/MySQLdb1/archive/MySQLdb-1.2.5.tar.gz

# tar xvzf MySQLdb1-MySQLdb-1.2.5.tar.gz

# cd MySQLdb1-MySQLdb-1.2.5

 

# vim site.cfg

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

……

 

# python setup.py build

# python setup.py install

 

=========================================================================================

四、mysqlmtop環境部署

1、創建監控機數據庫並授權

# mysql -uroot -e "create database mysqlmtop default character set utf8;"

# mysql -uroot -e "grant all privileges on mysqlmtop.* to 'mtop_user'@'%' identified by '123456';"

# mysql -uroot -e "flush privileges;"

 

2、導入SQL文件夾里的SQL文件(表結構和數據文件)

# unzip mysqlmtop_v2.1.zip

# cd mysqlmtop_v2.1

# mysql -uroot mysqlmtop < sql/mysqlmtop.sql

# mysql -uroot mysqlmtop < sql/mysqlmtop_data.sql

 

3、在被監控機上創建授權賬號

# mysql -uroot -e "grant select,super,process on *.* to 'monitor'@'172.18.35.29' identified by 'monitor';"

# mysql -uroot -e "flush privileges;"

 

4mysqlmtop配置

# cp -a mysqlmtop /usr/local/

# cp -a frontweb /data/web/data/

 

# cd /usr/local/mysqlmtop/

# vim etc/config.ini

wKiom1Mv1vST314lAAG1CcNGZeg700.jpg

 

# chmod +x *.py *.sh mtopctl

# ln -s /usr/local/mysqlmtop/mtopctl /usr/local/bin

( 注意:需要使用dos2unix命令進行格式轉換,否則會運行失敗 )

 

5、測試MySQL連接是否正常

# cd /usr/local/mysqlmtop && ./test_mysql.py

MySQLDB OK!

 

6、啟動監控系統

# mtopctl start

wKioL1Mv1tzz-HwGAACRdhmC5D4634.jpg

 

7、前端WEB展示層配置

# cd /data/web/data/frontweb/

# chown -R nobody:nogroup /data/web/data/frontweb

# chmod -R 750 /data/web/data/frontweb

 

# vim application/config/database.php

wKiom1Mv1xjTGFlxAAI5nqaPTCU047.jpg

 

# vim /data/web/conf/mysqlmtop.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
< VirtualHost *:80>
DocumentRoot /data/web/data/frontweb
ServerName mysqlmtop.test.com
DirectoryIndex index.php
AddDefaultCharset UTF-8
 
< LocationMatch "/data/web/.*\.php$">
Order Deny,Allow
Deny from All
</ LocationMatch >
 
< Directory />
AllowOverride ALL
</ Directory >
</ VirtualHost >

 

# service httpd graceful

 

然后本地hosts綁定(172.18.35.29  mysqlmtop.test.com

通過 http://mysqlmtop.test.com  即可訪問(初始授權賬號:admin  admin)

 

8、監控項設置

點擊管理中心 --> 應用管理 添加應用

wKioL1Mv1wigRVNXAAISlVlAZek045.jpg

 

點擊管理中心 --> 服務器管理 添加 MySQL 服務器

wKiom1Mv1z7CvQ31AANSF6eaqzc356.jpg

 

=========================================================================================

五、效果展示

wKioL1Mv1yORlFCiAAMp5M2Rcc0275.jpg

 

wKioL1Mv1yyA2wTFAAOAopVpBK4974.jpg

 

=========================================================================================

六、后續跟進的事情

1、在原有的基礎,增加一些新功能;

2、是否可以將 Cacti + percona-monitoring-plugins 與其進行整合。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM