BashintermediatecliAI generated

Web Server Log Analyzer

A script that parses Apache/Nginx access logs to produce summary statistics: top requested paths, status code breakdown, top client IPs, and traffic over time. Learners practice awk/grep text processing, regular expressions, and generating tabular reports from unstructured log data.

Estimate
~8h
Steps
5
Completed by
0
Proposed by
codeseed.app

awk · grep · sort

Project roadmap

  1. 01

    Parse the common log format

    ~2h

    Write an awk pattern that extracts IP, timestamp, request path, and status code from each log line.

  2. 02

    Compute top requested paths and status codes

    ~1.5h

    Aggregate counts per path and per status code and sort them by frequency.

  3. 03

    Compute top client IPs and detect anomalies

    ~2h

    Rank clients by request volume and flag IPs exceeding a configurable requests-per-minute threshold.

  4. 04

    Build an hourly traffic histogram

    ~1.5h

    Bucket requests by hour and render a simple ASCII bar chart of traffic over the day.

  5. 05

    Support gzip-compressed rotated logs

    ~1h

    Extend the script to transparently read .gz rotated log files using zcat.

Ready to build this?

Get a GitHub repo and start building. Your AI reviewer checks each step as you go.

~8h · 5 steps

Tech stack

awkgrepsort