IT Notebook

とあるエンジニアの備忘録

awkを使ってログファイルに出力されているリクエストタイムの平均値などを算出

f:id:makaaso:20190320130354j:plain:w200
先日Nginxのアクセスファイルのリクエストファイルを集計して、リクエストごとに平均を取得する時に使用したコマンドをまとめました。

やりたいこと

コマンド

  • awkにわたす前にリクエストタイムのみをリストにして渡して、awsが集計するコマンド

    平均値

cat access.log | grep <URI> | awk '{print $17}' | sed -e "s/request_time://g" | awk '{m+=$1} END{print m/NR;}'

最小値

cat access.log | grep <URI> | awk '{print $17}' | sed -e "s/request_time://g" | awk 'BEGIN{m=100000}{if(m>$1) m=$1} END{print m}'

最大値

cat access.log | grep <URI> | awk '{print $17}' | sed -e "s/request_time://g" | awk '{if(m<$1) m=$1} END{print m}'

参考