166 文字
1 分

awkでアクセスログ集計

2013-09-25
2019-04-23

アクセスログ集計するときのawkワンライナーメモ

前提となるデータ。access.tsv

アクション名 レスポンスタイム

アクション毎の平均レスポンスタイムを遅い順で表示

Terminal window
% awk ' { total[$1] += $2 } { count[$4]++ } END { for (x in total) { printf "%s\t%f sec\n", x, total[x]/count[x] } } ' access.tsv | expand -t 50 | sort -k2 -nr

アクション毎の最も遅いレスポンスタイムを遅い順で表示

Terminal window
% awk ' max[$1] < $2 { max[$1] = $2 } END { for (x in max) { printf "%s\t%f sec\n", x, max[x] } } ' access.tsv | expand -t 50 | sort -k 2 -nr

レスポンスタイムとアクセス数を乗算することで、ユーザへの不快度をスコア化

Terminal window
% awk ' { total[$1] += $2 } { count[$1]++ } END { for (x in total) { printf "%s\t%f\n", x, total[x]*count[x] } } ' access.tsv | expand -t 50 | sort -k 2 -nr
awkでアクセスログ集計
https://blog.teraren.com/posts/awk/
作者
Yuki Matsukura
公開日
2013-09-25
ライセンス
CC BY-NC-SA 4.0
この記事が役に立ったら
GitHub Sponsorsで応援できます

コメント