orzdba安装与使用

orzdba是淘宝DBA团队开发出来的一个perl监控脚本,主要功能是监控mysql数据库,也有一些磁盘和cpu的监控选项,好不好用就见仁见智,毕竟各公司需求不尽相同.

安装:

既然是perl脚本,那当然是先装各种perl相关的依赖包和控件:

yum install -y perl-Test-Simple.x86_64 perl-Time-HiRes perl-ExtUtils-CBuilder 
yum install -y perl-ExtUtils-MakeMaker perl-DBD-MySQL perl-DBI perl-Module-Build

还有一个依赖命令:

#先下载下来
wget http://github.com/downloads/Lowercases/tcprstat/tcprstat-static.v0.3.1.x86_64
#移动到/usr/bin
mv tcprstat-static.v0.3.1.x86_64  /usr/bin/
#做个连接
ln -sf /usr/bin/tcprstat-static.v0.3.1.x86_64 /usr/bin/tcprstat

然后来下载脚本和依赖包,

http://code.taobao.org/svn/orzdba/trunk

或者这样也可以

#先安装svn客户端
yum install -y subversion
#或
apt-get install -y subversion
#然后下载
svn co http://code.taobao.org/svn/orzdba/trunk
A    trunk/orzdba_rt_depend_perl_module.tar.gz
A    trunk/orzdba
A    trunk/orzdba工具使用说明.pdf
取出版本 4。

----------------------------------------------------------------------------------

这个我已经上传到51cto了,大家可以直接去下载,全部在里面

http://down.51cto.com/data/2277755

然后这个也是修改过的脚本,直接修改26-29行的变量就行,不用跳到160行修改,

cat orzdba
my  $used = ‘root‘;    #用户名
my  $pswd = ‘****‘;    #密码
my  $ipdz = ‘127.0.0.1‘;    #ip地址
my  $port = 3306;       # -P 端口号

-----------------------------------------------------------------------------------

下载回来的包会有个压缩包,要安装里面的控件,

#先解压
tar xf orzdba_rt_depend_perl_module.tar.gz
#进去解压后的文件夹
cd Perl_Module
#里面有几个压缩包,一个个来安装
tar xf version-0.99.tar.gz
cd version-0.99
perl Makefile.PL
make 
make install
cd ..
tar xf File-Lockfile-v1.0.5.tar.gz 
cd File-Lockfile-v1.0.5 
perl Build.PL
perl ./Build
perl ./Build install
cd ..
tar xf Class-Data-Inheritable-0.08.tar.gz
cd Class-Data-Inheritable-0.08 
perl Makefile.PL 
make 
make install
cd ..
tar xf Module-Build-0.31.tar.gz 
cd Module-Build-0.31 
perl Build.PL 
./Build 
./Build install

当然了,还要改下配置,不然你怎么确认他连的是哪里呢?

#需要在代码160行左右配置MySQL的相关验证信息,如username,password,host,port,sock等,改成类似下面这样
grep -n ‘my $MYSQL‘ orzdba
160:my $MYSQL = qq{mysql -s --skip-column-names -uroot -p123123 -h127.0.0.1 -P$port };
#然后改一下host信息,不然会报错(不要在意我的计算机名)
cat /etc/hosts
172.17.0.2    32044b19ae8c
#最后,加个执行权限吧
chmod +x orzdba

这个时候就可以用了.

使用:

当然了,有很多参数,请看最后面一一列举,现在来看看怎么用:

./orzdba -lazy -rt 2>/dev/null 

.=================================================.
|       Welcome to use the orzdba tool !          | 
|          Yep...Chinese English~                 |
‘=============== Date : 2017-01-04 ===============‘

HOST: 32044b19ae8c   IP: 172.17.0.2
DB  : XXX|XXX|XXX
Var : binlog_format[ROW] max_binlog_cache_size[17179869184G] max_binlog_size[500M] 
      max_connect_errors[100000] max_connections[200] max_user_connections[150] 
      open_files_limit[65535] sync_binlog[0] table_definition_cache[656] 
      table_open_cache[512] thread_cache_size[51] 

      innodb_adaptive_flushing[ON] innodb_adaptive_hash_index[ON] innodb_buffer_pool_size[512M] 
      innodb_file_per_table[ON] innodb_flush_log_at_trx_commit[2] innodb_flush_method[] 
      innodb_io_capacity[200] innodb_lock_wait_timeout[10] innodb_log_buffer_size[16M] 
      innodb_log_file_size[512M] innodb_log_files_in_group[2] innodb_max_dirty_pages_pct[35] 
      innodb_open_files[65535] innodb_read_io_threads[4] innodb_thread_concurrency[0] 
      innodb_write_io_threads[4] 

