【问题标题】:Getting top urls from an IP address from a nginx log file从 nginx 日志文件中的 IP 地址获取顶级 url
【发布时间】:2018-10-19 15:00:50
【问题描述】:

我正在寻求从 nginx 日志文件中获取一些统计信息的帮助。有东西在敲我们的网站,我可以从这个 awk 命令中看到顶部 ip:

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

我需要能够从这个顶级 ip 获取 url 列表吗?任何人都可以提供实现这一目标的最佳方法吗?

我有 awk 命令可以在这里列出最重要的 url,但需要将它们放在一起:

sudo awk '{ print $7}' /var/log/nginx/access.log| sort | uniq -c | sort -nr | head -n 20

谢谢

约翰

【问题讨论】:

    标签: linux nginx logging awk


    【解决方案1】:

    你可以用这个:

    logfile="/var/log/nginx/access.log"
    grep "^$(cat "${logfile}" | cut -d' ' -f1 | sort | uniq -c | sort -nr | head -n 1 | awk -F' ' '{print $2}') " "${logfile}" | cut -d' ' -f7 | sort | uniq -c | sort -nr | head -n 50
    

    【讨论】:

      【解决方案2】:
      sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr
      

      【讨论】:

      • 这没有回答问题。 OP 需要仅从日志中获取顶级 IP 的所有 URL(第 7 列),这是您发布的答案。
      猜你喜欢
      • 2021-03-25
      • 2012-03-26
      • 2021-05-25
      • 1970-01-01
      • 1970-01-01
      • 2017-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多