您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

nginx系列:常用利用shell统计日志

时间:2020-08-31 10:40:47  来源:  作者:

0x01:根据访问IP统计UV

  • UV(Unique Visitor)独立访客,统计访问某站点的用户数;
  • IP(Internet Protocol)独立IP数,是指独立的浏览了页面的不同IP,即统计不同的IP浏览用户数量。同一IP不管访问了几个页面,独立IP数均为1;不同的IP浏览页面,计数会加1。IP是基于用户广域网IP地址来区分不同的访问者的,所以多个用户(多个局域网IP)在同一个路由器(同一个广域网IP)内上网,可能被记录为一个独立IP访问者。另外如果用户不断更换IP,则有可能被多次统计。
awk '{print $1}' access.log | sort | uniq -c | wc -l

 

0x02: 根据访问URL统计PV

  • PV(Page View)访问量, 即页面浏览量或点击量,衡量网站用户访问的网页数量;在一定统计周期内用户每打开或刷新一个页面就记录1次,多次打开或刷新同一页面则浏览量累计。
awk '{print $7}' access.log | wc -l

 

0x03: 统计访问最多的URL

根据访问最多的URL来判断哪些业务比较繁忙;也跟根据情况判断是否该业务是否有黑客攻击。

awk '{print $7}' access.log | sort | uniq -c | sort -n -k 1 -r | more
nginx系列:常用利用shell统计日志

 

加一个more命令主要防止URL一屏幕显示不下的情况。

 

0x04:统计访问最频繁的IP

根据访问IP来判断哪些IP操作最多;也可以根据情况判断该IP是不是疑似攻击IP。

awk '{print $1}' access.log | sort | uniq -c | sort -n -k 1 -r | more
nginx系列:常用利用shell统计日志

 

加一个more命令主要防止IP一屏幕显示不下的情况。

 

0x05:根据时间段统计查看日志

具体使用sed或者grep都可以,主要是编写正则表达式

sed:

cat  access.log | sed -n '/29/Aug/2020:[01-23]/p' | more

grep:

 grep '29/Aug/2020:[01-23]' access.log | more

 

0x06:统计当日的的pv和uv

因为是统计当日的pv和uv,所以在编写命令时之前了解一下Nginx的日志格式。日志的默认格式如下:

nginx系列:常用利用shell统计日志

 

默认输出的月份使用英文简写。

pv:

cat  access.log | sed -n /`date "+%d/%b/%Y"`/p | awk '{print $7}' | sort | wc -l

uv:

cat access.log | sed -n /`date "+%d/%b/%Y"`/p |awk '{print $1}' | sort|uniq -c | wc -l

如果使用以上这两个命令发现统计不出来任何数据时,就要检查一下,系统的语言变量LANG是否配置成中文,如果是需要配置成英文

nginx系列:常用利用shell统计日志

 

 

使用以下命令配置成英文

export LANG="en_US.UTF-8"

这时在执行pv和uv命令应该就可以统计出来了,如下图

nginx系列:常用利用shell统计日志

 

 

0x07:获取最耗时的请求时间、url、耗时

下面是获取最耗时的前十个请求,如果想获取全部去掉:head -10

cat access.log | awk '{print $4,$7,$NF}' 
| awk -F '"' '{print $1,$2,$3}' | sort -k3 -rn | head -10

 

0x08:获取每分钟的请求数量

cat access.log  | awk '{print substr($4,14,5)}' | uniq -c | awk '{print $2","$1}' 
nginx系列:常用利用shell统计日志

 

可以输出到csv格式文件中

cat access.log  | awk '{print substr($4,14,5)}' 
| uniq -c | awk '{print $2","$1}' > access.csv

 

0x09: 查看某个时间段之间的ip访问个数

例如查看10点到19点的访问ip

grep "2020:1[0-9]" access.log | awk '{ips[$1]+=1} END{for(ip in ips) print ips[ip],ip}' | sort -nr | wc -l

如下图

nginx系列:常用利用shell统计日志

 

查看10点到19点之间的ip访问数,并且访问数>=200的ip

grep '2020:1[0-19]' access.log | 
awk '{ips[$1]+=1}END{for(ip in ips) if(ips[ip]>=200) print ips[ip],ip}' | sort -nr


Tags:统计日志   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
0x01:根据访问IP统计UV UV(Unique Visitor)独立访客,统计访问某站点的用户数; IP(Internet Protocol)独立IP数,是指独立的浏览了页面的不同IP,即统计不同的IP浏览用户数量。同一IP不...【详细内容】
2020-08-31  Tags: 统计日志  点击:(74)  评论:(0)  加入收藏
▌简易百科推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  干程序那些事    Tags:CentOS7镜像   点击:(1)  评论:(0)  加入收藏
前言在实现TCP长连接功能中,客户端断线重连是一个很常见的问题,当我们使用netty实现断线重连时,是否考虑过如下几个问题: 如何监听到客户端和服务端连接断开 ? 如何实现断线后重...【详细内容】
2021-12-24  程序猿阿嘴  CSDN  Tags:Netty   点击:(12)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  有云转晴    Tags:chrome   点击:(7)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  java乐园    Tags:gzip压缩   点击:(8)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  SofM    Tags:Centos7   点击:(7)  评论:(0)  加入收藏
Windows操作系统和Linux操作系统有何区别?Windows操作系统:需支付版权费用,(华为云已购买正版版权,在华为云购买云服务器的用户安装系统时无需额外付费),界面化的操作系统对用户使...【详细内容】
2021-12-21  卷毛琴姨    Tags:云服务器   点击:(6)  评论:(0)  加入收藏
参考资料:Hive3.1.2安装指南_厦大数据库实验室博客Hive学习(一) 安装 环境:CentOS 7 + Hadoop3.2 + Hive3.1 - 一个人、一座城 - 博客园1.安装hive1.1下载地址hive镜像路径 ht...【详细内容】
2021-12-20  zebra-08    Tags:Hive   点击:(9)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  网安人    Tags:服务器   点击:(7)  评论:(0)  加入收藏
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  mdong    Tags:Nginx   点击:(7)  评论:(0)  加入收藏
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  LaLiLi    Tags:SSH连接   点击:(16)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条