免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234
最近访问板块 发新帖
楼主: yu34po
打印 上一主题 下一主题

每天5G的nginx日志,需要怎么分析? [复制链接]

论坛徽章:
7
戌狗
日期:2013-12-15 20:43:38技术图书徽章
日期:2014-03-05 01:33:12技术图书徽章
日期:2014-03-15 20:31:17未羊
日期:2014-03-25 23:48:20丑牛
日期:2014-04-07 22:37:44巳蛇
日期:2014-04-11 21:58:0915-16赛季CBA联赛之青岛
日期:2016-03-17 20:36:13
31 [报告]
发表于 2013-12-19 00:35 |只看该作者
现在主要的问题是url是某段?~

61.4.184.92 - - [05/Dec/2013:00:13:54 +0800] "GET /data/?areaid=101211001&type=observe&date=201312042352&appid=f63d32&key=hktQjJJME8FVe1RKC6cg2vIfh3M%3D HTTP/1.1" 200 297 "-" "SAMSUNG-Android" 10.239.163.3
61.4.184.90 - - [05/Dec/2013:00:13:54 +0800] "GET /data/?areaid=101080801&type=observe&date=201312042352&appid=7c1429&key=cLX3kjDH4xin7TeXbA1jTfbKHnw= HTTP/1.1" 200 77 "-" "Dalvik/1.6.0 (Linux; U; Android 4.1.2; Coolpad 7268 Build/JZO54K)" -

论坛徽章:
0
32 [报告]
发表于 2013-12-19 09:28 |只看该作者
本帖最后由 yu34po 于 2013-12-19 21:36 编辑

回复 31# rubyish

61.4.184.92 - - [05/Dec/2013:00:10:05 +0800] "GET /data/?areaid=101091101&type=observe&date=201312042349&appid=74uq29&key=BfefdfdhzGNDNVpMQaortggDQ= HTTP/1.1" 200 76 "-" "Dalvik/1.6.0 (Linux; U; Android 4.1.1; MI 2S MIUI/JLB23.0)" -
61.4.184.90 - - [05/Dec/2013:00:10:06 +0800] "GET /data/?areaid=101210101&type=forecast&date=201312042349&appid=f61f32&key=Cums98rfefesdmJA85YDaOO4DEG74%3D HTTP/1.1" 200 1167 "-" "SAMSUNG-Android"
我去,这下完了,说要统计以appid为key对应的ip,url和请求的次数,还要以ip为key,对应的appid,url和请求的次数,再要以url为key,对应的appid,ip和请求的次数,
我去……。adkh
appid:    d30b9f//以appid为key
times:    30
url:        "/data/?areaid=101091101&type=observe&date=201312042349&appid=74uq29&key=BfefdfdhzGNDNVpMQaortggDQ= HTTP/1.1","..."
ip:         "10.10.10.10","11.11.11.11","..."

ip:         "1.1.1.1"//以ip为key,只统计超过1000条的数据
times:    300
url:        "/data/?areaid=101091101&type=observe&date=201312042349&appid=74uq29&key=BfefdfdhzGNDNVpMQaortggDQ= HTTP/1.1","..."
appid:    "d30b9f"

url:        "/data/?areaid=101091101&type=observe&date=201312042349&appid=74uq29&key=BfefdfdhzGNDNVpMQaortggDQ= HTTP/1.1"//以url为  
             key,只统计超过1000条的数据
times:    40
ip:         "10.10.10.11","..."
appid:    "d30b9f","..."

论坛徽章:
0
33 [报告]
发表于 2013-12-19 09:36 |只看该作者
回复 31# rubyish


    一条ip可能对应多条appid和多条ref,这还真难弄了。

论坛徽章:
0
34 [报告]
发表于 2013-12-19 12:03 |只看该作者
回复 31# rubyish


    大神快来啊

论坛徽章:
0
35 [报告]
发表于 2013-12-20 08:30 |只看该作者
1111111111111111111111

论坛徽章:
7
戌狗
日期:2013-12-15 20:43:38技术图书徽章
日期:2014-03-05 01:33:12技术图书徽章
日期:2014-03-15 20:31:17未羊
日期:2014-03-25 23:48:20丑牛
日期:2014-04-07 22:37:44巳蛇
日期:2014-04-11 21:58:0915-16赛季CBA联赛之青岛
日期:2016-03-17 20:36:13
36 [报告]
发表于 2013-12-21 03:13 |只看该作者
biru:
  1. #!/usr/bin/perl

  2. my $log = 'mytestlog';
  3. open my $f, $log or die "$log: $!";
  4. my ( %ip, %id, %url );

  5. while (<$f>) {
  6.     my $url = ( split /"/, $_, 3 )[1];
  7.     $url = substr $url, 4;
  8.     next unless $url;
  9.     my ( $ip, $appid ) = /^(\S+).*?appid=(\w+)/;
  10.     next unless $appid;
  11.     $url{$url}{times}++;
  12.     $ip{$ip}{times}++;
  13.     $id{$appid}{times}++;
  14.     $ip{$ip}{url}{$url}       = 1;
  15.     $ip{$ip}{appid}{$appid}   = 1;
  16.     $url{$url}{ip}{$ip}       = 1;
  17.     $url{$url}{appid}{$appid} = 1;
  18.     $id{$appid}{url}{$url}    = 1;
  19.     $id{$appid}{ip}{$ip}      = 1;
  20. }

  21. while ( my ( $k, $v ) = each %id ) {
  22.     next if length $k != 6;
  23.     print "appid:\t", $k, $/;
  24.     print "times:\t", $v->{times}, $/;
  25.     print "url:\t", join( ', ', keys %{ $v->{url} } ), $/;
  26.     print "ip:\t", join( ', ', keys %{ $v->{ip} } ), $/, $/;
  27. }

  28. print $/;

  29. while ( my ( $k, $v ) = each %ip ) {
  30.     next if $v->{times} < 1000;
  31.     print "ip:\t$k$/";
  32.     print "times:\t$v->{times}$/";
  33.     print "url:\t", join( ', ', keys %{ $v->{url} } ), $/;
  34.     print "appid:\t", join( ', ', keys %{ $v->{appid} } ), $/, $/;
  35. }

  36. print $/;

  37. while ( my ( $k, $v ) = each %url ) {
  38.     next if $v->{times} < 1000;
  39.     print "url:\t$k$/";
  40.     print "times:\t$v->{times}$/";
  41.     print "ip:\t", join( ', ', keys %{ $v->{ip} } ), $/;
  42.     print "appid:\t", join( ', ', keys %{ $v->{appid} } ), $/, $/;
  43. }
复制代码

论坛徽章:
0
37 [报告]
发表于 2013-12-23 09:43 |只看该作者
本帖最后由 yu34po 于 2013-12-23 10:12 编辑

回复 36# rubyish

太牛了。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP