简单的NGINX日志文件分析器


74

我正在寻找一个简单的工具来分析我的Macbook上的NGINX日志。我希望能够获得一些基本统计信息,包括漫游器访问,还能够对日志进行排序/过滤,以找出服务器崩溃之前发生的情况。

Answers:


114

您可以尝试使用GoAccess ; 基于免费和开源控制台。它也可能输出HTML报告。


16
感谢您指出goaccess-安装简单(在Debian / Ubuntu上使用apt-get install goaccess),开箱即可在命令行上完成很多不错的工作。没有设置。
rfay

6
也可以brew install goaccess在Mac上安装。
马特

要在不依赖自制软件的情况下在Mac OS X上进行安装,请在此处查看goaccess常见问题解答,特别是如何在OS X El Capitan下从源代码安装GoAccess
Anupam

1
使用默认的NGINX组合格式,goaccess --log-format=COMBINED access.log或者{ cat access.log; zcat access.log.*.gz; } | goaccess --log-format=COMBINED -(对于所有日志)对我来说效果很好。
肖恩·布雷肯里奇

26

我遇到过访客。它是用C语言编写的,而且速度很快。

它缺少goaccess的酷ncruses界面。它仅输出html。不过,它可以完成工作。

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

visitors access.log | less

7

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

用于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}

对于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})?

如果配置良好,麋鹿堆栈是最强大的解决方案。
thclpr 2015年

但需要大量GB,并且一些基本的VPS无法简单运行它
realtebo,

与您
David


3

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


哇,太棒了!免费版本每天限制您500MB的新日志,足够了。
chichilatte 2015年

1
我还不知道该产品,但是网站让我感到非常困惑
Carles Alcolea
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.