https://yq.aliyun.com/articles/67051
doDBA tools是什么
doDBA tools是一个基于控制台的远程监控工具,它不需要在本地/远程系统上安装任何软件,它可以实时收集操作系统、MySQL、InnoDB的实时性能状态数据,并可以生成Doing日志文件,来帮助你快速了解/优化系统及MySQL数据库。
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 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
chmod +x doDBA
下载下来就可以直接使用,不依赖于任何环境。
使用帮助:
./doDBA -help
-c string
configuration file.(default "doDBA.conf")
-h string
Connect to host/IP.
-sys
Print linux info.
-myall
Print linux and mysql info.
-mysql
Print mysql info.
-innodb
Print innodb info.
-mytop
Print mysql prcesslist,like top.
-i duration
refresh interval in seconds.(1s)
-t int
doing on Threads_running.(50)
-rds
Ignore system info.
-log
Print to file by day.
-nocolor
Print to nocolor.
使用实例
1. 收集Linux性能数据
./doDBA -h=10.1.x.xx -sys
2. 收集MySQL性能数据
./doDBA -h=10.1.x.xx -mysql
3. 收集InnoDB性能数据
./doDBA -h=10.1.x.xx -innodb
4. 收集MySQL及Linux性能数据
./doDBA -h=10.1.x.xx -myall
5. mytop --like linux top
./doDBA -h=10.1.x.xx -mytop
6. 借助Shell收集多台
cat ip.txt
10.1.x.x1
10.1.x.x2
Shell
cat ip.txt | while read ip;
do
echo $ip;
./doDBA -h=$ip -mysql -log </dev/null &
done
7. 收集到日志文件
./doDBA -h=10.1.x.xx -mysql -log
8. 开启Doing功能
使用【-t】参数可以基于Threads_running的数量设置阈值,设置后可记录「processlist,engine innodb status」信息到dodba.log日志中,--复现现场。