我有运行 nginx Debian GNU/Linux 9
的 unix 服务器我试图在 Nginx access.log 文件中获取每个 IP 每个请求的请求计数以进行分析,所以 我有两个问题:
- 是否有一个unix命令可以从日志文件(整个文件)中按每个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
最佳答案
是的,您可以在第一个命令中使用 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
关于unix - 在 Nginx access.log 中获取每个 IP 每个请求的请求计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63905557/