大多网站的性能瓶颈都会出在数据库上,所以想把Mysql监控起来,就搜索了下相关资料。
后来和同事讨论了下cacti和nagios有些老套和过时,graphite比较时尚,然后就搜了下相关的资料,最后搞出来了,效果如下
可以实时查看mysql打开的table数,文件数,正在执行,已经创建,已经连接的线程数,锁,查询缓存,表扫描相关的计数器,以及已经完成的select,insert, delete, update的sql数等,总之Mysql的各种状态一览无余。
具体各个指标的意思参考如下链接:
http://lxneng.iteye.com/blog/451985
如果已经部署了graphite,再找一个收集mysql状态的agent就行了,如下。
https://github.com/serialx/mysql-statsd
安装运行很简单
# 下载 git clone https://github.com/serialx/mysql-statsd.git cd mysql-statsd # 安装依赖 pip install -rrequirements.txt pip install twisted # 配置mysql连接字符串,statsd收集器地址 vi config/example.ini # 运行 python mysql-statsd.py --config config/example.ini
percona的这篇文章也不错,黑了cacti和nagios,并解释额为啥graphite+statsd比较时尚。
MYSQL PERFORMANCE MONITORING USING STATSD AND GRAPHITE
时间: 2024-10-18 00:39:57