网站:http://www.mtop.cc/
在线演示:http://www.mtop.cc/demo
MySQL MTOP是一个由Python+PHP开发的开源MySQL企业监控系统。系统由Python实现多进程数据采集和告警,PHP实现WEB展示和管理。MySQL服务器无需安装任何Agent,只需在监控WEB界面配置相关数据库信息,启动监控进程后,即可对上百台MySQL数据库的状态、连接数、QTS、TPS、数据库流量、复制、性能慢查询等进行时时监控。并能在数据库偏离设定的正常运行阀值(如连接异常,复制异常,复制延迟) 时发送告警邮件通知到DBA进行处理。并对历史数据归档,通过图表展示出数据库近期状态,以便DBA和开发人员能对遇到的问题进行分析和诊断。
MySQL MTOP主要功能特性如下:
1.实时 MySQL 可用性监视
数据库可用性监视和衡量让开发者和DBA们了解它们是否符合所承诺的服务水平。
2.实时 MySQL 状态监视和警报
MySQL MTOP 持续监视 MySQL 的基本状态和性能信息,包括数据库连接状态,启动时间,数据库版本,总连接数,活动进程,QPS,TPS,进出MySQL数据库的流量信息。在数据库状态异常或偏离正常基准水平时发出报警邮件通知。
3.实时 MySQL复制监视
MySQL MTOP自动发现您的 MySQL 复制拓扑结构,自动监视数据库的延时和binlog信息,让您可以了解所有 MySQL 主服务器和从服务器的性能、可用性和运行状况。并在问题(如从服务器延迟)导致停机前向管理员提供改正建议。
4.远程监视云中的 MySQL
适合于云和虚拟机的设计,使您能远程监视您的MySQL服务器不需要任何远程代理器。
5.直观管理所有 MySQL 服务器
MySQL MTOP提供一个基于 Web 的界面,可令您全面深入地了解数据库性能、可用性、关键活动等;直观地查看一台服务器、自定义的应用组或所有服务器。一组丰富的实时图形和历史图形将帮助您深入了解详细的服务器统计信息。
6.可视化MySQL慢查询分析
监视实时查询性能,查看执行统计信息,筛选和定位导致性能下降的 SQL 代码。结合使用 Information Schema 可直接从 MySQL 服务器收集数据,无需额外的软件或配置。
7.性能监视
监视影响 MySQL 性能的主要指标。如查询缓存命中率,Key_buffer_read_hits,Key_buffer_write_hits,Thread_cache_hits,Key_blocks_used_rate,Created_tmp_disk_tables_rate等信息,根据相关性能指标可以对服务器核心参数进行调整优化。
安装部署
一、部署LAMP或者LNMP
二、安装python2.7
1、下载
可从 http://www.python.org/进行下载
#wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz2
2、解压
#tar jxvf Python-2.7.2.tar.bz2
3.安装:
#cd Python-2.7.2
#./configure --prefix=/usr/local/Python2.7 --enable-shared
#make
#make install
当出现 libpython2.7.so.1.0的错误时:
# ./python
./python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
# /usr/local/Python2.7/bin/python2.7
/usr/local/Python2.7/bin/python2.7: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
libpython2.7.so.1.0的错误时的 解决办法:
#vi /etc/ld.so.conf 添加/usr/local/Python2.7/lib
#/sbin/ldconfig
#/sbin/ldconfig -v
4.使用新安装的python:
#mv /usr/bin/python /usr/bin/python_old
#ln -s /usr/local/Python2.7/bin/python2.7 /usr/bin/python
# python
Python 2.7.2 (default, Dec 29 2013, 13:29:56)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
三、安装 MySQLdb for python
#wget http://www.mtop.cc/software/MySQLdb-python.zip
# unzip MySQLdb-python.zip
# cd MySQLdb1-master/
# which mysql_config
/usr/local/mysql/bin/mysql_config
# vim site.cfg 修改如下:
mysql_config = /usr/local/mysql/bin/mysql_config
# python setup.py build
# python setup.py install
常见错误解决:
1).如果编译python出现如下问题
/usr/bin/ld: cannot find -lpython2.7
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
请按如下步骤处理:
A.检查并安装python-devel包
# yum -y install python-devel
B.将libpython2.7.so库文件建立软连接到/usr/lib下
32位服务器下执行
# ln -s /usr/local/Python2.7/lib/libpython2.7.so /usr/lib/libpython2.7.so
64位服务器下执行
# ln -s /usr/local/Python2.7/lib/libpython2.7.so /usr/lib64/libpython2.7.so
C.检查下/etc/ld.so.conf是否包含/usr/local/Python2.7/lib
#vi /etc/ld.so.conf 添加/usr/local/Python2.7/lib
#/sbin/ldconfig
2).如果python升级到2.7以后出现yum无法使用的情况,错误为No module named yum,请按照如下步骤处理,将yum使用的python版本改为旧版本:
打开yum执行文件
# vim /usr/bin/yum
将第一行 #!/usr/bin/python 修改为备份的原python版本即可,如下:
#!/usr/bin/python_old
四、安装MySQLMTOP
注:在安装MySQLMTOP系统之前,请先根据手册内容安装LAMP和Python运行环境。
1.创建监控机数据库并授权
1.1 监控机创建监控数据库,并授予权限,导入SQL文件
mysql> create database mysqlmtop default character set utf8;
mysql> grant select,insert,update,delete,create on mysqlmtop.* to 'mtop_user'@'localhost' identified by 'password';
mysql> flush privileges;
导入SQL文件夹里的SQL文件(表结构和数据文件)
#mysql -uroot -p mysqlmtop < mysqlmtop.sql
#mysql -uroot -p mysqlmtop < mysqlmtop_data.sql
1.2 对被监控的数据库进行授权
备注:在python采集数据的过程中,需要连接到需要监控的数据库服务器采集数据,我们为了安全考虑,在WEB管理里面只要求录入主机和端口,没有录入账号和密码。所有需要监控的数据库请授予相同的用户密码记录在配置文件中。授权如下所示:
grant select,super,process on *.* to 'monitor'@'ip' identified by 'monitor';
2.安装数据采集和报警系统
2.1下载软件安装包并解压,通过FTP或SSH传输工具将目录mysqlmtop上传至服务器/usr/local/下面
2.2修改监控系统配置文件
# cd /usr/local/mysqlmtop/
# vim etc/config.ini
###监控机MySQL数据库连接地址###
[monitor_server]
host="localhost"
port=3306
user="mtop_user"
passwd="password"
dbname="mysqlmtop"
###被监控MySQL数据库的用户密码###
[mysql_db]
username="monitor"
password="monitor"
###邮件报警服务器地址###
[mail_server]
mail_host="smtp.126.com"
mail_user="alarm@126.com"
mail_pass="password"
mail_postfix="126.com"
###Linux系统资源监控###
[linux_server]
server_ip=""
2.3授予可执行文件执行权限
# chmod a+x *.py
# chmod a+x *.sh
# chmod a+x mtopctl
# ln -s /usr/local/mysqlmtop/mtopctl /usr/local/bin/
2.4 测试MySQL连接(可选)
提示MySQLDB OK即为正常状态。
# ./test_mysql.py
MySQLDB OK!
2.5启动监控系统(注意:只有监控进程运行时系统才会进行监控和报警)
# mtopctl start
2.6.使用--help查看监控系统进程管理参数
[root@mysqlmtop]# mtopctl --help
mysql mtop help:
support-site:www.mtop.cc www.ruzuojun.com
====================================================
start Start mysql mtop monitor server; Command: #mtopctl start
stop Stop mysql mtop monitor server; Command: #mtopctl stop
status Check mysql mtop monitor run status; Command: #mtopctl status
3..安装WEB管理界面
3.1通过FTP或SSH传输工具将frontweb下的所有文件上传至服务器WEB服务器根目录。
3.2打开application\config\database.php文件,修改PHP连接监控服务器的数据库信息
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'mtop_user';
$db['default']['password'] = 'password';
$db['default']['database'] = 'mysqlmtop';
$db['default']['dbdriver'] = 'mysql';
3.3通过浏览器输入IP地址或域名,例如http://localhost打开监控界面,即可登录系统.
默认管理员账号密码admin/admin 登录后请修改密码,增加普通账号
常见错误解决:
1、
[root@ mysqlmtop]# ./test_mysql.py
Traceback (most recent call last):
File "./test_mysql.py", line 6, in
import MySQLdb
File "/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.4-py2.7-linux-x86_64.egg/MySQLdb/__init__.py", line
19, in
import _mysql
ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory
解决办法
[root@ mysqlmtop]# find / -name libmysqlclient.so.18
/usr/local/mysql/lib/libmysqlclient.so.18
[root@ mysqlmtop]# vi /etc/ld.so.conf
末行添加/usr/local/mysql/lib
[root@ mysqlmtop]# ldconfig
[root@ mysqlmtop]# ldconfig -v | grep libmysqlclient
2、LNMP环境下登陆web提示404解决办法
1.Nginx增加rewrite规则:
location / {
try_files $uri $uri/ /index.php;
}
2、修改配置
修改frontweb/application/config/config.php
$config['uri_protocol'] = 'REQUEST_URI';
3、web访问慢加载google字体样式解决办法
360网站卫士最新服务:前端公共库、Google公共库以及Google字体库
地址:http://libs.useso.com
grep fonts.googleapis.com -rl /usr/local/webmtop
sed -i "s/fonts.googleapis.com/fonts.useso.com/g" file