DBAtool-doDBA

胡萝卜苗儿 · · 588 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

卢飞-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 <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      # 不加颜色输出

经过实际测试,一个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@bj02-test-mysql-22e129e140e73 ~]# ./doDBA -c doDBA.conf -mytop
2020/08/01 16:53:50 Read host failed.
[root@bj02-test-mysql-22e129e140e73 ~]# ./doDBA -h 22.129.140.73 -mytop
2020/08/01 16:54:41 dial tcp 22.129.140.73: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

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

588 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传