Mojo 分析日志接口
- #!/usr/bin/perl
- #取文件行数
- ##循环开始清空文件
- use POSIX;
- use DBI;
- my $dir = '/data01/applog_backup';
- my $file = "$ARGV[0]";
- my $SDATE = strftime("%Y-%m-%d",localtime());
- my $XDATE = strftime("%Y%m%d%H%M%S",localtime());
- my $mon_file = "$dir/$file";
- my $USER="$ARGV[1]";
- my $IP="$ARGV[2]";
- my $ENV="$ARGV[3]";
- my $dbUser='DEVOPS';
- my $user="root";
- my $passwd="1234567";
- my $dbh = DBI->connect("dbi:mysql:database=$dbUser;host=192.168.32.161;port=3306",$user,$passwd) or die "can't connect to database ". DBI-errstr;
- $dbh->do("SET NAMES utf8");
- open FILE,">tmp.out";
- close FILE;
- open( A, "<", "count.txt" );
- while (<A>)
- {
- $count = $_;
- };
- print "上次记录的记录数为$count\n";
- open(my $fh, '<', "$mon_file");
- $. = 0;
- while (<$fh>) {
- ($num=$.) if eof;
- };
- print "文件最新的记录数为$num"."\n";
- open( B, ">", "count.txt" );
- print B ("$num\n");
- ###获取增量记录
- if ( $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;
- ##########监控关键字,以空格隔开################
- my @warn_arr = qw/Exception Err/;
- my @exp=qw/testscan HandleProxyTradeGroup/;
- ##$i 是匹配的次数,$b是最后一个匹配的行HandleProxyTradeGroup
- foreach $a (@warn_arr)
- {
- my $i = 0;
- my $num = 0;
- my $b = 0;
- open( D, "<", "tmp.out" ) || die "$!\n";
- while (<D>)
- {
- my @err_info=();
- $num++;
- if (( $_ =~ /$a/i ) and ($_ !~ /HandleProxyTradeGroup/))
- {
- $b = $num ;
- print "\$b is $b\n";
- open( E, "<", "tmp.out" ) || die "$!\n";
- while (<E>) {
- $_ =~ s/'//g;
- if (($. >= "$b") and ($. <= "$b" + 5) ){push( @err_info, $_ ) };};
- close E;
- chomp @err_info;
- print @err_info;
- print "\n";
- $dbh->do("INSERT INTO err_info(host_name,host_ip,v_date,info,env) values('$USER','$IP','$XDATE','@err_info','$ENV')") or die($DBI::errstr);
- };
- };
- close D;
- };
Mojo 分析日志接口的更多相关文章
- (C#)日志接口请求响应时间
日志接口响应时间,记录接口请求信息,响应结果以及响应时间等.可以清楚的分析和了解接口状态. 如果一个一个地在接口下面做日志,那不是我们想要的结果.所以,我们选择做一个特性来控制接口要不要记录请求响应日 ...
- 精尽Spring Boot源码分析 - 日志系统
该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...
- Oracle logmnr工具分析日志脚本
在oracle:对logmnr工具分析日志这个不陌生:对数据恢复应用场景经常用到:这里为了方便对归档日志进行分析: 当然网上有一个logmnr界面的工具:感觉很人性化:下载需要积分:为此写一个脚本. ...
- 利用WebLog Experet分析日志获取性能需求
一.下载WebLog Expert日志分析工具 官网下载地址:http://www.weblogexpert.com/download.htm 二.安装 安装很简单,点击“下一步”默认安装即可 三.配 ...
- txt文件按行处理工具类(可以截取小说、分析日志等)【我】
txt文件按行处理工具类(可以分析日志.截取小说等) package file; import java.io.BufferedReader; import java.io.BufferedWrite ...
- shell分析日志常用指令合集
数据分析对于网站运营人员是个非常重要的技能,日志分析是其中的一个.日志分析可以用专门的工具进行分析,也可以用原生的shell脚本执行,下面就随ytkah看看shell分析日志常用指令有哪些吧.(log ...
- linux运维之分析日志相关命令(1)
一.分析日志 1.查看有多少IP访问 awk '{print $1}' log_file|sort|uniq|wc -l 2.查看某一个页面被访问的次数 grep "/index.php&q ...
- centos7安装Logwatch配合msmtp邮件客户端发送服务器监控分析日志
########################### #DATE 2016-07-29 # #Authur by Denilas Yeung ...
- 通过mysqldumpslow来分析日志
通过mysqldumpslow来分析日志. 将mysql加入到全局变量中!!! sudo vim /etc/profile # 添加Mysql export PATH=$PATH:/usr/local ...
随机推荐
- 高级UIKit-06(UIImagePickerController)
[day07-1-getSystemImage]:获取系统相册 UIImagePickerController图片采集控制器 picker采集者,采摘者 该方法继承自:UINavigationCont ...
- Qt 无边框窗体改变大小 完美实现
近期,做项目用到无边框窗体,令人蛋疼的是无边框窗体大小的改变要像右边框那样,上下左右四周,而且要流畅. 网上也找了些代码,发现居然还要连接到windows事件,这显然不合常理,后来自己新建了demo, ...
- .NET Framework 4.5新特性
前言 .Net FrameWrok的每个版本都要他的新特性的加入,比如,NET1.1中的委托,NET2.0中的泛型,NET3.0中的Linq,.NET4.0中的动态类型,那么.NET Framewor ...
- PowerMock mock私有方法
import java.util.Random; public class CodeWithPrivateMethod { public void meaningfulPublicApi() { if ...
- Git命令非主流札记
使用git做开发的版本管理也有一年半之多了,但是始终都是常用的branch commit status diff push等一些再常用不过的命令,最近闲下来,打算学习一下高端用法,所以就静下心来好好读 ...
- cocos2d-x游戏开发系列教程-中国象棋04-摆棋
前情回顾 在之前的学习中,我们已经了解到,下棋主界面是由CCMainMenu类实现的,在它的init函数中,初始化了 主界面需要的各种数据,包括:创建控件,初始化32个棋子,初始化执行变量等等,在这个 ...
- Gora_百度百科
Gora_百度百科 Gora 编辑 目录 1什么是Apache Gora 2为什么要使用Apache Gora 3Gora的一个源代 ...
- 多图片/文件上传 - SwfUpload/PlUpload
<文件上传利器SWFUpload使用指南> <前端上传组件Plupload使用指南>
- sharepoint 2013 根据网站模版创建网站,并赋值网站权限 create a site by custom site template
通过程序,根据网站模版,创建新的网站 private void CreateSiteBySiteTemplate() { SPSecurity.RunWithElevatedPrivileges(de ...
- com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: SELECT command denied to user 'xxxx'@''
这两天项目一直在报这个错误消息: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: SELECT command denied to ...