原始出处 、作者信息和本声明。否则将追究法律责任。http://sofar.blog.51cto.com/353572/1381563

一、环境说明

1、服务器角色

服务器角色172.18.35.2910.160.22.14 (MySQL Master)10.160.22.47 (MySQL Slave)
监控点YESNONO
被监控点NOYESYES

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

使用MySQLMTOP监控MySQL性能_监控MySQL性能


# chmod +x *.py *.sh mtopctl

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

注意:需要使用dos2unix命令对*.py、*.sh、mtopctl文件进行格式转换,否则会运行失败 )


5、测试MySQL连接是否正常

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

MySQLDB OK!


6、启动监控系统

# mtopctl start

使用MySQLMTOP监控MySQL性能_监控MySQL性能_02


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

使用MySQLMTOP监控MySQL性能_监控MySQL性能_03


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

<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、监控项设置

点击管理中心 --> 应用管理 添加应用

使用MySQLMTOP监控MySQL性能_监控MySQL性能_04


点击管理中心 --> 服务器管理 添加 MySQL 服务器

使用MySQLMTOP监控MySQL性能_监控MySQL性能_05


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

五、效果展示

使用MySQLMTOP监控MySQL性能_监控MySQL性能_06


使用MySQLMTOP监控MySQL性能_监控MySQL性能_07


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

六、后续跟进的事情

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

2、是否可以将 Cacti + percona-monitoring-plugins 与其进行整合。