Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 在Nginx access.log中获取每个IP每个请求的请求数_Unix_Nginx_Devops - Fatal编程技术网

Unix 在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

我的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 | 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