orzdba是淘宝开源的一个实时监控工具,项目地址: http://code.taobao.org/p/orzdba/src/trunk/
使用说明文档:
http://wenku.baidu.com/link?url=qG8O5zu2v-BUEKV48xU-6S_DA1tA_RYl8dfuOvA_DU2Q9shLlhOaoFCFAjv2xDCOICxUZkrxAK23X9dmTBvz7a
1、查看系统、磁盘和网卡信息
./orzdba.pl -sys -d sda -n em1
输出信息:
.=================================================.
| Welcome to use the orzdba tool ! |
| Yep...Chinese English~ |
'=============== Date : 2014-08-19 ==============='
HOST: myhost02 IP: 10.0.60.28
-------- -----load-avg---- ---cpu-usage--- ---swap--- ----net(B)---- -------------------------io-usage-----------------------
time | 1m 5m 15m |usr sys idl iow| si so| recv send| r/s w/s rkB/s wkB/s queue await svctm %util|
16:45:48| 8.68 9.35 9.09| 0 0 99 1| 0 0| 0 0| 11.9 13.0 492.6 723.7 0.3 11.4 1.2 2.9|
16:45:49| 8.68 9.35 9.09| 8 2 48 42| 0 0| 1.1m 3.0m| 280.3 447.9 4484.8 22591.5 11.5 15.7 1.4 100.0|
16:45:51| 8.68 9.35 9.09| 11 3 48 38| 0 0| 705k 1.8m| 377.1 428.9 6048.9 22866.8 9.3 11.6 1.2 100.0|
16:45:52| 8.68 9.35 9.09| 7 2 53 38| 0 0| 1.1m 2.8m| 237.5 460.1 3832.0 22217.1 9.2 13.2 1.4 100.0|
-sys:打印系统信息,包括-t(打印当前时间)、-l(打印负载信息,分1分钟、5分钟、15分钟)、-c(打印cpu信息)、-s(打印交换分区信息)
-d:打印磁盘信息,需要指点磁盘设备名
-n:打印网络信息,接收和发送大小,需要指点网卡设备名
2、查看系统信息、及mysql增、删、查、更新计数、以及Innodb Hit%
./orzdba.pl -lazy -S /log/percona56/mysql.sock
输出信息:
.=================================================.
| Welcome to use the orzdba tool ! |
| Yep...Chinese English~ |
'=============== Date : 2014-08-19 ==============='
HOST: myhost02 IP: 10.0.60.28
DB : employees|mysite|percona|performance_schema|sakila|test1|tpcc300|world
Var : binlog_format[STATEMENT] max_binlog_cache_size[17179869184G] max_binlog_size[1G]
max_connect_errors[65536] max_connections[4500] max_user_connections[4000]
open_files_limit[65536] sync_binlog[0] table_definition_cache[65536]
table_open_cache[2000] thread_cache_size[256]
innodb_adaptive_flushing[ON] innodb_adaptive_hash_index[ON] innodb_buffer_pool_size[16G]
innodb_file_per_table[ON] innodb_flush_log_at_trx_commit[2] innodb_flush_method[O_DIRECT]
innodb_io_capacity[1000] innodb_lock_wait_timeout[5] innodb_log_buffer_size[200M]
innodb_log_file_size[1G] innodb_log_files_in_group[2] innodb_max_dirty_pages_pct[60]
innodb_open_files[60000] innodb_read_io_threads[8] innodb_thread_concurrency[8]
innodb_write_io_threads[8]
-------- -----load-avg---- ---cpu-usage--- ---swap--- -QPS- -TPS- -Hit%-
time | 1m 5m 15m |usr sys idl iow| si so| ins upd del sel iud| lor hit|
16:47:02|13.04 10.63 9.56| 0 0 99 1| 0 0| 0 0 0 0 0| 0 100.00|
16:47:03|13.04 10.63 9.56| 10 2 47 41| 0 0| 1414 1825 102 5464 3341| 83455 99.66|
16:47:04|13.04 10.63 9.56| 10 2 46 42| 0 0| 1334 1751 103 5132 3188| 79278 99.61|
16:47:05|13.04 10.63 9.56| 10 3 52 36| 0 0| 1447 1872 108 5419 3427| 86741 99.60|
16:47:06|13.04 10.63 9.56| 10 2 50 37| 0 0| 1443 1904 117 5637 3464| 90647 99.67|
--lazy:包括-t、-l、-c、-s、-com(打印mysql的Com_select,Com_insert,Com_update,Com_delete计数)、-hit(打印innodb buffer pool Hit%,(Innodb_buffer_pool_read_requests - Innodb_buffer_pool_reads) / Innodb_buffer_pool_read_requests * 100%)
3、打印innodb rows状态
./orzdba.pl -innodb_rows -S /log/percona56/mysql.sock
输出信息:
---innodb rows status---
ins upd del read|
0 0 0 0|
870 1753 68 7699|
1368 2689 103 11717|
1295 2557 103 10735|
-innodb_rows:打印Innodb_rows_inserted/updated/deleted/read的计数
4、打印innodb buffer pool中页状态信息
./orzdba.pl -S /log/percona56/mysql.sock -innodb_pages
输出信息:
---innodb bp pages status--
data free dirty flush|
0 0 0 0|
962909 4048 589242 618|
962910 4048 589728 564|
962919 4039 589148 807|
-innodb_pages:打印Innodb_buffer_pool_pages_data/free/dirty/flushed状态信息
5、打印innodb 数据状态
./orzdba.pl -S /log/percona56/mysql.sock -innodb_data
输出信息:
-----innodb data status----
reads writes read written|
0 0 0 0|
246 550 4.0m 23.4m|
387 618 6.1m 17.3m|
296 552 4.3m 20.9m|
390 667 6.7m 19.6m|
327 518 4.6m 21.2m|
-innodb_data:打印Innodb_data_reads/writes/read/written状态信息
6、打印Innodb 日志状态
./orzdba.pl -S /log/percona56/mysql.sock -innodb_log
输出信息:
--innodb log--
fsyncs written|
0 0|
1 994k|
2 397k|
1 1.0m|
-innodb_log:打印Innodb_os_log_fsyncs/written状态信息
7、打印innodb 状态信息,来自show engine innodb status,包括(history list/ log unflushed/uncheckpointed bytes/ read views/ queries inside/queued)
./orzdba.pl -S /log/percona56/mysql.sock -innodb_status
输出信息:
his --log(byte)-- read ---query---
list uflush uckpt view inside que|
0 0 0 0 0 0|
907 15k 792.9m 2 8 7|
958 51k 793.3m 1 8 8|
963 37k 794.2m 2 8 8|
1030 44k 790.1m 2 8 7|
1104 16k 790.8m 0 7 8|
-innodb_status:来自mysql -S /log/percona56/mysql.sock -e "show engine innodb status\G"|grep -E -A5 -B1 --color "^TRANSACTIONS|LOG|ROW OPERATIONS"的输出,log unflushed = Log sequence number - Log flushed up to;
uncheckpointed bytes = Log sequence number - Last checkpoint at
8、打印mysql线程状态
./orzdba.pl -S /log/percona56/mysql.sock -T
输出信息:
------threads------
run con cre cac|
0 0 0 0|
17 18 0 3|
17 18 0 3|
17 18 0 3|
-T:打印Threads_running,Threads_connected,Threads_created,Threads_cached的状态信息
9、打印mysql接收和发送的字节数
./orzdba.pl -S /log/percona56/mysql.sock -B
输出信息:
-----bytes----
recv send|
0 0|
179k 946k|
450k 2.4m|
177k 949k|
377k 2.0m|
-B:打印Bytes_received,Bytes_sent的状态信息
10、打印mysql信息,包括-t,-com,-hit,-T,-B
./orzdba.pl -S /log/percona56/mysql.sock -mysql
输出信息:
-------- -QPS- -TPS- -Hit%- ------threads------ -----bytes----
time | ins upd del sel iud| lor hit| run con cre cac| recv send|
16:21:21| 0 0 0 0 0| 0 100.00| 0 0 0 0| 0 0|
16:21:22| 1556 2031 120 5993 3707| 92736 99.62| 17 18 0 3| 406k 2.2m|
16:21:23| 1601 2087 121 6179 3809| 98670 99.62| 17 18 0 3| 424k 2.2m|
16:21:24| 1886 2452 144 7118 4482| 115044 99.63| 17 18 0 3| 497k 2.6m|
16:21:25| 1618 2131 124 6425 3873| 100295 99.64| 17 18 0 3| 435k 2.3m|
16:21:26| 1872 2477 153 7258 4502| 115035 99.65| 17 18 0 3| 497k 2.6m|
16:21:27| 1355 1750 97 5184 3202| 82702 99.64| 14 18 0 3| 352k 1.9m|
16:21:28| 1675 2201 134 6389 4010| 100698 99.66| 17 18 0 3| 442k 2.3m|
11、打印Innodb信息,包括-t,-innodb_pages,-innodb_data,-innodb_log,-innodb_status
./orzdba.pl -S /log/percona56/mysql.sock -innodb
输出信息:
-------- ---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|
16:20:24| 0 0 0 0| 0 0 0 0| 0 0| 0 0 0 0 0 0|
16:20:25| 962773 3999 548062 209| 575 657 9.0m 7.9m| 1 1.4m| 1168 275k 727.5m 3 7 4|
16:20:26| 962882 3886 549363 137| 549 604 8.6m 5.7m| 1 1.4m| 1202 475k 728.7m 1 8 4|
16:20:27| 962835 3938 550405 181| 505 619 7.9m 6.9m| 1 1.3m| 1199 447k 729.7m 1 8 6|
16:20:28| 962789 3986 551648 203| 562 697 8.8m 7.8m| 2 1.5m| 927 329k 730.8m 1 8 8|
16:20:29| 962842 3929 552786 151| 496 593 7.8m 6.0m| 1 1.3m| 941 476k 731.9m 1 8 5|
16:20:30| 962783 3988 553816 489| 575 833 9.0m 16.8m| 2 1.5m| 1055 21k 733.2m 1 8 8|
16:20:31| 962830 3940 554500 348| 436 589 6.8m 12.0m| 2 1.1m| 1230 10k 734.1m 2 8 7|
12、查看mysql的响应时间,需要tcprstat
./orzdba.pl -lazy -rt -S /log/percona56/mysql.sock
输出信息:
-------- -----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|
17:12:13| 7.74 9.54 9.62| 0 0 99 1| 0 0| 0 0 0 0 0| 0 100.00| 0 0 0 0|
17:12:14| 7.74 9.54 9.62| 9 3 53 36| 0 0| 1187 1559 95 4507 2841| 70464 99.60| 7114 1660 375 763|
17:12:15| 7.74 9.54 9.62| 9 2 54 35| 0 0| 1175 1505 82 4414 2762| 63922 99.57| 7082 2501 324 756|
17:12:16| 7.74 9.54 9.62| 9 3 56 33| 0 0| 1188 1567 96 4647 2851| 68659 99.61| 7546 1357 305 634|
17:12:17| 7.76 9.52 9.61| 10 3 50 36| 0 0| 1311 1729 102 5098 3142| 77111 99.61| 8173 2245 330 824|
17:12:19| 7.76 9.52 9.61| 10 3 57 30| 0 0| 1235 1622 101 4800 2958| 73543 99.63| 7904 1414 280 683|
17:12:20| 7.76 9.52 9.61| 8 3 62 27| 0 0| 1173 1522 82 4542 2777| 67550 99.61| 6407 2360 397 856|
17:12:21| 7.76 9.52 9.61| 8 3 54 35| 0 0| 1046 1380 86 4039 2512| 63606 99.63| 7442 2128 350 803|
-rt:打印mysql 服务器响应时间
-lazy:包括-t,-l,-c,-s,-com,-hit
同时要将ip地址和主机名映射写到/etc/hosts文件,如果映射不对,将rt的值为0
安装tcprstat:
需要使用tcprstat
wget http://github.com/downloads/Lowercases/tcprstat/tcprstat-static.v0.3.1.x86_64
mv tcprstat-static.v0.3.1.x86_64 /usr/bin/tcprstat
chmod +x /usr/bin/tcprstat
同时需要安装perl的相关模块:
yum -y install perl-Test*
tar -zxvf version-0.99.tar.gz
cd version-0.99
perl Makefile.PL
make
make install
tar -zxvf Class-Data-Inheritable-0.08.tar.gz
cd Class-Data-Inheritable-0.08
perl Makefile.PL
make
make install
tar -zxvf Module-Build-0.31.tar.gz
cd Module-Build-0.31
perl Build.PL
./Build
./Build test
./Build install
tar -zxvf File-Lockfile-v1.0.5.tar.gz
cd File-Lockfile-v1.0.5
perl Build.PL
./Build
./Build test
./Build install
13、其他参数
-P:指定mysql端口号
-S:指定mysql socket文件
如果其他参数,需要修改代码
控制输出间隔和次数,以及是否输出颜色:
-i:间隔多少秒进行数据抓取
-C:抓取多少次数,除启动orzdba后的第一次抓取
-nocolor:不显示颜色
控制日志输出:
-L:打印抓取信息到日志文件
-logfile_by_day:每天生成一个日志文件,后缀为'yyyy-mm-dd'
报错:
Usage: Socket::inet_ntoa(ip_address_sv) at ./orz line 477
因主机名不能解析,将主机名和IP写到/etc/hosts文件。
来自为知笔记(Wiz)