首页 > 系统相关 >awk分析nginx日志

awk分析nginx日志

时间:2022-11-09 12:01:07浏览次数:43  
标签:count log ip cat access nginx awk 日志

nginx日志字段说明

127.0.0.1 - - [31/Aug/2018:16:11:16 +0800] "GET /50x.html HTTP/1.1" 200 537 "-" "curl/7.29.0"

访问ip、访问时间、请求方式、请求url、响应状态码、响应body体大小、ua

 

根据访问ip进行统计

cat access.log | awk '{count[$1]++}END{for(ip in count){print ip,count[ip]}}'

cat access.log | awk '{count[$1]++}END{for(ip in count){print ip"\t"count[ip]}}'|sort -rnk 2

 

统计nginx的响应状态码

cat access.log|awk '{count[$9]++}END{for(ip in count){print ip,count[ip]}}' #各个状态码数量

cat access.log|awk '{count[$9]++}END{for(status in count){print status,count[status]/NR*100"%"}}' #比例统计

cat access.log|awk '{count[$9]++}END{for(status in count){print status"\t"int(count[status]/NR*100)"%"}}' #比例统计保留整数

 

根据ua统计

cat access.log|awk -F'"' '{print $(NF-1)}'

cat access.log|awk -F'"' '{count[$(NF-1)]++}END{for(ua in count){print ua,count[ua]}}'

 

根据时间统计,统计每分钟的访问量、每秒钟的访问量

cat access.log |awk '{print $4}'|awk -F':' '{print $1":"$2":"$3}'|awk '{count[$1]++}END{for(time in count){print time,count[time]}}' #统计每分钟的请求数

cat access.log|awk '{count[$4]++}END{ for(time in count){print time,count[time]} }' #每秒钟请求,并发

 

nginx日志过滤

cat access.log|awk '$9~/^2/' #状态码,正常请求

cat access.log|awk '$9~/^5/' #状态码,处理异常

cat access.log |awk -F'"' '$(NF-1) ~ /iPhone/' #过滤含有iphone的ua

标签:count,log,ip,cat,access,nginx,awk,日志
From: https://www.cnblogs.com/skyflask/p/16873162.html

相关文章

  • Oracle11g redo log 创建、添加、删除(重做日志组,重做日志文件)
    selectgroup#,sequence#,members,bytes,status,archivedfromv$log;selectgroup#,status,type,memberfromv$logfile;添加redo组alterdatabaseaddlogfile(......
  • linux nginx 配置图片服务器
    location~.*\.(gif|jpg|jpeg|png)${expires24h;root/glxy/imgs;#指定图片存放路径access_log/glxy/imgs/log;#日志proxy_store......
  • linux nginx 配置
    nginx水很深的,学习自己去学,这里不讲解:linux一般在 sbin目录下进行操作: 1.基础命令:查看版本: ./nginx-v重新加载配置文件:./nginx-sreload停止服务:./nginx-sstop......
  • nginx重启报错 nginx: [error] open() “/run/nginx.pid“ failed (2: No such file o
    原文: https://blog.csdn.net/CRMEB/article/details/120779362nginx[error]open()“/usr/local/var/run/nginx.pid”failed(2:Nosuchfileordirectory)nginx:......
  • Windows下nginx的使用
    在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动、停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍。1、启动在nginx安装路径中使用cmd进入到D:\n......
  • tempdb日志文件暴增分析
    背景某医院信息科接到CIS系统磁盘空间不足告警,通过排查发现tempdb的日志文件暴增,已经涨到了130G左右,并且还在持续增长中。需要我们紧急排查原因。现象登陆到服务器里,确......
  • Nginx 命令备忘
    安装:brewinstallnginx启动:nginx(默认端口8080,启动后查看http://localhost:8080/)(所以启动了nginx,8080的端口就被占用了)停止:nginx-sstop重启:nginx-sreload查看......
  • 018.MyBatis日志管理
    1.SLF4j与Logback   2.自定义使用logback日志2.1 pom.xml<dependency><groupId>ch.qos.logback</groupId><artifactId>log......
  • paste与awk的拼接命令
    命令概述paste命令会把每个文件以列对列的方式,一列列地加以合并,他就是相当于把两个不同的文件内容粘贴在一起,形成新的文件。注意:paste默认粘贴方式以列的方式粘贴,但是......
  • spdlog日志库源码:sinks系列类
    目录sinks系列类简介特点sinks继承体系sink类sink类声明日志等级阈值sink子类null_sink类模板base_sink类模板basic_file_sink类模板文件工具类file_helperdaily_file_sink......