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
- 01
Parse the common log format
~2hWrite an awk pattern that extracts IP, timestamp, request path, and status code from each log line.
- 02
Compute top requested paths and status codes
~1.5hAggregate counts per path and per status code and sort them by frequency.
- 03
Compute top client IPs and detect anomalies
~2hRank clients by request volume and flag IPs exceeding a configurable requests-per-minute threshold.
- 04
Build an hourly traffic histogram
~1.5hBucket requests by hour and render a simple ASCII bar chart of traffic over the day.
- 05
Support gzip-compressed rotated logs
~1hExtend the script to transparently read .gz rotated log files using zcat.
Resources
Ready to build this?
Get a GitHub repo and start building. Your AI reviewer checks each step as you go.
Tech stack