简单的NGINX日志文件分析器

uwe*_*uwe 67 analytics nginx

我正在寻找一个简单的工具来分析我的macbook上的NGINX日志.我希望能够得到一些基本的统计数据,包括机器人的访问,同时还能够进行排序/过滤日志,找出正确的事的服务器崩溃之前.

Ale*_*iol 96

你可以试试GoAccess ; 基于免费和开源的控制台.它也可能输出HTML报告.

  • 感谢你指出goaccess - 安装简单(Debian/Ubuntu上的apt-get install goaccess),并在命令行上开箱即用.没有设置. (15认同)
  • 还可以在Mac上安装`brew install goaccess`. (5认同)
  • 使用默认的 NGINX 组合格式 `goaccess --log-format=COMBINED access.log` 或 `{ cat access.log; zcat access.log.*.gz; } | goaccess --log-format=COMBINED -`(对于所有日志)对我来说效果很好。 (2认同)

moe*_*eye 24

我遇到过访客.它是用C语言编写的,速度非常快.

它缺乏goaccess'酷酷的ncruses界面.它只输出html.不过,它完成了这项工作.

编辑:它还可以输出人类可读的文本报告:

visitors access.log | less
Run Code Online (Sandbox Code Playgroud)


Dav*_*vid 6

我建议使用logstash和Kibana以下模式:

for access.log:

NGINXACCESS %{IPORHOST:clientip} - %{USERNAME:remote_user} \[%{HTTPDATE:time_local}\] %{QS:request} %{INT:status} %{INT:body_bytes_sent} %{QS:http_referer} %{QS:http_user_agent}
Run Code Online (Sandbox Code Playgroud)

for error.log:

 NGINXERROR (?<timestamp>%{YEAR}[./-]%{MONTHNUM}[./-]%{MONTHDAY}[- ]%{TIME}) \[%{LOGLEVEL:severity}\] %{POSINT:pid}#%{NUMBER}: %{GREEDYDATA:errormessage}(?:, client: (?<clientip>%{IP}|%{HOSTNAME}))(?:, server: %{IPORHOST:server})(?:, request: %{QS:request})?(?:, host: %{QS:host})?(?:, referrer: \"%{URI:referrer})?
Run Code Online (Sandbox Code Playgroud)


小智 5

request-log-analyzer gem现在在master分支中支持Nginx,我正在寻找有人来测试它. http://github.com/wvanbergen/request-log-analyzer.


uwe*_*uwe 3

我现在尝试了Splunk,它是一个非常强大的工具,而且他们也有免费版本。