このラボでは、「昨夜サイトが重かった原因を調べてほしい」と頼まれた運用担当の想定で、Web サーバーのアクセスログをコマンドラインだけで集計します。
ブラウザで開く IDE のターミナル(Linux)に、nginx 形式のアクセスログ access.log(500 行)が置いてあります。GUI ツールや Excel に持ち込まず、awk で列を取り出し、sort | uniq -c で数え、sort -rn で並べ替える、という定番の組み合わせを手に覚えさせます。最後に一連の処理をシェル スクリプトにまとめ、誰でも同じ結果を再現できるようにします。
学習目標:
|)でコマンドをつなぎ、awk で特定の列だけを取り出すsort | uniq -c | sort -rn で「値ごとの件数を多い順に」数えるawk の条件式($9 == 404)と集計(s += $10)を使うreport.sh にまとめるls / cat / cd を使ったことがあるstatus_counts.txt / top_ips.txt / not_found_paths.txt / bytes_total.txt が期待どおりの内容で作成されていることreport.sh を実行し直すと 3 つの集計ファイルが同じ内容で再生成されること詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。