• 使用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 与其进行整合。

  • 相关阅读:
    四、django rest_framework源码之频率控制剖析
    Ubuntu14.04配置记录
    尝试开始写博客
    用IDEA把SpringBoot项目打成jar发布项目
    IDEA创建springboot项目部署到远程Docker
    springboot 快速部署
    最详细的 Spring Boot 多模块开发与排坑指南
    SpringMVC的工作原理
    Dubbo最详解
    Zookeeper入门看这篇就够了
  • 原文地址:https://www.cnblogs.com/andashu/p/6406326.html
Copyright © 2020-2023  润新知