myawr怎么安装配置及使用?

1、如何配置mysql的myawr
2、如果使用mysql的myawr

1回答

岳彩波岳彩波  数据库运维工程师 , 中能源
yi1982523王磊磊aixchina赞同了此回答
一:在储存采集信息的库上执行快速安装配置:1,执行SQL脚本的内容:myawr.sql二:在需要采集的数据库上首先检查是否安装 perl-DBD-MySQLrpm -qa perl-DBD-MySQL*没有安装的话直接 yum install perl-DBD-MySQL* 即可。1。检查安装模块:[root@oel58 aaa]# cat listmodle.pl !usr/bi...显示全部

一:在储存采集信息的库上执行快速安装配置:
1,执行SQL脚本的内容:myawr.sql
二:在需要采集的数据库上首先检查是否安装 perl-DBD-MySQL
rpm -qa perl-DBD-MySQL*
没有安装的话直接 yum install perl-DBD-MySQL* 即可。
1。检查安装模块:
[root@oel58 aaa]# cat listmodle.pl

!usr/bin/perl

use strict;
use warnings;
use ExtUtils::Installed;
my $inst = ExtUtils::Installed->new();
print join "\n", $inst->modules();
[root@oel58 ~]# perl listmodle.pl
DBD::mysql
DBI
Perl
2.检查DBD的可用性:
CREATE TABLE test (
name varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO test (name) VALUES ('hello world');
[root@oel58 ~]# cat dbd.pl

!/usr/bin/perl

use DBI;
my $dbh = DBI->connect( "DBI:mysql:database=test;host=localhost",
"root", "123456", { 'RaiseError' => 1 } );

my $rows = $dbh->do("INSERT INTO test (name) VALUES ('hello world')");

my $query = $dbh->prepare("SELECT name FROM test");
$query->execute();
while ( $ary = $query->fetchrow_arrayref() ) {
print ( $ary->[0] . "\n");
}
3 初始化数据库(注意:这个是在你要保存信息的mysql数据库上部署)
增加配置信息:
INSERT INTO myawr_host(id,host_name,ip_addr,port,db_role,version, running_thread_threshold,times_per_hour) VALUES (6, 'db2.11', '192.168.3.11', 3306, 'master', '5.6.10',10000,0);
4. job(注意:这个是在你想要采集信息的mysql数据库上部署):
grant all on . to 'superuser'@'localhost' identified by "111111";
5.在把下列脚本部署成job前,可以先手工运行一下:
* * * * * perl /root/myawr/myawr.pl -u superuser -p 111111 -lh localhost -P 3306 -tu myuser -tp 111111 -TP 3306 -th 192.168.137.9 -n eth0 -d sda3 -I 6 >> /root/myawr/myawr_pl.log 2>&1
下面的脚本可以模拟有lock wait的情况:
use test;
create table txtest
(id int primary key ,
name varchar(200))
engine=innodb default charset = utf8 ;
insert into txtest values(1, 'xxxxxxxxxxxxxxxxxxxx');
insert into txtest values(2, 'zzzzzzzzzzzzzzzzzzzzzzz');
insert into txtest values(3, 'sssssssssssssssssssss');
commit;

事物一

start transaction;
update txtest set name='ddddddddd' where id =1 ;
update txtest set name='wwwwwwwwwwwddddddddd' where id =2 ;

事物二

start transaction;
update txtest set name='kkkkkkkkkkkkkkkkkk' where id =1 ;

事物二

select sleep(300);
在把下列脚本部署成job前,可以先手工运行一下:
./pt-query-digest --user=myuser --password=111111 --review h=192.168.137.9,D=myawr,t=myawr_query_review --review-history h=192.168.137.9,D=myawr,t=myawr_query_review_history --no-report --limit=100% --filter=" \$event->{add_column} = length(\$event->{arg}) and \$event->{hostid}=6" /var/lib/mysql/oel58-slow.log
6 生成report:
perl myawrrpt.pl -u myuser -p 111111 -P 3306 -lh 192.168.137.9 -I 6
perl myawrsrpt.pl -u myuser -p 111111 -P 3306 -lh 192.168.137.9 -I 6 -s 29

开源地址:https://github.com/noodba/myawr
WorkLoad Report 样例:http://www.noodba.com/myawr.html
snapshot report 样例: http://www.noodba.com/myawr_snapshot.html
上边的网址这几天可能访问不了

收起
 2017-10-12

提问者

chenruiziyao系统测试工程师, 打杂

问题状态

  • 发布时间:2017-10-12
  • 关注会员:2 人
  • 问题浏览:121
  • 最近回答:2017-10-12
  • 关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
    © 2017 talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30