美文网首页
DBAtool-doDBA

DBAtool-doDBA

作者: 胡萝卜苗儿 | 来源:发表于2021-02-13 23:05 被阅读0次

    卢飞-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@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

          本文链接:https://www.haomeiwen.com/subject/qymexltx.html