七叶笔记 » golang编程 » 实时监控mysql—首推dodba工具

实时监控mysql—首推dodba工具

概述

操作系统及MySQL数据库的实时性能状态数据尤为重要,特别是在有性能抖动的时候,这些实时的性能数据可以快速帮助你定位系统或MySQL数据库的性能瓶颈,那么有哪些重要的实时性能状态指标可以反应出系统和MySQL数据库的性能负载呢?


doDBA tools是什么?

doDBA tools是一个基于控制台的远程监控工具,它不需要在本地/远程系统上安装任何软件,它可以实时收集操作系统、 MySQL 、InnoDB的实时性能状态数据,并可以生成Doing日志文件,来帮助你快速了解/优化系统及 mysql 数据库。

特点:

  • golang 语言开发。
  • 可收集 Linux 、MySQL相关性能数据。
  • 可本地或 远程 收集,可多台。
  • 提供类似Linux top的mytop的功能。
  • 基于并发生成 Doing日志 ,还原现场。
  • 可记录到日志文件

doDBA tools 工作原理

远程收集系统信息是通过ssh(需提供用户名和密码)的方式连接到远程服务器上收集,收集的方法都是通过读取Linux的proc下的等meminfo,diskstats, uptime ,net, vmstat ,cpuinfo ,loadavg等文件,这和pmm, zabbix 收集方式一致。

远程收集MySQL信息是通过 MySQL tcp连接到MySQL数据库上收集,只需要授予连接用户PROCESS、SELECT权限即可。

系统信息和MySQL信息的收集可以分离,如果只想收集系统信息,只需要提供系统用户名密码即可,如果只收集MySQL可以只提供MySQL连接信息,如果是rds用户,可以使用-rds参数,在使用mytop时会自动忽略系统信息的收集。


Download:

wget  --no-check-certificate
wget  --no-check-certificate
 

chmod +x doDBA

下载下来就可以直接使用,不依赖于任何环境。


部署安装dodba

安装包地址:/opt/dodba

[root@node1 dodba]# tar -xvf dodba_tools-master.tar.gz 
dodba_tools-master/
dodba_tools-master/log.log
dodba_tools-master/README.md
dodba_tools-master/dodba.log
dodba_tools-master/1015065123_dodba_mysql_20170509.log
dodba_tools-master/1015065123_dodba_mysql_20170510.log
dodba_tools-master/doDBA.conf
dodba_tools-master/doDBA
[root@node1 dodba]# cd dodba_tools-master
[root@node1 dodba_tools-master]# ll
总用量 1214384
-rw-r--r-- 1 root root 213606 5月 9 22:53 1015065123_dodba_mysql_20170509.log
-rw-r--r-- 1 root root 68977 5月 10 01:08 1015065123_dodba_mysql_20170510.log
-rwxrwxrwx 1 root root 6252482 1月 9 18:21 doDBA
-rw-r--r-- 1 root root 120 5月 8 15:48 doDBA.conf
-rw-r--r-- 1 root root 1236965951 5月 22 14:21 dodba.log
-rw-r--r-- 1 root root 1928 5月 8 21:07 log.log
-rw-r--r-- 1 root root 5107 1月 9 18:21 README.md
[root@node1 dodba_tools-master]# ./doDBA -h 192.168.10.2 --mysql
2017/05/28 02:56:13 Error opening connection to database:Error 1045: Access denied for user 'root'@'192.168.10.2' (using password: YES)
[root@node1 dodba_tools-master]# service mysql status
MySQL running (2559) [确定]
 

修改配置文件doDBA.conf


使用实例

1、dodba监控mysql性能

./doDBA -h 192.168.10.2 --mysql
 

2、dodba监控系统性能

./doDBA -h 192.168.10.2 --sys
 

3、开启Doing功能(很重要)

使用【-t】参数可以基于Threads_running的数量设置阈值,设置后可记录「processlist,engine innodb status」信息到dodba.log日志中,重现现场。

$ ./doDBA -h=192.168.10.2 -mysql -t=3
 

在Oracle数据库中提供了「AWR,ASH,SQL Monitor」等众多诊断工具,可以一眼望穿数据库正在做什么,甚至都可以知道在过去30天内任何一个时间区间的性能负载和当时数据库正在做什么。但是在MySQL中虽然有像「zabbix,PMM」等优秀的监控工具,但它们只能反映数据库历史的一些性能数据曲线,如果想看mysql比较详细的信息,还是比较推荐这款工具。

这个是之前写的笔记了,所以可能一些信息老了一点。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

相关文章