頻繁に使用するIPを見つけるためにログファイルを解析します。

頻繁に使用するIPを見つけるためにログファイルを解析します。

だから私は集めて引っ張りました。悪い私のログからipが消えました。誰にも良い結果をもたらす改善やその他の提案はありますか?

一般的なアイデアは次のとおりです。

  1. ログファイルからのみIPを抽出する
  2. 並べ替え
  3. ユニークで数える
  4. 並べ替えてください

そしてオーケストラ:
cut --delim " " -f7 /var/log/apache_access | sort | uniq -c | sort -rn > sorted-ips.txt

ベストアンサー1

私はいつもこれを使います:

tail -1000 /var/log/apache_access | awk '{print $1}' | sort -nk1 | uniq -c | sort -nk1

tail実際にどれだけ戻りたいかという制限を設定できます。 (何らかの理由で)ログローテーションを使用しない場合は問題ありません。 2番目に使用しています。awkほとんどのログはスペースで区切られているため、通過しています。追加適切な変数を使用すると、追加情報(訪問したURL、ステータス、ブラウザなど)を抽出できます$。最後に、uniq接触ペアでのみ機能する欠陥があります。つまり:

A
A
A
A
B
A
A

生産します:

4 A
1 B
2 A

希望の出力ではありません。したがって、最初の列(この場合はipsですが、他の列も並べ替えることができます)を並べ替えてから並べ替え、uniq最後に最も高い違反を見るために数を昇順に並べ替えます。

おすすめ記事