网站首页 > 技术文章 正文
恭喜查看本文的读者,一定让你学会这个知识。
不说废话,直接看!如下是日志格式,
$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经典面试题)
- 1508℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 521℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 491℃MySQL service启动脚本浅析(r12笔记第59天)
- 470℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 468℃启用MySQL查询缓存(mysql8.0查询缓存)
- 448℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 428℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 425℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)