-------- -----load-avg---- ---cpu-usage--- ---swap---                     -QPS- -TPS-         -Hit%- --------tcprstat(us)-------- 
  time  |  1m    5m   15m |usr sys idl iow|   si   so|  ins   upd   del    sel   iud|     lor    hit|  count    avg 95-avg 99-avg|
14:43:31| 0.36  0.23  0.17|  1   0  98   0|    0    0|    0     0     0      0     0|       0 100.00|      0      0      0      0|
14:43:32| 0.36  0.23  0.17|  3   1  95   0|    0    0|    0     0     0      1     0|       0 100.00|      0      0      0      0|
14:43:33| 0.36  0.23  0.17|  4   2  94   0|    0    0|    0     0     0      1     0|       0 100.00|      0      0      0      0|
14:43:34| 0.36  0.23  0.17|  4   1  95   0|    0    0|    0     0     0      1     0|       0 100.00|      0      0      0      0|
14:43:35| 0.33  0.23  0.17|  2   1  97   0|    0    0|    0     0     0      1     0|       0 100.00|      0      0      0      0|
14:43:36| 0.33  0.23  0.17|  3   1  95   0|    0    0|    0     0     0      1     0|       0 100.00|      0      0      0      0|
14:43:37| 0.33  0.23  0.17|  4   1  95   0|    0    0|    0     0     0      1     0|       0 100.00|      0      0      0      0|
14:43:38| 0.33  0.23  0.17|  3   1  97   0|    0    0|    0     0     0      1     0|       0 100.00|      0      0      0      0|
14:43:39| 0.30  0.22  0.16|  2   1  97   0|    0    0|    0     0     0      1     0|       0 100.00|      0      0      0      0|
14:43:40| 0.30  0.22  0.16|  3   1  96   0|    0    0|    0     0     0      8     0|      16 100.00|      0      0      0      0|
14:43:41| 0.30  0.22  0.16|  3   1  97   0|    0    0|    0     0     0      1     0|       0 100.00|      0      0      0      0|
14:43:42| 0.30  0.22  0.16|  2   1  97   0|    0    0|    0     0     0      1     0|       0 100.00|      0      0      0      0|

注释:
count:此间隔内处理完成的请求数量
avg:此间隔内所有完成的请求,响应的平均时间
95_avg:此间隔内,95%的请求量的平均响应时间,单位微妙,该值较能体现MySQL Server的查询平均响应时间

注意:在mysql5.6版本之后,如果明文输出密码会有警告提示,造成输出异常,所以我们需要加上这个参数:2>/dev/null,来把它过滤掉.

监控InnoDB的各项指标:

./orzdba -innodb 2>/dev/null 

.=================================================.
|       Welcome to use the orzdba tool !          | 
|          Yep...Chinese English~                 |
‘=============== Date : 2017-01-04 ===============‘

HOST: 32044b19ae8c   IP: 172.17.0.2
DB  : xxx|xxx|xxx
Var : binlog_format[ROW] max_binlog_cache_size[17179869184G] max_binlog_size[500M] 
      max_connect_errors[100000] max_connections[200] max_user_connections[150] 
      open_files_limit[65535] sync_binlog[0] table_definition_cache[656] 
      table_open_cache[512] thread_cache_size[51] 

      innodb_adaptive_flushing[ON] innodb_adaptive_hash_index[ON] innodb_buffer_pool_size[512M] 
      innodb_file_per_table[ON] innodb_flush_log_at_trx_commit[2] innodb_flush_method[] 
      innodb_io_capacity[200] innodb_lock_wait_timeout[10] innodb_log_buffer_size[16M] 
      innodb_log_file_size[512M] innodb_log_files_in_group[2] innodb_max_dirty_pages_pct[35] 
      innodb_open_files[65535] innodb_read_io_threads[4] innodb_thread_concurrency[0] 
      innodb_write_io_threads[4] 

-------- ---innodb bp pages status-- -----innodb data status---- --innodb log--   his --log(byte)--  read ---query--- 
  time  |   data   free  dirty flush| reads writes  read written|fsyncs written| list uflush  uckpt  view inside  que|
