网站首页 > 技术教程 正文
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
加一个more命令主要防止URL一屏幕显示不下的情况。
0x04:统计访问最频繁的IP
根据访问IP来判断哪些IP操作最多;也可以根据情况判断该IP是不是疑似攻击IP。
awk '{print $1}' access.log | sort | uniq -c | sort -n -k 1 -r | more
加一个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的日志格式。日志的默认格式如下:
默认输出的月份使用英文简写。
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是否配置成中文,如果是需要配置成英文
使用以下命令配置成英文
export LANG="en_US.UTF-8"
这时在执行pv和uv命令应该就可以统计出来了,如下图
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}'
可以输出到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
如下图
查看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
猜你喜欢
- 2024-10-10 通过什么方式来读取和监控nginx的日志呢
- 2024-10-10 linux运维之nginx日志之 log_format详解
- 2024-10-10 Nginx 日志自动切割(Centos6.8)(nginx日志切割配置)
- 2024-10-10 nginx - linux上日志分割(nginx日志级别顺序)
- 2024-10-10 练习Nginx定时备份日志及正则配置
- 2024-10-10 nginx启动时报错的日志 端口查看(nginx启动日志在哪儿)
- 2024-09-16 Nginx奇技淫巧之:按日期自动生成日志文件
- 2024-09-16 nginx的日志切割(nginx的日志切割脚本)
- 2024-09-16 ELK日志系统之使用Rsyslog快速方便的收集Nginx日志
- 2024-09-16 nginx 部署的项目查看错误日志并处理
你 发表评论:
欢迎- 08-06linux 和 windows文件格式互相转换
- 08-06谷歌 ChromeOS 已支持 7z、iso、tar 文件格式
- 08-06Linux下比较文件内容的6种方法
- 08-06文件格式及功能汇总
- 08-0610个Linux文件内容查看命令的实用示例
- 08-06Linux-如何区分不同文件类型
- 08-06Zabbix技术分享——监控windows进程资源使用情况
- 08-06Linux系统卡顿?学会ps命令这三招,轻松定位问题进程
- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)