一、环境说明

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

# 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 服务器

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

五、效果展示

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

六、后续跟进的事情

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

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

使用MySQLMTOP监控MySQL性能(一)的更多相关文章

  1. 使用MySQLMTOP监控MySQL性能(二)

    一.服务器角色 服务器角色 172.18.35.29 10.160.22.14 (MySQL Master) 10.160.22.47 (MySQL Slave) 监控点 YES NO NO 被监控点 ...

  2. 使用MySQLMTOP监控MySQL性能

    一.服务器角色 服务器角色 172.18.35.29 10.160.22.14 (MySQL Master) 10.160.22.47 (MySQL Slave) 监控点 YES NO NO 被监控点 ...

  3. 分布式数据存储 - Zabbix监控MySQL性能

    Zabbix如何监控mysql性能,我们可以使用mysql自带的模板,可以监控如下内容:OPS(增删改查).mysql请求流量带宽,mysql响应流量带宽,最后会附上相应的监控图! 编写check_m ...

  4. zabbix监控mysql性能

    使用zabbix监控mysql的三种方式 1.只是安装agent 2.启用模板监控 3.启用自定义脚本的模板监控 zabbix中默认有mysql的监控模板.默认已经在zabbix2.2及以上的版本中. ...

  5. mytop安装,使用mytop监控MySQL性能

    本文主要描述mytop安装,安装过程中可能出现的报错,以及使用mytop监控MySQL性能. 欢迎转载,请注明作者.出处. 作者:张正 blog:http://space.itpub.net/2635 ...

  6. spotlight监控mysql性能

    spotlight可以监控mysql性能,同监控linux一样配置 目录 1.安装spotlight 2.参数认识 1.安装spotlight spotlight不仅仅只是监控mysql,还可以完成数 ...

  7. LR如何利用siteScope监控MySQL性能

    本次实验,是在自己的电脑上使用APMServ5.2.6部署Discuz2.X论坛下,对该论坛的数据库MySQL5.1进行性能测试的,下面讲述LoadRunner在设计场景时,如何利用siteScope ...

  8. Grafana+Prometheus监控mysql性能

    #cmd /usr/local 今天讲一下如何监控服务器中的mysql数据库的性能 一.数据库操作 1.mysql启动 #service mysqld start #启动数据库 #service my ...

  9. ZABBIX 3.0 配置监控MYSQL性能【OK】

    Zabbix3.0自带了MySQL插件来监控mysql数据库的模板,只需要配置好agent客户端,然后在web端给主机增加模板就行了. 参考:http://www.cnblogs.com/keving ...

随机推荐

  1. 15款很棒的 JavaScript 开发工具

    在开发中,借助得力的工具可以事半功倍.今天,我爱互联网向大家分享最新收集的15款非常有用的 javascript 开发工具. TestSwarm: Continious & Distribut ...

  2. USB2.0学习笔记连载(三):通用USB驱动程序解析

    对于USB驱动的开发,读者可以使用Windows DDK.DriverStudio等多种开发工具来实现USB的驱动,但是驱动程序的开发过程都比较复杂,而且很容易致使USB主机内存泄露而死机.那么对于笔 ...

  3. 【转】【Android】Android不同版本下Notification创建方法

    使用 new Notification(int icon, CharSequence tickerText, long when)构造函数时,Eclipse却提示:" The constru ...

  4. e640. 使一个组件可拖动

    This example demonstrates the code needed to make a component draggable. The object being transferre ...

  5. 用cxf生成webservice的java客户端代码

    百度来的: 最近,由于要用到某公司提供的webservice实现的api接口,想到了用cxf的wsdl2java工具来生成客户端程序.(自己写是比较麻烦且费时,so偷懒一下..) 使用步骤如下: 一. ...

  6. 格局中@null的代码实现方式

    布局中通常会用到@null.如RadioButton常用的技巧通过RadioGroup实现Tab,需要设置android:button="@null".如果要在代码中动态创建控件, ...

  7. C# 使用SkinSharp皮肤库

    SkinSharp是Windows环境下一款强大的通用换肤库. SkinSharp作为通用换肤库,只需要在您的程序中添加一行代码,就能让您的界面焕然一新,并拥有多种主题风格和色调的动态切换功能以及Ae ...

  8. Js注释和对象

    1.注释 单行: //注释内容 console.log('加油~');//在控制台输出一条信息: 多行: /*注释内容*/: 2.对象 1)对象是一个复合值,是根据某种引用类型创建出来的实例. 2)常 ...

  9. 【python】多进程多线程

    import threading import multiprocessing class MultiThread(threading.Thread): def __init__(self,func, ...

  10. 手机web不同屏幕字体大小高度自适应

    body{font-size:0.6rem:} <script> //使用rem策略,不断更新html的fontsize (function(){     function sizeHtm ...