Unix 在Nginx access.log中获取每个IP每个请求的请求数
我的unix服务器运行nginxDebian GNU/Linux 9 我试图在Nginx access.log文件中获取每个IP每个请求的请求数,以便进行分析,所以 我有两个问题:Unix 在Nginx access.log中获取每个IP每个请求的请求数,unix,nginx,devops,Unix,Nginx,Devops,我的unix服务器运行nginxDebian GNU/Linux 9 我试图在Nginx access.log文件中获取每个IP每个请求的请求数,以便进行分析,所以 我有两个问题: 是否有一个unix命令来从日志文件(整个文件)中按每个ip请求获取此信息 也可以按日期过滤吗?我的意思是获取某一天每个请求的每个IP请求数。希望我能得到这样的东西 我找到了这个,但只算IP sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c
sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr
是的,您可以在第一个命令中使用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
grep -E '11/Jan/2021|12/Jan/2021' access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -20