我正在寻求一些帮助,以便从nginx日志文件中获取一些统计信息。某些事情正在打击我们的网站,我可以从以下awk命令中看到最高的IP:
sudo awk '{ print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 50
我需要能够从该顶级IP获取网址列表?任何人都可以帮助实现这一目标的最佳方法吗?
我有awk命令可以在此处删除顶部网址,但需要将它们放在一起:
sudo awk '{ print $7}' /var/log/nginx/access.log| sort | uniq -c | sort -nr | head -n 20
谢谢
约翰
答案 0 :(得分:0)
您可以使用此:
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
答案 1 :(得分:0)
sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr