Nginx access.log中每个请求的每个IP获取请求计数

时间:2020-09-15 15:52:07

标签: unix nginx devops

我有运行nginx的Unix服务器 Debian GNU / Linux 9

我正在尝试获取Nginx access.log文件中每个请求的每个IP的请求计数以进行分析,因此 我有两个问题:

  1. 是否有unix命令从每个请求的每个IP的日志文件(整个文件)中获取此信息?
  2. 是否还可以按日期过滤它?我的意思是在特定的一天获取每个IP的每个IP的请求计数。所以希望我能得到这样的东西
IP        count
127.0.0.1 4
127.0.0.2 5
127.0.0.3 6

我发现了这个,但它只算ips

sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr

1 个答案:

答案 0 :(得分:0)

是的,您可以在第一个命令中使用 grep :

grep '12/Jan/2021' access.log | awk '{print $1}' | sort | uniq -c | sort -nr

对于特定日期使用扩展正则表达式:

grep -E '11/Jan/2021|12/Jan/2021' access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -20