DBAtool-doDBA

卢飞-golang-基于控制台的远程监控工具,不需要在本地/远程系统上安装任何软件,下载即可直接使用,不依赖于任何环境。

远程收集系统信息:通过ssh连接到远程服务器,读取proc下meminfo、diskstats、uptime、net、vmstat、cpuinfo、loadavg等文件; 远程收集mysql信息:通过tcp连接到mysql数据库上收集,只需要授权连接用户process、select即可;

收集内容:

cpu、memory、swap、net、IO

processlist、locks、threads、slow query

reads、writes、innodb_buffer_pool_pages

network、usage、openfile/table、connection、qps、tps

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

vim doDBA.conf
{
"Host":"",
"Huser": "",
"Hport": "",
"Hpwd":  "",
"Muser": "sysbench",
"Mpwd":  "dodba",
"Mport": "3306"
}

Linux:
groupadd dodba
useradd dodba -g dodba
echo xxxx | passwd dbdba --stdin

MySQL:
create user dodba@'xxx.xxx.xxx.%' identified by 'dodba';
grant select,process on *.* to dodba@'xxx.xxx.xxx.%';
./doDBA -help

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

经过实际测试,一个doDBA 进程同时只能配置一个数据源参数,配置2个及以上时,只能生效一个,说明参数有优先级的区别。
优先级如下:
mysql > innodb > myall > sys
收集MySQL及Linux性能数据
./doDBA -h=10.1.x.xx -myall
收集Linux性能数据
./doDBA -h=10.1.x.xx -sys
收集MySQL性能数据
./doDBA -h=10.1.x.xx -mysql
收集InnoDB性能数据
./doDBA -h=10.1.x.xx -innodb
收集到日志文件
./doDBA -h=10.1.x.xx -mysql -log
开启Doing功能
使用【-t】参数可以基于Threads_running的数量设置阈值,设置后可记录「processlist,engine innodb status」信息到dodba.log日志中,复现现场。
./doDBA -h=10.1.x.xx -myall -t=3
查看Doing日志
tail -f dodba.log

./doDBA -c doDBA.conf -mytop
[root@test-mysql-xxexexex ~]# ./doDBA -c doDBA.conf -mytop
2020/08/01 16:53:50 Read host failed.
[root@test-mysql-xxexexex ~]# ./doDBA -h xx.x.x.x -mytop
2020/08/01 16:54:41 dial tcp xx.x.x.x:22: getsockopt: connection refused

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

你可能感兴趣的:(DBAtool-doDBA)