用goaccess分析access log

Posted onLeave a commentCategories技术文章

几个月前协助IT分析过web服务器日志,用到了goaccess这个工具,还是挺全面的。但是因为不经常用,今天突然又要分析日志,我都忘记了这个工具叫什么了。查了一大堆邮件,最后记得噢是叫goaccess那玩意。人啊上了30岁,记忆力体力确实跟不上20岁时候啦。老古话说的好,好记性不如烂笔头,我还是写点关于这个topic的东西,万一哪天又要用到呢。

goaccess是一个命令行的工具,它可以将access log转化成一个可视的html报表。Ubuntu下,直接apt-get可以装了。Mac下brew也可以直接装。

rzhao@54zxy:~$ sudo apt-cache search goaccess
goaccess - log analyzer and interactive viewer for the Apache Webserver

工具描述是说Apache服务器的日志分析工具,实际上它不是很挑,Nginx包括其他服务器也是可以分析的。

rzhao@54zxy:~$ sudo apt-get install goaccess
rzhao@54zxy:~$ sudo vim /etc/goaccess.conf
> time-format %H:%M:%S
> date-format %d/%b/%Y
> log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

使用之前要配置三样东西,时间格式,日期格式和日志格式。

rzhao@54zxy:~$ sudo goaccess -f /var/log/nginx/access.log > test.html

贴个我这个博客的goaccess截图。

go-access-output2

 

说下这个日志格式吧。因为我维护的服务器就有两种日志格式了。

默认日志格式

66.249.xx.x - - [01/Jun/2018:02:54:13 +0000] "GET /2014/04/15/girls-view-sexual-assault-as- normal-behavior/ HTTP/1.0" 301 732 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)"

像上面这种的,不需要自定义配置,只需要选择/etc/goaccess.conf里去掉注释即可

log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

自定义日志格式

176.188.xxx.xxx, 192.229.xxx.xx, 172.31.xx.xxx - [31/May/2018:06:25:04 +0000] GET /wp-content/uploads/2008/12/kissing-krtabacaphotoslive515164-the-curiou.jpg HTTP/1.1 200 56712 https://www.google.fr/ Mozilla/5.0 (Linux; Android 7.0; SM-G925F Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.158 Mobile Safari/537.36 origin1.xxx.com

上面这种格式就稍微有点坑爹了,你得自己动脑子去man page查看各个参数的意义,最后是这个样子

log-format "%h,|" %^[%d:%t %^] %m %U %H %s %b %R %u

发表评论

电子邮件地址不会被公开。 必填项已用*标注