アーカイブ記事:2019年の公開当時に使っていたツールと環境についての記録です。
Apacheのリクエストをコマンドラインで手早く調べるなら、awkが便利です。正確な構文はLogFormatに依存しますが、ここではコンプライアンス上の理由で実際の形式を公開できません。
今回は、3秒を超えたリクエストを探しました。ログの処理時間はマイクロ秒単位です。URLも表示し、時間帯も限定したいところ。この例の 2019:04:1 は、今日の04:10〜04:19 UTCのすべてのリクエストを表します。
使ったコマンドはこちらです。
cat /httpd/logs/access.log |grep "2019:04:1"| awk '{if ($(NF-2) > 3000000) print $4"-----"$7"-----"$(NF-2);}'
$(NF-2) は各行の後ろから3番目のフィールドで、このログでは処理時間がマイクロ秒単位で入っています。コマンドが表示するのは、時刻(4番目のフィールド、 $4)、URL($7)、処理時間($(NF-2)).


クラウド / システム