#!/usr/bin/perl -w
use strict;
use warnings;
use Tie::File; ####
# Thinkphp日志分析
# 日志基本格式:{$now} ".$_SERVER['REQUEST_URI']." | {$level}: {$message}\r\n", $type,$destination,$extra
# 使用方法:
# sub parse_log{
my $file = shift;
open my $fd , "<" , $file or die "open file error";
my %hash ; #字符串与访问次数哈希表 while(<$fd>){
# 2013-11-18 01:30:05+08:00 uri info tag-end Runtime
if( /\[ (\d{}-\d{}-\d{})T(.+) \] (.+) \| (.+) \[ (.+) \]/ ){
my $date = $ ;
my $time = $ ;
my $uri = $ ;
my $info = $ ;
my $runtime = $ ; #下面解析 /APP/?s=Module/action 的情况
if( $uri =~ /(\/.*\/\?s=\w+\/\w+)/ && $info eq "INFO: Tag[ view_end ] --END--" ){
#print "origin:$_\n$info \t $uri\n" ;
my $count = ;
my $date_key = "$date-$1" ;
if( exists $hash{$date_key} ){
$count = $hash{$date_key} + ;
}
$hash{$date_key} = $count;
}
}
}
#排序输出结果
#my @keys = sort { $hash{$b} <=> $hash{$a} or $b cmp $a } keys(%hash);
my @keys = sort keys(%hash);
my @vals = @hash{@keys}; foreach my $key (@keys)
{
print "$hash{$key} \t $key\n";
}
} sub read_file{
my $file = shift ;
parse_log($file);
} sub read_dir{
my $log_home = "/data2/log/202-log/mobiapi/1.0" ;
chdir $log_home or die "chdir error ?!" ;
my @files = <*> ;
for my $file (@files){
read_file($file);
}
} sub main
{
my $file = "/xxx/all.log" ;
print "———————————————$file———————————————————\n";
read_file($file);
} main();

thinkphp日志分析的更多相关文章

  1. 【转】gc日志分析工具

    性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc ...

  2. 海量日志分析方案--logstash+kibnana+kafka

    下图为唯品会在qcon上面公开的日志处理平台架构图.听后觉得有些意思,好像也可以很容易的copy一个,就动手尝试了一下. 目前只对flume===>kafka===>elacsticSea ...

  3. ELK+Kafka集群日志分析系统

    ELK+Kafka集群分析系统部署 因为是自己本地写好的word文档复制进来的.格式有些出入还望体谅.如有错误请回复.谢谢! 一. 系统介绍 2 二. 版本说明 3 三. 服务部署 3 1) JDK部 ...

  4. Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍

    网站日志分析项目案例(一)项目介绍:当前页面 网站日志分析项目案例(二)数据清洗:http://www.cnblogs.com/edisonchou/p/4458219.html 网站日志分析项目案例 ...

  5. Hadoop学习笔记—20.网站日志分析项目案例(二)数据清洗

    网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:当前页面 网站日志分析项目案例 ...

  6. Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析

    网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:http://www.cnbl ...

  7. MyCAT日志分析

    MyCAT日志对于了解MyCAT的运行信息不可获取,譬如MyCAT是否采用读写分离,对于一个查询语句,MyCAT是怎样执行的,每个分片会分发到哪个节点上等等. 默认是info级别,通过log4j.xm ...

  8. ELK+redis搭建nginx日志分析平台

    ELK+redis搭建nginx日志分析平台发表于 2015-08-19   |   分类于 Linux/Unix   |  ELK简介ELKStack即Elasticsearch + Logstas ...

  9. Mysql慢查询和慢查询日志分析

     Mysql慢查询和慢查询日志分析   众所周知,大访问量的情况下,可添加节点或改变架构可有效的缓解数据库压力,不过一切的原点,都是从单台mysql开始的.下面总结一些使用过或者研究过的经验,从配置以 ...

随机推荐

  1. ASP入门(十二)-Application对象

    在一起协同工作以完成某项任务的一组ASP文件称为一个应用程序.Application 对象用于把这些文件捆绑在一起. Application 对象用于在整个应用程序生存期间保存信息. Applicat ...

  2. ASP入门(三)-VBScript变量、运算符

    ASP内置了两种语法引擎,分别是VBScript和JScript. VBScript是VB的一个子集.JScript和JavaScript有些类似. 如果你熟悉VB,建议用VBScript,否则推荐使 ...

  3. centos6默认python2.6升级2.7 卸载python2.6升级2.7

    转自:http://blog.csdn.net/u010098331/article/details/52190354 本文介绍CentOS 6.3从自带的Pyhon版本是2.6升级到2.7.6的方法 ...

  4. windows 下 nginx 的启动 停止 关闭

    停止 nginx -s stop 重新加载配置文件(改动了参数无需重启,只有执行重新加载即可)nginx -s reload 退出 停止  关闭nginx -s quit

  5. Fibre Channel address weaknesses

    http://searchitchannel.techtarget.com/feature/Fibre-Channel-address-weaknesses Figure 2.1 Five layer ...

  6. 通过javac导出Jar包

    我的目录结构d:/test/          ../ src          ../build src下面放java源文件build下面放编译好的classes 下面是我的操作,我在test目录下 ...

  7. 移动端H5的一些基本知识点总结

    移动端H5的一些基本知识点总结 来到这家公司之后,和曾经的工作发生了非常大的转变.曾经我一直是做PC端页面的.来到如今这家公司之后,主要是做手机移动端的页面. 移动端的页面在我这个做习惯了PC端页面的 ...

  8. MySQL 数据类型的简单选择

    选择合适的数据类型:char和varchar: +---------+------------+ | char(6) | varchar(6) | +---------+------------+ | ...

  9. sell 项目 类目表 设计 及 创建

    1.数据库设计 2.类目表 创建 /** * 类目表 */ create table `product_category` ( `category_id` int not null auto_incr ...

  10. SpringMVC学习笔记一:基本概念,执行流程与开发步骤

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6831328.html  一:基本概念 DispatcherServlet:前端控制器,负责把请求分发处理. H ...