简单的NGINX日志文件分析器

我正在寻找一个简单的工具来分析我的MacBook上的NGINX日志。 我希望能够获得一些基本的统计数据,包括机器人访问,也能够sorting/过滤日志,以查明在服务器崩溃之前发生的事情。

您可以尝试使用GoAccess ; 基于自由和开源的控制台。 它也可能输出一个HTML报告。

我遇到过访问者 。 它用C写成,速度相当快。

它缺乏goaccess'酷ncruses接口。 它只输出HTML。 尽pipe如此,它还是可以做的。

编辑:它也可以输出人类可读的文字报告:

 visitors access.log | less 

我会build议使用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} 

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

request-log-analyzer gem现在在master分支中有Nginx的支持,我在找人testing它。 http://github.com/wvanbergen/request-log-analyzer

我现在试过Splunk ,这是一个非常强大的工具,他们也有一个免费的版本。