サーバーに接続されているIPの数を確認するには、次のコマンドを使用します。
sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr
2番目の列には、一意のIPと、このIPがNginxを要求した回数が表示されます。例:
23 123.45.6.8
3 34.56.78.4
1 8.9.4.3
このIPのローカライゼーションを扱う3番目の列が欲しいです。このために私はgeoiplookup
。
出力例:
23 123.45.6.8 Netherlands
3 34.56.78.4 England
1 8.9.4.3 Netherlands
出力例geoiplookup
:
GeoIP Country Edition: US, United States
#or
GeoIP Country Edition: FR, France
したがって、「、」で割るだけで十分です。
前の出力を3番目の列のローカライゼーションに変換する方法一つワイヤーか。
答え1
sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | awk '{"geoiplookup "$2" | egrep -o Country.*[A-Z]{2}" | getline line; split(line,a," "); print $1, a[3], $2}'