14:48:03|      0      0      0     0|     0      0      0      0|     0       0|    0      0      0     0     0     0|
14:48:04|  29961   1024      0     0|     0      0      0      0|     0       0| 1754      0       0    0     0     0|
14:48:05|  29961   1024      0     0|     0      0      0      0|     0       0| 1754      0       0    0     0     0|
14:48:06|  29961   1024      0     0|     0      0      0      0|     0       0| 1754      0       0    0     0     0|
14:48:07|  29961   1024      0     0|     0      0      0      0|     0       0| 1754      0       0    0     0     0|
14:48:08|  29961   1024      0     0|     0      0      0      0|     0       0| 1754      0       0    0     0     0|
14:48:09|  29961   1024      0     0|     0      0      0      0|     0       0| 1754      0       0    0     0     0|
14:48:10|  29961   1024      0     0|     0      0      0      0|     0       0| 1754      0       0    0     0     0|
14:48:11|  29961   1024      0     0|     0      0      0      0|     0       0| 1754      0       0    0     0     0|

监控MySQL Server性能:

./orzdba -mysql 2>/dev/null 

.=================================================.
|       Welcome to use the orzdba tool !          | 
|          Yep...Chinese English~                 |
‘=============== Date : 2017-01-04 ===============‘

HOST: 32044b19ae8c   IP: 172.17.0.2
DB  : xxx|xxx|xxx
Var : binlog_format[ROW] max_binlog_cache_size[17179869184G] max_binlog_size[500M] 
      max_connect_errors[100000] max_connections[200] max_user_connections[150] 
      open_files_limit[65535] sync_binlog[0] table_definition_cache[656] 
      table_open_cache[512] thread_cache_size[51] 

      innodb_adaptive_flushing[ON] innodb_adaptive_hash_index[ON] innodb_buffer_pool_size[512M] 
      innodb_file_per_table[ON] innodb_flush_log_at_trx_commit[2] innodb_flush_method[] 
      innodb_io_capacity[200] innodb_lock_wait_timeout[10] innodb_log_buffer_size[16M] 
      innodb_log_file_size[512M] innodb_log_files_in_group[2] innodb_max_dirty_pages_pct[35] 
      innodb_open_files[65535] innodb_read_io_threads[4] innodb_thread_concurrency[0] 
      innodb_write_io_threads[4] 

--------                     -QPS- -TPS-         -Hit%- ------threads------ -----bytes---- 
  time  |  ins   upd   del    sel   iud|     lor    hit| run  con  cre  cac|   recv   send|
14:49:30|    0     0     0      0     0|       0 100.00|   0    0    0    0|      0      0|
14:49:31|    0     0     0      4     0|     179 100.00|   1   79    0   15|     1k    74k|
14:49:32|    0     0     0      5     0|    4228 100.00|   1   79    0   15|     2k     6k|
14:49:33|    0     0     0      1     0|       0 100.00|   1   79    0   15|    846     1k|
14:49:34|    0     0     0      1     0|       0 100.00|   1   79    0   15|    846     1k|
14:49:35|    0     0     0      1     0|       0 100.00|   1   79    0   15|    846     1k|
14:49:36|    0     0     0      1     0|       0 100.00|   1   79    0   15|    846     1k|
14:49:37|    0     0     0      1     0|       0 100.00|   1   79    0   15|    846     1k|
14:49:38|    0     0     0      1     0|       0 100.00|   1   79    0   15|    972     1k|
14:49:39|    0     0     0      1     0|       0 100.00|   1   79    0   15|    846     1k|
14:49:40|    0     0     0      8     0|      16 100.00|   1   79    0   15|     2k     4k|
14:49:41|    0     0     0      1     0|       0 100.00|   1   79    0   15|    846     1k|
14:49:42|    0     0     0      1     0|       0 100.00|   1   79    0   15|    846     1k|

还有几个稍微列举下,各位自己试试了

#查看Linux主机指标
./orzdba -sys -C 10 -i 1 -t -d sda

-sys:打印系统信息,包括-t(打印当前时间)、-l(打印负载信息,分1分钟、5分钟、15分钟)、-c(打印cpu信息)、-s(打印交换分区信息)
-d:打印磁盘信息,需要指点磁盘设备名
-n:打印网络信息,接收和发送大小,需要指点网卡设备名

查看DISK(-d)和NET(-n)需要带具体的设备名(具体可以查看/proc/diskstats和/proc/net/dev中的设备或者可以取自iostat
和sar -n DEV)

Linux指标的数据都来自/proc目录下的相关系统元数据:
LOAD : /proc/loadavg
CPU : /proc/stat
SWAP : /proc/vmstat
DISK : /proc/diskstats
NET : /proc/net/dev

#查看MySQL响应时间(rt)
./orzdba -rt -C 10 -i 1 -t -d sda

-C : 打印10次

-i : 间隔1秒

注释:

./orzdba --help

==========================================================================================
Info  :
        Created By [email protected]
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 &
==========================================================================================

时间: 2024-11-17 03:04:09

orzdba安装与使用的相关文章

MySQL的瑞士军刀(转)

