NginxのアクセスログでIPアドレスをカウントする

NginxアクセスログでIPアドレスをカウントする

最近、サーバーで多くのreferer spamがヒットしました。以下は、NginxアクセスログファイルからIPアドレスを見つけてカウントするために使用したコマンドです。

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

完全な例

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

    210 190.104.220.x
    208 181.119.20.x
    134 66.249.69.x
    129 66.249.69.x
    113 37.58.100.x
    108 66.249.69.x
    108 128.204.204.x
    106 37.58.100.x
     99 110.85.69.x
     89 125.78.199.x
     71 128.204.194.x
     70 210.195.94.x
     60 23.19.34.x

Note
同じトリックがApacheサーバーのaccess.logにも当てはまります。

次に、以下のコマンドを使用して特定のIPのアクセスイベントを見つけてから、次に実行するアクションを決定します。

$ sudo cat /var/log/nginx/access.log | grep 190.104.220.x