oradba_性能医生

orzdba_性能医生
周万春


orzdba是淘宝DBA团队开发的MySQL监控工具,使用Perl开发,可以完成对Linux系统和MySQL相关指标的实时监控,需要在MySQL实例所在主机运行orzdba。

MYSQL这些监控指标的来源和mysqlreport等工具类似,都是通过show global variables;列出经常关注的核心变量,通过show global status;列出相关MYSQL状态信息。
这个监控工具比较有特色,把系统信息和数据库信息一起监控,就是安装有点麻烦。

[root@db01 ~]# wget http://github.com/downloads/Lowercases/tcprstat/tcprstat-static.v0.3.1.x86_64
[root@db01 ~]# cp -a tcprstat-static.v0.3.1.x86_64 /usr/bin/tcprstat
[root@db01 ~]# chmod u+sx /usr/bin/tcprstat
[root@db01 ~]# ls -l /usr/bin/tcprstat 
-rwsr--r-- 1 root root 1183465 Aug 12  2010 /usr/bin/tcprstat


[root@db01 ~]# vim /etc/hosts
10.0.0.11 db01


[root@db01 ~]# yum install perl-Test-Simple.x86_64 \
perl-Time-HiRes \
perl-ExtUtils-CBuilder \
perl-ExtUtils-MakeMaker \
perl-DBD-MySQL perl-DBI \
上传orzdba软件包
[root@db01 ~]# git clone https://github.com/zhangchunsheng/orzdba
[root@db01 ~]# tar -xf /disk/orzdba.tar.gz -C /root/
[root@db01 ~]# cd orzdba/
[root@db01 ~/orzdba]# chmod +x orzdba
[root@db01 ~/orzdba]# tar -xf orzdba_rt_depend_perl_module.tar.gz
[root@db01 ~/orzdba]# cd Perl_Module/
[root@db01 ~/orzdba/Perl_Module]# ls -lh
total 324K
-rw-r--r-- 1 50640 users 5.6K Jan 25  2008 Class-Data-Inheritable-0.08.tar.gz
-rw-r--r-- 1 50640 users 2.5K Aug  6  2010 File-Lockfile-v1.0.5.tar.gz
-rw-r--r-- 1 50640 users 204K Dec 21  2008 Module-Build-0.31.tar.gz
-rw-r--r-- 1 50640 users 105K Apr 27  2012 version-0.99.tar.gz


安装version模块
[root@db01 ~/orzdba/Perl_Module]# tar -xf version-0.99.tar.gz
[root@db01 ~/orzdba/Perl_Module]# cd version-0.99
[root@db01 ~/orzdba/Perl_Module/version-0.99]# perl Makefile.PL
[root@db01 ~/orzdba/Perl_Module/version-0.99]# make
[root@db01 ~/orzdba/Perl_Module/version-0.99]# make test
[root@db01 ~/orzdba/Perl_Module/version-0.99]# make install


安装Module-Build模块
[root@db01 ~/orzdba/Perl_Module]# tar -xf Module-Build-0.31.tar.gz 
[root@db01 ~/orzdba/Perl_Module]# cd Module-Build-0.31
[root@db01 ~/orzdba/Perl_Module/Module-Build-0.31]# perl Build.PL
[root@db01 ~/orzdba/Perl_Module/Module-Build-0.31]# ./Build
[root@db01 ~/orzdba/Perl_Module/Module-Build-0.31]# ./Build test
[root@db01 ~/orzdba/Perl_Module/Module-Build-0.31]# ./Build install


安装File::Lockfile模块
[root@db01 ~/orzdba/Perl_Module]# tar -xf File-Lockfile-v1.0.5.tar.gz 
[root@db01 ~/orzdba/Perl_Module]# cd File-Lockfile-v1.0.5
[root@db01 ~/orzdba/Perl_Module/File-Lockfile-v1.0.5]# perl Build.PL
[root@db01 ~/orzdba/Perl_Module/File-Lockfile-v1.0.5]# perl ./Build
[root@db01 ~/orzdba/Perl_Module/File-Lockfile-v1.0.5]# perl ./Build test
[root@db01 ~/orzdba/Perl_Module/File-Lockfile-v1.0.5]# perl ./Build install


安装Class-Data-Inheritable模块
[root@db01 ~/orzdba/Perl_Module]# tar -xf Class-Data-Inheritable-0.08.tar.gz 
[root@db01 ~/orzdba/Perl_Module]# cd Class-Data-Inheritable-0.08
[root@db01 ~/orzdba/Perl_Module/Class-Data-Inheritable-0.08]# perl Makefile.PL
[root@db01 ~/orzdba/Perl_Module/Class-Data-Inheritable-0.08]# make
[root@db01 ~/orzdba/Perl_Module/Class-Data-Inheritable-0.08]# make test
[root@db01 ~/orzdba/Perl_Module/Class-Data-Inheritable-0.08]# make install


配置登录密码
在代码的160行左右,配置自己的MySQL验证信息:username、password、socket、host、port,建议配置--login-path=dba
[root@db01 ~/orzdba]# vim orzdba
my $MYSQL    = qq{mysql --login-path=dba -s --skip-column-names };


[root@db01 ~/orzdba]# ./orzdba --help


监控系统和MYSQL各项指标
[root@db01 ~/orzdba]# ./orzdba -lazy -rt -S /data/mysql/3306/sock/mysql.sock

监控InnoDB的各项指标
文档中给出[innodb请求命中率]的计算公式为:Hit% = (Innodb_buffer_pool_read_requests - Innodb_buffer_pool_reads) / Innodb_buffer_pool_read_requests * 100%
[root@db01 ~/orzdba]# ./orzdba -innodb -S /data/mysql/3306/sock/mysql.sock

监控MySQL Server性能
[root@db01 ~/orzdba]# ./orzdba -mysql -S /data/mysql/3306/sock/mysql.sock

Linux系统信息的监控
[root@db01 ~/orzdba]# ./orzdba -sys

查询数据库节点主机cpu,每两秒显示一次,共显示10次,将结果放到cpu.log中
# ./orzdba -c -i 2 -C 10 -L cpu.log

猜你喜欢

转载自www.cnblogs.com/zhouwanchun/p/12945313.html