166 文字
1 分
awkでアクセスログ集計
アクセスログ集計するときのawkワンライナーメモ
前提となるデータ。access.tsv
アクション名 レスポンスタイムアクション毎の平均レスポンスタイムを遅い順で表示
% 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アクション毎の最も遅いレスポンスタイムを遅い順で表示
% 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レスポンスタイムとアクセス数を乗算することで、ユーザへの不快度をスコア化
% 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/