LoginSignup
1
4

More than 3 years have passed since last update.

アクセスログ解析備忘録

Last updated at Posted at 2019-05-12

今日はWebサーバにおけるアクセス解析のお話です。
Webサーバ運用時に切っても切り離せないのが、
アクセスログの解析ですが、障害時にはさくさく調査して原因を解明しないといけないので、
ある程度テンプレを用意しているのですが、今回はそれの一部を公開したいと思います。

アクセス数集計

  • 分単位での集計
ionice -c2 -n7 nice -n19 egrep 'TIME' log | egrep -v "除外したいIP" | awk '{print $4}'| cut -c 2-18 | sort  | uniq -c
  • 10分単位での集計
ionice -c2 -n7 nice -n19 egrep 'TIME' log | egrep -v "除外したいIP" | awk '{print $4}'| cut -c 2-17 | sort  | uniq -c
  • Apache %D(リクエスト処理時間ms)
ionice -c2 -n7 nice -n19 egrep 'TIME' log | egrep -v "除外したいIP" | awk '{print $NF,$0}'| sort -nr
  • Apache %D 時間別統計
ionice -c2 -n7 nice -n19 egrep "TIME" log | egrep -v '除外したいIP' | awk '$NF >= 2000000{ print $4}' | cut -c2-18 | sort -n | uniq -c
  • アクセス元IPを集計
ionice -c2 -n7 nice -n19 grep '時刻' log | egrep -v "除外したいIP" | awk '{print $1}' | sort -n | uniq -c | sort -nr
ionice -c2 -n7 nice -n19 grep '時刻' log | egrep -v "除外したいIP" | awk '{print $1}' | cut -d: -f2 | sort -n | uniq -c | sort -nr
  • アクセス先のドメインを集計
ionice -c2 -n7 nice -n19 grep "時刻" log | egrep -v "除外したいIP" | awk '{print $1}' | cut -d: -f1 | sort -n | uniq -c | sort -nr
  • アクセス先URIを集計
ionice -c2 -n7 nice -n19 grep '時刻' log | egrep -v "除外したいIP" | awk '{print $7}' | sort -n | uniq -c
  • リファラーを集計
ionice -c2 -n7 nice -n19 grep '時刻' log | egrep -v "除外したいIP" | cut -d\" -f4 | sort | uniq -c
  • User-Agentを集計
ionice -c2 -n7 nice -n19 egrep '時刻' log | egrep -v "除外したいIP"  |awk -F\" '{print $6}' | sort | uniq -c | sort -nr
  • UAを集計
ionice -c2 -n7 nice -n19 grep '時刻' log | egrep -v "除外したいIP" | cut -d\" -f6 | sort | uniq -c

おまけ

基本的には上記のワンライナーを使えば集計できるのですが、サービスや設定によっては使えない場合があります。
なので、そういった場合は随時コードを調整する必要があります。 そういった時に使えるのが下記のコマンドです。

cut 指定した文字で切り取る
    -d '区切り文字'  区切り文字の指定
    -f 数値     フィールド(場所)の指定

awk 空白単位でログを分割
    '{print $数値}' 何番目の空白か

sort 並べ替え
    -n 整数順に並べる
    -r 順序を反転する

uniq 集計したログをまとめる
    -c 同じものをまとめてカウントする
1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4