中间件kingshard入门(二):orzdba监控工具

这个工具介绍其实是为了后面压测做准备的,如果在压测的过程中,只能进行肉眼的观察,并且手动是录入压测数据,实际上是非常低效的结果,在linux中,就是 因为有着这些开源的第三方辅助工具才使得应用得到更好的支持,当然,这只是其中一个原因而已。最本质的还是应用本身符合企业的需求

这个工具是淘宝的朱旭先生开发的一个小工具,12年开源出来,到现在已经有5年的历史,代码相对久远,但是实用性还是挺好的。适合我们对数据库进行分析定位。如果有版本洁癖的人请慎入,自行分析MySQL内置性能分析库进行分析
orzdba的下载地址为

http://code.taobao.org/p/orzdba/src/trunk/

直接进行SVN下载即可,svn的安装方式yum

[root@gzsd-mysql01-101110215 download]# yum -y install svn

[root@gzsd-mysql01-101110215 download]# svn co http://code.taobao.org/svn/orzdba/trunk

进入查看对应的目录情况

[root@gzsd-mysql01-101110215 download]# cd trunk/
[root@gzsd-mysql01-101110215 trunk]# ll
total 1000
-rw-r--r--. 1 root root  56925 Nov 28 14:48 orzdba
-rw-r--r--. 1 root root 323084 Nov 28 14:48 orzdba_rt_depend_perl_module.tar.gz
-rw-r--r--. 1 root root 639658 Nov 28 14:48 orzdba工具使用说明.pdf

我们需要使用的就是orzdba这个文件,查看其用户(通常软件应用–help是默认的做法)

[root@gzsd-mysql01-101110215 trunk]# chmod +x orzdba
[root@gzsd-mysql01-101110215 trunk]# ./orzdba --help

==========================================================================================
Info  :
        Created By zhuxu@taobao.com
Usage :
Command line options :

   -h,--help           Print Help Info. 
   -i,--interval       Time(second) Interval.  
   -C,--count          Times. 
   -t,--time           Print The Current Time.
   -nocolor            Print NO Color.

   -l,--load           Print Load Info.
   -c,--cpu            Print Cpu  Info.
   -s,--swap           Print Swap Info.
   -d,--disk           Print Disk Info.
   -n,--net            Print Net  Info.

   -P,--port           Port number to use for mysql connection(default 3306).
   -S,--socket         Socket file to use for mysql connection.

   -com                Print MySQL Status(Com_select,Com_insert,Com_update,Com_delete).
   -hit                Print Innodb Hit%.
   -innodb_rows        Print Innodb Rows Status(Innodb_rows_inserted/updated/deleted/read).
   -innodb_pages       Print Innodb Buffer Pool Pages Status(Innodb_buffer_pool_pages_data/free/dirty/flushed)
   -innodb_data        Print Innodb Data Status(Innodb_data_reads/writes/read/written)
   -innodb_log         Print Innodb Log  Status(Innodb_os_log_fsyncs/written)
   -innodb_status      Print Innodb Status from Command: 'Show Engine Innodb Status'
                       (history list/ log unflushed/uncheckpointed bytes/ read views/ queries inside/queued)
   -T,--threads        Print Threads Status(Threads_running,Threads_connected,Threads_created,Threads_cached).
   -rt                 Print MySQL DB RT(us).
   -B,--bytes          Print Bytes received from/send to MySQL(Bytes_received,Bytes_sent).

   -mysql              Print MySQLInfo (include -t,-com,-hit,-T,-B).
   -innodb             Print InnodbInfo(include -t,-innodb_pages,-innodb_data,-innodb_log,-innodb_status)
   -sys                Print SysInfo   (include -t,-l,-c,-s).
   -lazy               Print Info      (include -t,-l,-c,-s,-com,-hit). 

   -L,--logfile        Print to Logfile.
   -logfile_by_day     One day a logfile,the suffix of logfile is 'yyyy-mm-dd';
                       and is valid with -L.

Sample :
   shell> nohup ./orzdba -lazy -d sda -C 5 -i 2 -L /tmp/orzdba.log  > /dev/null 2>&1 &
==========================================================================================

如果需要使用orzdba,以为其perl脚本依赖于tcprstat

[root@gzsd-mysql01-101110215 trunk]# cd /data/download/
[root@gzsd-mysql01-101110215 download]# wget http://github.com/downloads/Lowercases/tcprstat/tcprstat-static.v0.3.1.x86_64
[root@gzsd-mysql01-101110215 download]# cp tcprstat-static.v0.3.1.x86_64 /usr/bin/tcprstat
[root@gzsd-mysql01-101110215 download]# chmod u+sx /usr/bin/tcprstat 

由于是perl开发的工具包,需要安装perl支持的工具集

[root@gzsd-mysql01-101110215 download]#  yum -y install perl-Test-Simple.x86_64 perl-Time-HiRes perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-DBD-MySQL perl-DBI

由于orzdata会去读取hosts文件来获取对应的机器信息,需要往hosts文件中写入对应的信息

[root@gzsd-mysql01-101110215 trunk]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.11.10.215  gzsd-mysql01-101110215
  • 查看linux主机指标
[root@gzsd-mysql01-101110215 trunk]#  ./orzdba -sys  -C 10 -i 1 -t -d vda

这里写图片描述
参数对应的解释在–help中已经很明确的罗列出来了,这里在汇总一下

参数含义备注
-CTimes总计多少次
-iTime(second) Interval每隔多少秒
-tPrint The Current Time打印当前时间
-dPrint Disk Info打印磁盘信息

这些信息的获取,实际上是从/proc的进程中获取的

  • 监控MySQL响应时间
    由于orzdba脚本中并没有接口外层输入账号和密码,所以需要在脚本中进行手动编辑添加对应的账号和密码,否则会提示
    这里写图片描述
    按照错误提示,首先需要在数据库层创建一个获取性能的账号,网络上很多都是直接配置root之类的,这种是不合适的,请留心
root@(none) 03:51:07>CREATE USER 'gz_orazdba_account'@'127.0.0.1' IDENTIFIED BY 'FT3U08OuZW+?';
root@(none) 03:54:11>GRANT PROCESS ON *.* TO 'gz_orazdba_account'@'127.0.0.1';
Query OK, 0 rows affected (0.02 sec)
root@(none) 03:54:21>FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.02 sec)

修改orzdba配置属性

my $MYSQL    = qq{mysql -s --skip-column-names -uroot -P$port };
#改成
my $MYSQL    = qq{mysql -s --skip-column-names -ugz_orazdba_account -p"FT3U08OuZW+?" -h"127.0.0.1" -P$port };

查看时候会出现一个比较难看的排版问题
这里写图片描述
处理

[root@gzsd-mysql01-101110215 trunk]# mysql_config_editor set --login-path=login --user=gz_orazdba_account --password -h127.0.0.1
Enter password: 
[root@gzsd-mysql01-101110215 trunk]# mysql_config_editor print --all
[login]
user = gz_orazdba_account
password = *****
host = 127.0.0.1

再次修改orzdba对应的数据库连接文件为

my $MYSQL    = qq{mysql --login-path=login -s --skip-column-names  -P$port };

这里写图片描述

  • 监控Server的性能指标
    这里写图片描述

我们最关心的QPS TPS就可以在这里展现了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值