/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件
LINUX 使用grep命令查看某个指定时间段的日志按分钟段查看日志日志时间段linux命令:
grep '2019-03-02 11:4[1-2]' user-center.2019-03-02.log
按秒数段查看日志:
grep '2019-03-02 11:42:[01-59]' user-center.2019-03-02.log
Linux日志截取利器——sed命令(亲测可用) 在生产环境中,往往没有条件给日志时间段linux命令我们去debug排查,更多时候我们是通过日志来看具体的报错日期 。
但是日志往往是一直在实时更新,而且记录条数庞大,很难直接定位到错误信息 。这个时候,就可以利用sed命令来截取指定时间段内的日志(也是网上大多数博主的做法) 。
具体命令如下:
这条命令可以查询2020.10.13号当天9点到9点十分中间的所有的日志信息 。
但是这条命令的使用有两个前提(很多网上的博主都没有提到)
第一,日志输出的日期格式是要满足命令中的格式 ,如果不是的话就跟着实际的格式改
第二 , 输入的日期必须要真实存在日志时间段linux命令?。。?,比如说9点整刚好没有日志输出,那么这条命令就会失效
更加通配的命令可以是这样 , 使用号*
这样无论九点整的时候是否有日志产生 , 就都可以获取到9点整到现在的所有日志日志时间段linux命令了
使用 , 将截取到的内容输出到指定的文件中 , 方便进一步查看
ps:在实际操作中,我们一般会在后面加grep命令做进一步的关键字过滤
Linux常见日志统计分析命令在上文中,我们已经详细介绍 linux 三剑客的基本使用 , 接下来我们看看具体在性能测试领域的运用,本文主要介绍的是在 Tomcat 和 Nginx access日志的统计分析 。
server.xml使用配置方式,%D-请求时间,%F-响应时间
字段说明如下:
日志样例:
使用默认 combined 的经典格式上扩展response_timeupstream_response_time
nginx.conf使用配置方式:
字段说明如下:
日志示例:
为了能理解 AWK 程序,我们下面概述其基本知识 。
模式( pattern ) 用于匹配输入中的每行文本 。对于匹配上的每行文本,awk 都执行对应的 动作( action ) 。模式和动作之间使用花括号隔开 。awk 顺序扫描每一行文本,并使用 记录分隔符(一般是换行符)将读到的每一行作为 记录,使用 域分隔符( 一般是空格符或制表符 ) 将一行文本分割为多个 域,每个域分别可以使用 2, … 表示 。1 表示第一个域,表示第二个域,n 表示第 n 个域 。$0 表示整个记录 。模式或动作都可以不指定 , 缺省模式的情况下,将匹配所有行 。缺省动作的情况下,将执行动作 {print},即打印整个记录 。
此处使用Nginx access.log 举例,Tomcat 日志自己举一反三 。使用 awk 分解出Nginx access日志中的信息
以此类推…… 当我们使用默认的域分割符时,我们可以从日志中解析出下面不同类型的信息:
我们不难发现 , 仅使用默认的域分隔符,不方便解析出请求行、引用页和浏览器类型等其他信息,因为这些信息之中包含不确定个数的空格 。因此,我们需要把域分隔符修改为 “,就能够轻松读出这些信息 。
注意:这里为了避免 Linux Shell 误解 “ 为字符串开始,我们使用了反斜杠,转义了 “。现在,我们已经掌握了 awk 的基本知识,以及它是怎样解析日志的 。
此处使用Nginx access.log 举例,Tomcat 日志自己举一反三 。
如果我们想知道那些类型的浏览器访问过网站,并按出现的次数倒序排列 , 我可以使用下面的命令:
推荐阅读
- 泾县招聘直播运营主管,高薪招聘直播运营
- postgresql异地备份,sql数据库异地备份工具
- python命令获取结果,python获取命令行输出
- gis画多边形,arcgis多边形裁剪影像
- mysql怎么储存过程 mysql的存储过程保存在哪里
- mysql索引类型转换,mysql 类型转换 索引
- rubyinjectjquery的简单介绍
- 怎么给电脑再加一个硬盘,电脑如何再加个硬盘
- 关于linuxpscp命令的信息