perl增量分析日志
发布时间:2020-12-15 23:43:50 所属栏目:大数据 来源:网络整理
导读:#!/usr/bin/perl#取文件行数##循环开始清空文件use POSIX;use CGI;use DBI;my $dbName = 'oadb';my $dbUser = 'query';my $dbUserPass = 'query';my $dbh = DBI-connect("dbi:Oracle:$dbName",$dbUser,$dbUserPass) or die "can't connect to database " ;my
#!/usr/bin/perl #取文件行数 ##循环开始清空文件 use POSIX; use CGI; use DBI; my $dbName = 'oadb'; my $dbUser = 'query'; my $dbUserPass = 'query'; my $dbh = DBI->connect("dbi:Oracle:$dbName",$dbUser,$dbUserPass) or die "can't connect to database " ; my $dir = '/usr/local/apache-tomcat-7.0.55_8081/logs'; my $file = 'catalina.out'; my $SDATE = strftime("%Y-%m-%d",localtime()); my $XDATE = strftime("%Y%m%d%H%M%S",localtime()); $mon_file = "$dir/$file"; if (-f "tmp.out"){ open FILE,">tmp.out"; close FILE;} open( A,"<","count.txt" ); while (<A>) { $count = $_; }; print "上次记录的记录数为$countn"; open(my $fh,'<',"$mon_file"); $. = 0; while (<$fh>) { ($num=$.) if eof; }; print "文件最新的记录数为$num"."n"; open( B,">","count.txt" ); print B ("$numn"); if ( defined($count) && $num != $count && $num !=0 ) { print "开始处理n"; open( C,"$mon_file" ) || die "$!n"; while (<C>) { if ($. > "$count" ){ open( D,">>","tmp.out" ); print D ("$_"); } } }; close D; ##########监控关键字,以空格隔开################ @warn_arr = qw/ 登录失败 登陆失败 用户名或密码错误/; foreach $a (@warn_arr) { $i = 0; $num = 0; $b = 0; open( D,"tmp.out" ) || die "$!n"; while (<D>) { $num++; if ( ( $_ =~ /$a/i ) && ($_ =~ /ClientAuthRealm/i) ) { $i++; $b = $num ;$c = $num -1; print "$b is $bn"; print "$c is $cn"; open( E,"tmp.out" ) || die "$!n"; while (<E>) { if ( $. == "$c" ){ if ($_ =~ /.*username=(.*?)&password.*/){$USER=$1};}; if ( $. == "$b" ){ if ($_ =~/.*{("retCode.*?)}.*/){$err_mes=$1}; if ($_ =~/(.*?),.*/){$date=$1;} }}; close E; print "$USER is $USERn"; print "$err_mes is $err_mesn"; print "$date is $daten"; $dbh->do("INSERT INTO QUERY.ERR_INFO values('$USER','121.40.167.35',to_date('$SDATE','yyyy-mm-dd'),'$date||$err_mes',to_date('$XDATE','YYYYMMDDHH24MISS'))") or die($DBI::errstr); }; }; close D; }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |