成功最有效的方法就是向有经验的人学习!

AWK分析日志,统计IP、状态码、域名

1、统计访问次数据前10的ip

[root@guilin tmp]# awk '{sum[$1]++}END{for(ip in sum) print ip, sum[ip]}' access.log |sort -nr -k 2|head |nali
211.95.25.86[上海市 联通] 124271
101.86.47.178[上海市 电信] 15058
123.55.161.148[河南省三门峡市 电信] 11898
47.97.161.244[加拿大] 6232
218.81.11.98[上海市宝山区 电信] 5695
119.48.110.100[吉林省长春市 联通ADSL] 4619
123.126.113.163[北京市 联通ADSL] 2496
182.73.13.118[印度] 1996
144.123.25.235[北美地区] 1952
101.231.248.130[上海市 电信] 1668

2、统计Nginx日志中状态码为200的IP出现的次数

awk '{if($12=="200")sum[$1," "$12]++}END{for(ip_num in sum)print ip_num,sum[ip_num]}' access.log |sort -rnk 2|head

统计Nginx日志中状态码非200的IP出现的次数

awk '{if($12!="200")sum[$1," "$12]++}END{for(ip_num in sum)print ip_num,sum[ip_num]}' access.log |sort -rnk 2|head

统计Nginx日志中状态码出现的次数

awk '{sum[$12]++}END{for(status in sum) print status, sum[status]}' access.log| sort -rnk 2|head

统计Nginx日志中状态码出现的次数大于1000的

awk '{sum[$12]++}END{for(status in sum)if(sum[status]>1000) print status, sum[status]}' access.log| sort -rnk 2

3、统计nginx日志里流量

awk '{sum+=$13} END {print "Sum = ", sum/1024/1024/1024"GB"}' access.log

4、根据访问IP统计UV

awk '{print $1}' access.log|sort | uniq -c |wc -l

5、统计访问URL统计PV

awk '{print $7}' access.log|wc -l

6、查询访问最频繁的URL

awk '{print $7}' access.log|sort | uniq -c |sort -nr|less

7、查询访问最频繁的IP

awk '{print $1}' access.log|sort | uniq -c |sort -nr|less

8、根据时间段统计查看日志

cat access.log| sed -n '/14\/Mar\/2015:21/,/14\/Mar\/2015:22/p'|less

$13是nginx字段bytes_sent 字段,根据自己的日志格式修改
body_bytes_sent 发送给客户端的字节数,不包括响应头的大小
bytes_sent 发送给客户端的字节数
计算最高带宽

awk -F'[: ]' '{a[$5":"$6]+=$14}END{for(i in a){print i,a[i]}}' $ACCESS_LOG|sort|awk '{a+=$2;if(NR%5==0){if(a>b){b=a;c=$1};a=0}}END{print c,b*8/300/1024/1024}'

awk统计命令
数据量较大时慎用cat

1、求和

cat data|awk '{sum+=$1} END {print "Sum = ", sum}'
2、求平均

cat data|awk '{sum+=$1} END {print "Average = ", sum/NR}'
3、求最大值

cat data|awk 'BEGIN {max = 0} {if ($1>max) max=$1 fi} END {print "Max=", max}'
4、求最小值(min的初始值设置一个超大数即可)

awk 'BEGIN {min = 1999999} {if ($1<min) min=$1 fi} END {print "Min=", min}'
赞(2) 打赏
未经允许不得转载:陈桂林博客 » AWK分析日志,统计IP、状态码、域名
分享到

大佬们的评论 抢沙发

全新“一站式”建站,高质量、高售后的一条龙服务

微信 抖音 支付宝 百度 头条 快手全平台打通信息流

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册