- 介绍一些常见的Mysql监控工具。
Cacti
Cacti是 一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结 构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善,界面友好。
MysqlReport
MysqlReport 实际上只是一个Perl脚本,不过监控数据非常直观:
各监控指标,官网有详细说明。
- Cacti监控上的Mysql数据就是参考它,搭建Apache+perl环境即可访问。缺点是只能进行时时监控,无图表和历史数据功能。
phpMyAdmin
phpMyAdmin与
其说是Mysql的监控工具,不如说是Mysql的管理工具。相比一些Mysql客户端的GUI管理工具(如“MySQL
Administrator”),phpMyAdmin是Web模式的。phpMyAdmin
是以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的资料库管理工具。phpMyAdmin的管理页面中包含了一个“状态”页面,列出了Mysql的详细状态信息,官网上有对应指标的详细说明。
MySQL Administartor
- MySQL官方管理工具;
有简单的监控功能。
zabbix
zabbix是一个CS结构的监控系统,server端侦听在10051端口,agent侦听在10050端口。用户界面使用php开发的Web程序,数据存储在MySQL数据库中。
- zabbix使用了客户端监控模式,与金山Cacti相似,zabbix也支持net-snmp的监控。
zabbix功能繁多,未进行详细研究。附上一张用zabbix监控CPU负载的监控图:
MONyog
MONyog是一套客户端主动收集Mysql运行数据的服务程序。
起初关注MONyog是因为它发现了一个项目上的问题:创建连接数过多。
它默认监控的connections是指创建连接数的总量,而通常情况下我们只关注即时连接数。对于频繁创建和关闭连接的应该程序,关注总量则一眼可以看出问题。
监控图预览:- 非常遗憾的是!MONyog是收费软件,从试用版的情况来看,没有找到定制功能。
mytop
- 类似Linux系统的top命令,专门监控Mysql的运行状态
-
监控命令:
1 mytop --host=10.20.192.109 --dbuser=root --password=123456
运行结果:
1 MySQL on 10.20.192.109 (5.0.81) up 0+00:15:03 [11:51:51]
2 Queries: 35.0 qps: 0 Slow: 0.0 Se/In/Up/De(%): 00/00/00/00 qps now: 0 Slow qps: 0.0 Threads: 52
3 Key Efficiency: 96.4% Bps in/out: 0.9/114.1 Now in/out: 8.4/ 1.2k
4 Id User Host/IP DB Time Cmd Query or State
5 -- ---- ------- -- ---- --- ----------
6 67 root vmvistcn261sp1u 0 Query show full processlist
7 6 root vmxpcn270sp2 36 Sleep
8 ……
mtop
- 类似Linux系统的top命令,专门监控Mysql的运行状态
-
监控命令:
1 mtop --host=10.20.192.109 --dbuser=root --password=123456
运行结果:
1 10.20.192.109 mysqld 5.0.81 up 0 day(s), 0:05 hrs
2 52 threads: 1 running, 0 cached. Queries/slow: 5/0 Cache Hit: 100.00%
3 Opened tables: 0 RRN: 459 TLW: 0 SFJ: 0 SMP: 0 QPS: 0
4 ID USER HOST DB TIME COMMAND STATE INFO
5 28 root 10.20.212.39:522 Query show full processlist
6 ……
sysbench
mysqlslap