クマの手も借りたい
茶トラネコ(@kumanotemo)です。上場を控えたITベンチャーを2社も退職してフリーランスの道を選んだ放浪エンジニアです。
Linux

awkでapacheやnginxのアクセスログから欲しい情報を抜き出す

Apache のアクセスログを見る場面に遭遇すると、決まって「あのコマンド何だったっけ?」って状況に陥るので、忘れないうちにメモっておきます。

もっとたくさんあったんだけど、また思い出したら追記していきます。

今回は Apache を例にしますが nginx の場合も同様の方法でカバーできます。

リクエストの処理時間のフィルタ

例えば Apache のリクエスト単位の処理時間が 2 秒以上のアクセスのみ取得したいケースを想定します。

ちなみに、処理時間を秒でログに出力するには、Apache のログフォーマットで %T を指定する必要があります。

※処理時間が11番目とした場合

awk -F' ' '{if($11>2)print $0}' /var/log/hogehoge.log

ステータスコードのフィルタ

Apache のレスポンスのステータスコードが 500 のアクセスのみ取得したいケースを想定します。

間違って == の条件式を = にしちゃうと、該当カラムにその値が表示されるだけなので注意が必要です。

※レスポンスのステータスコードが8番目とした場合

awk -F' ' '{if($8==500)print $0}' /var/log/hogehoge.log
現場のプロから学ぶSEO技術

SEO について詳しくないけどこれから学んでみたい方。

これまでの小手先の SEO に対する技術には詳しいけど、マーケティングやソーシャル要素を組み合わせた今時の SEO をもう一度勉強してみたい方にオススメです。

あなたにオススメ