免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3145 | 回复: 6
打印 上一主题 下一主题

[文本处理] apache日志分析脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-10 18:40 |只看该作者 |倒序浏览
需求:一个分析apache日志的脚本或者命令
实现的功能,显示日志中每小时流量,(显示型式可以是下面这样,也可以是你喜欢的任意型式)
# sh  hour.sh  access_20130510.log
00:00 - 01:00  2G
01:01 - 02:00  3G
03:01 - 04:00  4G
..............


日志文件名:access_20130510.log
日志格式:
202.202.3.2  101.101.2.2  303.303.4.3  -  -  [10/May/2013:00:00:01 +800]  "GET  /product.shtml  HTTP/1.1"  200  3700  4321
解释:
客户端IP        CDNIP           CDNIP           -  -  服务器接收时间                时区     获取方式  域名后面跟的参数  协议     状态吗  请求大小(字节)  服务器处理时间


          不要安装什么日志分析软件.

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
2 [报告]
发表于 2013-05-10 19:30 |只看该作者
本帖最后由 rdcwayx 于 2013-05-10 21:32 编辑

这个不难,自己写写看啦。

思路: 对第六个字段提取小时值,对倒数第二个字段归类想加即可。

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
3 [报告]
发表于 2013-05-10 21:40 |只看该作者
用awk , 二楼思路。
显示形式最好如下:
第 1 小时  2G
第 2 小时  3G
....

论坛徽章:
0
4 [报告]
发表于 2013-05-11 00:01 |只看该作者
本帖最后由 610302547 于 2013-05-11 00:02 编辑

回复 2# rdcwayx


    多谢,
  1. #!/bin/bash
  2. hour=`seq -w 00 23`
  3. for a in ${hour}
  4. do
  5. traffic=`cat $1 |grep "/2013:${a}"|awk '{sum+=$11} END {print sum/1024/1024/1024}' `
  6. echo "$a: ${num}"
  7. done
复制代码

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
5 [报告]
发表于 2013-05-11 08:32 |只看该作者
@610302547没有充分利用awk的功能,感觉有点浪费,楼上的脚本的功能,一条awk语句就能实现。

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
6 [报告]
发表于 2013-05-11 09:46 |只看该作者
回复 1# 610302547
  1. awk -F'[ :]+' '{a[$7]+=$15}END{for(i in a)print i,a[i]}'  logfile
复制代码

论坛徽章:
0
7 [报告]
发表于 2013-05-14 10:39 |只看该作者
回复 5# cao627


    笨人有笨人的法,能解决问题就行.
还是谢谢你
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP