1、環境說明php
1、服務器角色前端
服務器角色python |
172.18.35.29mysql |
10.160.22.14 (MySQL Master)git |
10.160.22.47 (MySQL Slave)github |
監控點web |
YESsql |
NO數據庫 |
NOvim |
被監控點 |
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/
=========================================================================================
2、LAMP環境部署
略
=========================================================================================
3、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
=========================================================================================
4、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;"
4、mysqlmtop配置
# cp -a mysqlmtop /usr/local/
# cp -a frontweb /data/web/data/
# cd /usr/local/mysqlmtop/
# vim etc/config.ini
# 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
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
# 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、監控項設置
點擊管理中心 --> 應用管理 添加應用
點擊管理中心 --> 服務器管理 添加 MySQL 服務器
=========================================================================================
5、效果展現
=========================================================================================
6、後續跟進的事情
1、在原有的基礎,增長一些新功能;
2、是否能夠將 Cacti + percona-monitoring-plugins 與其進行整合。