myawr怎么安装配置及使用?

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

参与7

1同行回答

y18511664518y18511664518  技术总监 , 长城超云
一:在储存采集信息的库上执行快速安装配置:1,执行SQL脚本的内容:myawr.sql二:在需要采集的数据库上首先检查是否安装 perl-DBD-MySQLrpm -qa perl-DBD-MySQL*没有安装的话直接 yum install perl-DBD-MySQL* 即可。1。检查安装模块:[root@oel58 aaa]# cat listmodle.pl!usr/bin/...显示全部

一:在储存采集信息的库上执行快速安装配置:
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);

  1. 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

  2. 生成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
浏览3027
陈锐 邀答

提问者

陈锐
项目经理打杂
擅长领域: 系统运维服务器中间件

相关资料

问题状态

  • 发布时间:2017-10-12
  • 关注会员:2 人
  • 问题浏览:3249
  • 最近回答:2017-10-12
  • X社区推广