mysql8性能监控工具doDBA的使用

Java技术 潘老师 2年前 (2022-02-22) 1409 ℃ (0) 扫码查看

最近潘老师在做有关msyql的性能测试与监控,需要查看一些核心的统计指标,mysql不像oracle内置了AWR性能监控工具,只能借助网上开源的一些工具。如果你不怕麻烦也客户手工去计算,不过那肯定得疯。

其实mysql性能监控工具有很多,但很多都停止更新了,甚至连官网都打不开,比如myawr,还有淘宝官方开源的Orzdba,也找不到。

最后发现能用的就两个,一个是Mysql Tuner,还有一个就是doDBA Tools。

先上下这两个项目的github地址:
Mysql Tuner:https://github.com/major/MySQLTuner-perl
doDBA Tools:https://github.com/dblucyne/dodba_tools

如果你的github打不开或访问慢,可以看下github官网打不开或访问慢的解决办法

mysql tuner最近一直在更新,对mysql8部分支持,估计功能比较强大,没仔细研究,而doDBA Tools最后一次更新是17年,但整体看上去还是doDBA Tools使用更加简单,不依赖其他插件,而且功能也够我用的了。在使用之前,先简单介绍下doDBA。

doDBA是什么?

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

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

下面说下doDBA Tools使用步骤。

1)从github上把源码下载下来

这个没什么好说的,当然你也可以直接通过如下指令在linux中安装:

wget https://raw.githubusercontent.com/dblucyne/dodba_tools/master/doDBA --no-check-certificate
wget https://raw.githubusercontent.com/dblucyne/dodba_tools/master/doDBA.conf --no-check-certificate

2)如果你是下载的需要上传到linux系统,然后给doDBA文件授权

chmod +x doDBA

3)修改配置文件

核心配置文件就是doDBA.conf,里面配置也很简单,默认配置如下:

{
"Host":"",
"Huser": "root",
"Hport": "22",
"Hpwd":  "",
"Muser": "dodba",
"Mpwd":  "dodba",
"Mport":"3306"
}

H开头的是主机配置,M开头的是MySQL数据库配置,大家应该都能看懂,根据根据自己需求配置下,数据库用户可以直接使用root用户,或者新建一个dodba账户也行。这里我相信大家应该都会,就不赘述了。

4)运行doDBA

怎么使用完全可以参考doDBA的ReadMe文档,或者查看help指令:

./doDBA -help
Usage: doDBA [OPTIONS]
 -help  # 显示帮助
-c string  # 指定配置文件 (default "doDBA.conf")
-h string  # 链接的 host/IP
-sys  # 打印Linux的信息
-myall  # 打印Linux和MySQL的信息
-mysql  # 打印MySQL的信息
-innodb  # 打印InnoDB存储引擎的信息
-mytop  # 打印MySQL processlist,相似top
-i <duration>  # 刷新间隔的秒数 (默认1s)
-t <int>  #当MySQL Threads_running到达阈值时会输出 show processlist和showengine innodb status到dodba.log中 (默认50)
-hP <string>  # 主机端口 (默认 "22")
-hp <string>  # 主机密码
-hu <string>  # 主机用户 (默认 "root")
-mP <string>  # MySQL端口 (默认 "3306")
-mp <string>  # MySQL密码
-mu <string>  # MySQL用户
-rds  # 忽略Linux信息
-log  # 按照日期输出到日志文件
-nocolor  # 不加颜色输出

比如潘老师这里常用的就是如下几个:

#监控Linux系统 -h指定主机ip
./doDBA -h=10.1.xx.xx -sys
#监控mysql性能
./doDBA -h=10.1.xx.xx -mysql
#监控MySQL及Linux性能数据
./doDBA -h=10.1.xx.xx -myall
#收集mysql性能数据到日志文件
./doDBA -h=10.1.xx.xx -mysql -log
#开启Doing功能
./doDBA -h=10.1.xx.xx -myall -t=3

注意:mysql8运行监控性能时可能会出现连接报错,具体请参考:

连接mysql8提示this user requires mysql native password authentication

文章目录 说下报错原因 报错解决办法 总结 最近在使用doDBA工具监控mysql8数据库的性能时,配置好用户 […]

正常监控的效果图如下:
mysql8性能监控图
每秒都会打印mysql性能统计指标的数据,比如QPS、TPS、连接情况、慢查询、锁情况等等,而且还是在doDBA所在目录下生成对应的日志文件以供查询。
每列含义如下:

mysql-status
qps —— Com_select
tps —— Com_insert + Com_update + Com_delete
ins —— Com_insert
upd —— Com_update
del —— Com_delete
threads
run —— Threads_running
con —— Threads_connected
cre —— Threads_created
cac —— Threads_cached
slow
sql —— Slow_queries
tmp —— Created_tmp_tables
dtmp —— Created_tmp_disk_tables
bytes
recv —— Bytes_received
send —— Bytes_sent
locks
lockI —— Table_locks_immediate
lockW —— Table_locks_waited
openT —— Open_tables
openF —— Open_files

总结

以上就是mysql8性能监控工具doDBA的使用方法,整体而言,还是非常简单使用的。如果需要可视化的监控,可以考虑免费开源的Zabbix,功能还是相当强大的。

更详细参考:doDBA使用详解


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/4528.html
喜欢 (5)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】