nginx日志分析利器GoAccess(转)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了nginx日志分析利器GoAccess(转),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3011字,纯文字阅读大概需要5分钟。
内容图文
#Software: Microsoft Internet Information Server 4.0 #Version: 1.0 #Date: 1998-11-19 22:48:39 #Fields: date time c-ip cs-username s-ip cs-method cs-uri-stem cs-uri-query sc-status sc-bytes cs-bytes time-taken cs-version cs(User-Agent) cs(Cookie) cs(Referrer) 1998-11-19 22:48:39 206.175.82.5 - 208.201.133.173 GET /global/images/navlineboards.gif - 200 540 324 157 HTTP/1.0 Mozilla/4.0+(compatible;+MSIE+4.01;+Windows+95) USERID=CustomerA;+IMPID=01234 http://yourturn.rollingstone.com/webx?98@@webx1.html
CloudFront
AWS上的日志格式
自定义格式
关于自定义格式所设置的参数说明在这里
-d --with-output-resolver 在HTML输出或者json输出中开启IP 解析
如果开启了-d,goaccess就会使用GEOIP来进行IP解析。
-e --exclude-ip=<ip address>
Host模块中不需要被统计的IP,比如可以将爬虫的IP过滤掉
-h --help 帮助文档
-H --http-protocol 显示的时候是否带上HTTP协议信息
-m --with-mouse 控制面板开启支持鼠标点击,带上了m之后,双击鼠标就相当于回车的操作
-M --http-method 是否带上HTTP方法信息
-H和-M带上之后效果为:
-o --output-format=csv|json 输出为csv或者json形式
-p --conf-file=<filename>
指定配置文件,如果你有配置文件,配置文件中又恰巧设置了log-format和date,那么你就不会被强制进入到format对话框了。如果你没有设置的话,默认使用~/.goacessrc。
-q --no-query-string
忽略请求的参数部分
-r --no-term-resolver
在Host模块中是否进行IP的解析。加上-r是禁止IP解析。
--no-color
输出无颜色标示
--real-os
展示真实的操作系统。在Operation System模块中,是否展示更详细的操作系统信息。
如图:
下面说说的是控制台的键盘操作:
F1是打开帮助文档
F5是刷新当前窗口
q是退出当前窗口,直到退出程序
o是进入选择条目
0-9 是选择模块
tab和shift+tab是在前后模块之前切换
j和k是在模块内部条目切换
s是模块内部条目排序方式
ps:模块切换在右上角有当前模块的标示
使用GoAccess生成文件
说起GoAccess最让你爽的就是能生成html了,然后每天就可以看个统计报表。
下面的命令能生成html页面:
goaccess -d -f web.log -a -p /home/yejianfeng/.goaccessrc > test.html
生成的html的截图如下:
也可以生成json:
goaccess -q -f web.log -a -p /home/yejianfeng/.goaccessrc -o json >test.json
和csv
goaccess -q -f web.log -a -p /home/yejianfeng/.goaccessrc -o csv>test.csv
等等,还缺点什么?
正如文章,人无完人,工具无完美工具,goaccess也有几个让人不够爽的地方
geoip粒度太粗
它是使用机器自带的GeoIP,这个自带的77k左右的IP库只能判断出国籍,不能判断到城市。呃,这个就意味着你的报表中有99%的IP统计是来自:China。你可以升级你的GeoIp,但是,付费。网上有免费的GeoLiteCity.dat库,但是goaccess自身就不支持国籍-城市的分类,也不支持使用外部的IP库。
我能想到还有的办法就是用goaccess生成json,然后自己写python也好,php也好程序来加载城市的Ip库来解析地理位置。然后再生成报表。不过,这样,好像就不美了。
好消息是这个功能在ISSUE中有人提了,TODO LIST。
日期粒度太粗
日期只能粒度到天,如果需要统计一天每个小时的访问数据,就没法了。也不是没办法,你可以先grep小时的数据,然后再用goaccess解析。不过,这样,好像很挫。
好消息是这个功能在ISSUE中有人提了,TODO LIST。
所以说....TODO LIST真是个好东西,是吧。另外,本文的goaccess使用v0.7.1。
本文系统来源:http://www.cnblogs.com/yjf512/p/3640346.html
内容总结
以上是互联网集市为您收集整理的nginx日志分析利器GoAccess(转)全部内容,希望文章能够帮你解决nginx日志分析利器GoAccess(转)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。