简单的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 ,这是一个非常强大的工具,他们也有一个免费的版本。