Nginx日志速析

粘贴 access.log 本地解析:状态码分布 / Top IP / 热门 URL / 按小时流量一目了然

支持标准 combined 格式(IP - - [日期] "方法 路径 协议" 状态 字节 "referer" "UA"),正则做了容错:缺 referer、缺 UA、字节为 - 的行照样能解析核心字段,彻底解析不了的行计入「未解析」并可展开逐条查看。输出总量、状态码 2xx~5xx 占比条、Top10 来源 IP、Top10 请求 URL、按小时请求量柱状图与总流量。全程浏览器本地计算,日志不出机器。

日志行数

0

解析成功

0

未解析

0

总流量

0 B

粘贴 access.log

状态码分布

暂无可解析的日志行

Top10 IP

—

Top10 URL

—

按小时请求量

—

#关于 Nginx 日志速析

线上排查最常做的事就是对着 access.log 数状态码、找刷接口的 IP、看哪个 URL 最热。与其 grep + awk 摆弄半天,不如把当天日志(或 tail -n 5000 access.log 的片段)直接粘进来:本工具用容错正则逐行提取 IP、时间、方法、路径、状态码与字节数,几秒钟给出分布图与榜单。

combined 格式说明

  • Nginx 默认 log_format combined:远程IP - 认证用户 [时区时间] "请求行" 状态码 响应字节 "Referer" "User-Agent",本工具即按此解析。
  • 字节数为 - 时按 0 处理;请求行只含方法、或 referer/UA 整体缺失(common 格式)也能解析核心字段。
  • 时间戳直接取日志内小时(含 +0800 之类偏移时以日志书写小时为准),按小时聚合不换算时区。

自定义 log_format 怎么办

若你的 nginx.conf 使用了自定义格式(如加入 $request_time、$upstream_addr、JSON escape 后的 main 格式),只要前五个字段(IP、identd、用户、[时间]、"请求行")与状态码、字节仍然符合 IP - - [time] "req" status bytes 顺序,本工具就能解析并忽略尾部附加字段;若字段顺序被改动导致大量「未解析」,建议临时切回 combined 格式记录一份再分析。

常见问题

  • 日志会上传服务器吗?不会。解析与统计全部在浏览器本地用 JavaScript 完成,页面不发起任何网络请求,适合含内网 IP、token 回调地址的敏感日志。
  • 为什么部分行解析失败?多行日志(UA 里含换行)、被 CDN/WAF 改写的格式、或带 gzip 前缀的二进制内容都可能不匹配正则;展开「未解析」列表即可逐条核对原文。
  • 一次能粘多少行?建议几万行以内;数据量过大时浏览器会卡顿,可先用 tail -n 50000 抽样,代表性通常已足够。

相关工具推荐

Spine动画编辑器

专业的Spine动画预览和编辑工具,支持多引擎导出

热门 新品 本地

SQL查询优化器

分析SQL查询并提供优化建议

热门 新品 本地

JVM启动参数配置

可视化配置Java虚拟机启动参数,支持内存、GC、性能等选项

热门 新品 本地

代码片段转换

不同编程语言间代码片段转换(如Python↔JavaScript)

热门 新品 本地

IP地址查询

查询IP地址的地理位置、运营商、ASN等信息,支持IPv4和IPv6

热门 新品 本地

JSON转TypeScript接口

根据JSON数据自动生成TypeScript类型定义

热门 新品 本地

相关教程