Skip to content
gohacks.dev
DevOps

Access Log Analyzer

Paste Nginx or Apache access log lines in combined format and get requests by status, top paths, top IPs, error paths, slowest requests and user agents.

Free · No sign-up · Your inputs stay in your browser

Input

Analyse an Nginx or Apache access log

Output

7 requests, 45.2 KiB

StatusRequestsShare
2xx457.1%
4xx228.6%
5xx114.3%
PathRequestsShare
POST /api/subscribe228.6%
GET /114.3%
GET /library/redis-cache114.3%
GET /tools/jwt-decoder114.3%
GET /.env114.3%
GET /wp-login.php114.3%
ErrorRequestsShare
404 GET /.env114.3%
404 GET /wp-login.php114.3%
502 POST /api/subscribe114.3%
Client IPRequestsShare
203.0.113.7228.6%
198.51.100.23228.6%
192.0.2.44228.6%
66.249.66.1114.3%
SlowestTime
POST /api/subscribe30.001 s
POST /api/subscribe0.210 s
GET /library/redis-cache0.112 s
GET /tools/jwt-decoder0.090 s
GET /0.041 s
User agentRequestsShare
curl/8.5.0228.6%
Mozilla/5.0 Chrome/129.0228.6%
Mozilla/5.0 AppleWebKit/605.1.15 Safari/605.1.15114.3%
Mozilla/5.0 Safari/605.1.15114.3%
Mozilla/5.0114.3%

3 requests (43%) came from user agents that name themselves as bots or scripts. For whole files, the same counts come from awk '{print $9}' access.log | sort | uniq -c | sort -rn, or GoAccess for a live dashboard.

Runs in this browser. Nothing you paste is sent to a server.

The questions it answers quickly

Which endpoint is throwing 502s, which IP is hammering the login form, whether a traffic spike is crawlers or people, and which pages are slow. For an entire file on a server, awk '{print $9}' access.log | sort | uniq -c | sort -rn counts status codes, and GoAccess gives a live dashboard. The ngx_http_log_module reference defines the format variables.

Add request time to your log format

The default combined format does not record how long a request took. Adding $request_time (and $upstream_response_time behind a proxy) to a custom log_format is the cheapest performance monitoring there is.

Share

Frequently asked questions

What is the combined log format?
IP, identity, user, [time], "request line", status, bytes, "referer" and "user agent", in that order. It is Apache's combined format and Nginx's default.
Are bot counts accurate?
They count user agents that identify as bots or scripts. Bots that pretend to be browsers are counted as people; verifying Googlebot needs a reverse DNS check.
Is what I paste sent anywhere?
No. The tool runs entirely in your browser with JavaScript. Nothing you type or paste is sent to our server or stored.

Keep planning

Similar tools