问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux环境下,查询统计命令是什么?

发布网友 发布时间:2022-04-19 13:46

我来回答

1个回答

热心网友 时间:2023-05-07 04:21

在上文中,我们已经详细介绍 linux 三剑客的基本使用,接下来我们看看具体在性能测试领域的运用,本文主要介绍的是在 Tomcat 和 Nginx access日志的统计分析。

server.xml 使用配置方式,%D-请求时间,%F-响应时间

字段说明如下:

日志样例:

使用默认 combined 的经典格式上扩展 response_time&upstream_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 日志自己举一反三。

如果我们想知道那些类型的浏览器访问过网站,并按出现的次数倒序排列,我可以使用下面的命令:

此命令行首先解析出浏览器域,然后使用管道将输出作为第一个 sort 命令的输入。第一个 sort 命令主要是为了方便 uniq 命令统计出不同浏览器出现的次数。最后一个 sort 命令将把之前的统计结果倒序排列并输出。

我们可以使用下面的命令行,统计服务器返回的状态码,发现系统可能存在的问题。

正常情况下,状态码 200 或 30x 应该是出现次数最多的。40x 一般表示客户端访问问题。50x 一般表示服务器端问题。 下面是一些常见的状态码:

HTTP 协议状态码定义可以参阅: https://www.w3.org/Protocols/rfc2616/rfc2616.html

查找并显示所有状态码为 404 的请求

统计所有状态码为 404 的请求

现在我们假设某个请求 ( 例如 : URI: /path/to/notfound ) 产生了大量的 404 错误,我们可以通过下面的命令找到这个请求是来自于哪一个引用页,和来自于什么浏览器。

有时候会发现其他网站出于某种原因,在他们的网站上使用保存在自己网站上的图片。如果您想知道究竟是谁未经授权使用自己网站上的图片,我们可以使用下面的命令:

注意:使用前,将 www.example.com 修改为自己网站的域名。

统计共有多少个不同的 IP 访问:

统计每一个 IP 访问了多少个页面:

将每个 IP 访问的页面数进行从小到大排序:

统计 2018 年 8 月 31 日 14 时内有多少 IP 访问 :

统计访问最多的前十个 IP 地址

查看某一个 IP访问了哪些页面:

统计某个 IP 的详细访问情况,按访问频率排序

列出传输大小最大的几个文件

列出输出大于 204800 byte ( 200kb) 的页面以及对应页面发生次数

列出访问最频的页面(TOP100)

列出访问最频的页面([排除php页面】(TOP100)

列出页面访问次数超过100次的页面

列出最近1000条记录,访问量最高的页面

统计每分钟的请求数,top100的时间点(精确到分钟)

统计每小时的请求数,top100的时间点(精确到小时)

统计每秒的请求数,top100的时间点(精确到秒)

统计当天的 pv

说明:

可以使用下面的命令统计出所有响应时间超过 3 秒的日志记录。

注意:NF 是当前记录中域的个数。$NF 即最后一个域。

列出php页面请求时间超过3秒的页面,并统计其出现的次数,显示前100条

列出相应时间超过 5 秒的请求,显示前20条

统计蜘蛛抓取次数

统计蜘蛛抓取404的次数

通过本文的介绍,我相信同学们一定会发现 linux三剑客强大之处。在命令行中,它还能够接受,和执行外部的 AWK 程序文件,可以对文本信息进行非常复杂的处理,可以说“只有想不到的,没有它做不到的”。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 linux命令 统计文件中数据出现次数 Linux命令如何统计包含某字符串的文件数 linux中什么命令可以统计文件中的信息 关于LINUX最基本的一些命令? linux 统计当前系统记住的历史命令个数用什么命令 下面用于对文本文件abc中出现字符串"linux"的行进... linux哪个命令用来统计一个文件行数 linux下如何统计一个目录下的文件个数以及代码总行... 微信上怎样回复你消息的人,说明人家压根没看上你? 在微信上如何回复你消息的人,是真的很在意你? 别人通过微信怎么回复好 如何巧妙的问别人微信 聊微信当别人问你是谁的时候怎么回答人家才有兴趣... 别人微信问我在吗,应该怎么回答 加入陌生人微信时,当别人问你是谁,应该怎么回答 微信好友问你:“在吗?”,如何回答最机智? 微信中如何回复别人的信息 微信问你是谁怎么回答? 微信中怎么回复别人的问题 微信上别人问我你在干嘛呢?该如何回答 linux中wc -l指令用法,我知道怎么得到一个文件的... Linux统计某个文件的hello的次数是什么指令 如何统计Linux的进程数 linux除了用wc命令来统计文件的字符数、字数、行数... linux的常用命令有那些 linux借用外部命令expr,实现计算器功能,利用管道... linux如何使用grep ,wc -l命令统计一个文件中的多... linux 路径之后跟了一个命令计数器,我每次输入一... 怎么统计当前linux中以字母c开头的命令的个数 linux shell脚本中如何统计某一行中某字符出现的个数 手机怎么强制分屏 vivoX20怎么强制分屏? 荣耀play怎么强制分屏? 怎么强制分屏? vivo手机如何强制分屏学习通? vivo+s10如何强制分屏 vivo手机如何强制分屏学习通 可以强制分屏,怎么设置 如何强制把应用分屏? 那个强制分屏怎么搞,我已经打开开发者模式了?