这里主要讲mysql运维中的一些主要工具,这些工具可能大家都用过,特别是系统管理员或者做linux服务器维护的同学可能都知道这些小工具,这 里讲得会比较多一些,除了系统监控的小工具,还包括一些mysql的工具,甚至深入一些的工具也会讲到,重点是大家听完了后,一定要去自己动手实践一下, 这样才有意义,熟能生巧. 光听说过是不行的,还得都要去实践,实践出真知,面试过很多朋友,问他们他们都说知道用过,但是 细问下他们都关注哪些重要的点,他们就说得比较模糊,这样是不行的,这样会被别人一种感觉,就是你不专

MySQL 瑞士军刀

MySQL的瑞士军刀 这里主要讲mysql运维中的一些主要工具,这些工具可能大家都用过,特别是系统管理员或者做linux服务器维护的同学可能都知道这些小工具,这里讲得会比较多一些,除了系统监控的小工具,还包括一些mysql的工具,甚至深入一些的工具也会讲到,重点是大家听完了后,一定要去自己动手实践一下,这样才有意义,熟能生巧. 光听说过是不行的,还得都要去实践,实践出真知,面试过很多朋友,问他们他们都说知道用过,但是细问下他们都关注哪些重要的点,他们就说得比较模糊,这样是不行的,这样会被别人一种

orzdba工具安装注意事项

orzdba是一个监控mysql性能的一个比较好用的perl脚本,是淘宝开源的小工具,下载地址http://code.taobao.org/p/orzdba/src/trunk/ 配置过程中除了参照<orzdba工具使用说明>外,还有一些注意事项 我的安装环境是 Red Hat Enterprise Linux Server release 6.3 (Santiago) 5.6.22-log MySQL Community Server (GPL) 安装tcprstat前,先安装包 glibc

orzdba的安装与使用

参考:http://code.taobao.org/p/orzdba/src/ http://code.taobao.org/p/myrelay/wiki/index/ http://www.taobaodba.com/html/937_orzdba.html 下载源代码: [[email protected] paul]# svn co http://code.taobao.org/svn/orzdba/trunkA    trunk/orzdba_rt_depend_perl_module.

MySQL监控工具-orzdba

源代码地址:http://code.taobao.org/p/orzdba/src/trunk/     [[email protected] servers]# chmod +x orzdba 在代码的160行左右,配置自己的MySQL验证信息:username.password.socket.host.port[[email protected] servers]# grep -n 'my $MYSQL' orzdba160:my $MYSQL    = qq{mysql -s --skip

Linux svn的安装

orzdba这个工具是taobao开发的,是一个很不错的工具.orzdba工具下载,需要使用到svn进行下载.所以首先就要先安装svn工具.然而,svn的安装也是比较麻烦的,需要各种包进行支持. 环境:RHEL 6.4 x86_64 1. 使用yum安装一些RPM包 # yum install libserf libtool autoconf gcc libapr libapr-util *sqlite* libz libmagic apr-devel apr-util-devel perl-C

安装Windows7系统时,提示:缺少所需的CD/DVD驱动器设备驱动程序

      测试机型:HP probook 430 g3       系统:Windows 7 Pro x64 现在笔记本电脑主板集成的USB口大多为3.0版本,而且一些厂商为了追求PC的轻薄,不再集成光驱,所以我们在安装系统时,一般只能通过U盘或U口外接光驱. 而当我们因为需要(安装OEM系统),在通过刻录软件(如UltraISO)将系统写入U盘或光盘的方式安装系统时,此时问题就可能悄悄出现了:因为Win7官方原版系统没有集成USB3.0驱动,所以可能的报错如下: 点击"浏览"或通过

Windows8.1-KB2999226-x64安装提示 此更新不适用你的计算机

如题 Windows8.1-KB2999226-x64.msu  双击安装 安装提示 此更新不适用你的计算机 . 解决方案: 放在D:\update\目录下 windows键+X  选择  命令提示符(管理员)  一定要是管理员 打开cmd 分别执行下面两句.红色部分就是自己的更新程序了.其他安装同理 例如Windows8.1-KB2919442-x64.msu 等 1    expand –F:* D:\update\Windows8.1-KB2999226-x64.msu D:\update

pip安装提示PermissionError: [WinError 5]错误问题解决

 问题现象 新安装python3.6版本后使用pip安装第三方模块失败,报错信息如下: C:\Users\linyfeng>pip install lxml Collecting lxml Downloading http://pypi.doubanio.com/packages/fb/41/b8d5c869d01fcb77c72d7d226a847a3946034ef19c244ac12920b71cd036/lxml-3.8.0-cp36-cp36m-win32.whl (2.9MB) 10