Linux下对nginx日志进行统计分析的常用命令

摘要:
=200){count[$1]+=1}结束{forprint}“2”。统计nginx访问ip:cat/var/log/nginx/access的次数。log-20210128 | awk“{print$1}”|排序nr|uniq|wc-l3。统计不同ip地址的nginx访问次数,从最多到最少排序:cat/var/log/nginx/access。log-20210128|awk“{print$1}”|sort|uniq-c|sort-rn4。统计某段时间内的访问总数:使用正则表达式cat/var/log/nginx/access。log-20210128|grep-E'27/Jan/2021:15'|wc-l统计特定时间段内的访问总数:cat/var/log/nginx/access。log-20210128|grep-E'27/Jan/2021:15[5-6]'|wc-l统计一定时间段内的总访问次数:cat/var/log/nginx/access。log-20210128|grep-E'27/1/2021:1[5-9]|27/1/20201:2[0-3]'|wc–l5。查看前三个最常访问的IP并列出访问IP:cat/var/log/nginx/access。log-20210128 | awk“{print$1}”| sort-n | uniq-c | sort-rn | head-n36。查看访问次数大于X的IP,并列出访问次数:cat/var/log/nginx/access。log-20210128|awk“{print$1}”|sort-n|uniq-c|sort-rn|awk‘{ifprint$0}’7。查询访问频率最高的URL:cat/var/log/nginx/access。log-20210128|awk“{print$7}”|awk-F“?

1.awk对nginx日志文件状态码的查询统计命令:
No.1.

cat /var/log/nginx/access.log-20210128 | awk '{print $9,$10}' | awk 'BEGIN{count[$1]=0}($2!=200){count[$1]+=1}END{for(i in count) print(i,count[i])}'

No.2.

awk '{print $9,$10}' /var/log/nginx/access.log-20210128 | awk 'BEGIN{count[$1]=0}($2!=200){count[$1]+=1}END{for(i in count) print(i,count[i])}'

2.统计nginx访问ip的数量有几个(独立ip访问数量):

cat /var/log/nginx/access.log-20210128 | awk '{print $1}' | sort -nr | uniq | wc -l

3.统计不同ip访问nginx的次数,并由多到少排序:

cat /var/log/nginx/access.log-20210128 | awk '{print $1}' | sort | uniq -c| sort -rn

4.统计在某段时间内(1月27日15点)的访问总次数:
使用正则表达式

cat /var/log/nginx/access.log-20210128 | grep -E '27/Jan/2021:15'| wc -l

统计在某段时间内(1月27日15点-16点)的访问总次数:

cat /var/log/nginx/access.log-20210128 | grep -E '27/Jan/2021:1[5-6]'| wc -l   

统计在某段时间内(1月27日15点-24点)的访问总次数:

cat /var/log/nginx/access.log-20210128 | grep -E '27/Jan/2021:1[5-9]|27/Jan/2021:2[0-3]'| wc –l

5.查看访问最频繁的前3个ip,并列出访问ip:

cat /var/log/nginx/access.log-20210128 | awk '{print $1}' | sort -n | uniq -c| sort -rn | head -n 3

6.查看访问次数大于X(这里假设是100)的ip,并列出访问次数:

cat /var/log/nginx/access.log-20210128 | awk '{print $1}' | sort -n | uniq -c| sort -rn | awk '{if($1>100)print $0}'

7.查询出访问最频繁的URL:

cat /var/log/nginx/access.log-20210128 | awk '{print $7}' | awk -F '?' '{print $1}' | sort -n | uniq -c | sort -nr | head -n 1

对url进行统计:

cat /var/log/nginx/access.log-20210128 | awk '{print $7}' | awk -F '?' '{print $1}' | sort -n | uniq -c | sort –nr

8.统计访问成功次数(状态码为2开头的都为成功2xx):

cat /var/log/nginx/access.log-20210128 | awk '{if($9 ~ /2[0-9]{2}/)print $9}' | wc -l

免责声明:文章转载自《Linux下对nginx日志进行统计分析的常用命令》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇浅谈 C/S 和 B/S 架构Delphi 使用CreateProcess创建进程并弹出进程PID值 (转)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

nginx配合IIS实现简单负载均衡

在linux下部署nginx这里就不多说了。这篇文章主要介绍nginx部署好后,如何配合iis实现负载均衡,没用过java不过原理应该是一样的。1.IIS 部署两个站点端口分别为8081和8082 8081站点和8082站点如下【随便写了个没有样式的很丑的页面】,我特意加了111和222区分 2.设置nginx配置文件,实现简单的负载均衡【推荐xsh...

深入分析解决Deepin 15环境变量修改问题,完成JAVA环境搭建

最近使用deepin配置JAVA环境时发现不论是修改/etc/profile还是~/.profile多次尝试后均无效,不得其解,最后通过官方论坛看到大神对deepin环境配置的解释,以及寻找到相关解决方案。为了解决这个问题跟着了baidu走了不少弯路,过程中也学到不少东西,所以梳理出来,希望不仅能对deepin用户起到帮助而且还能了解对LInux的一些运行...

Linux下swap到底有没有必要使用

周五看到QQ群里在讨论Linux主机上到底需不需要开启swap空间,而且目前公有云主机默认都是把swap关了的,很多公司也是没有开启swap,那到底需不需要开启呢?我之前在看《鸟哥的Linux私房菜》上他写了这么一段话:swap在目前的桌面计算机来讲,存在的意义已经不大了,这是因为目前的X86主机所含的内存实在都太大了,所以我们的系统大概率用不到swap,...

Mysql系列(三)—— Mysql主从复制配置

一.前言 主从复制是Mysql知识体系中非常重的要一个模块。学习主从复制和后续的读写分离是完善只是知识体系的重要环节。且主从复制读写分离的思想并不仅仅局限于Mysql,在很多存储系统中都有该方案,如:redis。 从应用的角度思考,主从复制有如下优点: 可以备份数据,容灾 可以做读写分离,分担单机Mysql节点的压力。master只做write,slav...

KVM/QEMU/qemu-kvm/libvirt 概念全解

前言如果是刚开始接触虚拟机技术的话, 对上述的概念肯定会有所混淆, 傻傻的分不清. 尤其在看虚拟化技术文档时导致理解能力下降, 所以在开始学习虚拟化技术之前对这些概念有一个整体的认识和清晰的理解, 就显得很有必要了. KVMKVM(Kernel-basedVirtual Machine,基于内核的虚拟机),狭义 KVM 指的是一个嵌入到 Linux ker...

[zz]Linux中的/etc/profile文件

【一、让/etc/profile文件修改后立即生效】 方法1:让/etc/profile文件修改后立即生效 ,可以使用如下命令:# .  /etc/profile注意: . 和 /etc/profile 有空格方法2:让/etc/profile文件修改后立即生效 ,可以使用如下命令:# source /etc/profile附:Linux中source命令...