网站首页 > 技术文章 正文
恭喜查看本文的读者,一定让你学会这个知识。
不说废话,直接看!如下是日志格式,
$4字段是[01/Aug/2016:01:02:00 +0800],请求的日志记录时间
1.1.1.1 - - [01/Aug/2016:01:02:00 +0800] "GET http:********
2.2.2.2 - - [01/Aug/2016:01:02:00 +0800] "GET http:********
3.3.3.3 - - [01/Aug/2016:01:02:01 +0800] "GET http:********
......
一、想知道01时内,每分钟的请求数
先grep下然后再分析?那会不会累趴。。
二、想知道某几个小时内每个小时的请求数,那还可能用:
zcat 日志文件|grep "Aug/2016:01:"|wc -l
然后下一个小时就grep下02、03、04的。虽然不是好办法,至少也算是办法吧~~
三、先丢出命令再说
$ zcat 2016-08-01-02-*|awk '{a[substr($4,17,2)]++}END{for(i in a) print i "分",a[i]}'|sort -n
$ zcat 2016-08-01-0[2-8]-*|awk '{a[substr($4,14,2)]++}END{for(i in a) print i "时",a[i]}'|sort -n
我的日志是用zcat查看的,如果测试自己的日志,根据自己日志格式来定是cat还是zcat。
上面的方法提升效率不知道快了多少倍吧!知其然还需要知其所以然,下面花1分钟解释下:
{a[substr($4,14,2)]++}
substr($4,14,2)根据每行日志的$4字段(awk默认用了空额来分隔),也就是这一段:
[01/Aug/2016:01:02:00,然后从左往右数第14个字符开始,数2个字符,就是“小时”字段,也就是substr($4,14,2)
把这两个字符放到a[ ]++数组里,相同时候就++,END后打印出来便得到每个数组的次数。
根据日志的时间字段修改下substr($4,14,2)内3段即可。
如上,花个1分钟学会!~转发收藏~,记得每天来查收一篇@all
点击"关注"申请关注本头条号,每天没学到点知识,怪我咯?关注每天给你一点小知识。
猜你喜欢
- 2025-01-24 Zabbix入门操作指南(zabbix4.0使用手册)
- 2025-01-24 CentOS8部署Zabbix6.0监控系统详细步骤
- 2025-01-24 基于Centos7.9部署zabbix5.0(centos7配置教程)
- 2025-01-24 zabbix6.0 LTS 保姆级安装教程(zabbix4.0安装)
- 2025-01-24 alma8飞速搭建zabbix6、微信报警、windows、linux、交换机监控
- 2025-01-24 Linux中常用命令(linux常用命令查询端口是否正常)
- 2025-01-24 Centos8 安装 zabbix(centos安装bazel)
- 2025-01-24 CentOS7下Zabbix5.0+PostgreSQL12+TimescaleDB部署实践
- 2025-01-24 这篇保姆级 Zabbix 必备指南,助你成为监控老司机
- 2025-01-24 Linux面试题和答案!(linux经典面试题)
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)