您的位置:首页 > 编程语言 > Go语言

GoAccess日志分析工具使用文档

2016-03-11 19:49 441 查看
----Sevck 2016/3/4 17:24:13

#1软件说明:

GoAccess是一款开源、实时,运行在命令行终端下的web日志分析工具。该工具提供快速、多样的HTTP状态统计,可以令管理员不再纠结于统计各类数据,和繁杂的指令以及一大堆管道/正则表达式说byebye。据GoAccess官方的说法:使用AMD Sempron 2.31GHz的CPU+2GB内存,开启GoAccess所有功能,该软件每秒可以处理10万行日志。当然,如果使用的CPU更强劲,拥有更多的内存,GoAccess的表现会更加出色。

#2 功能特色:

ü 生成统计数据,带宽统计等

ü 每个请求的时间统计

ü 最高访问ip

ü 请求的文件统计

ü 请求的静态文件、图片、flash、js文件等

ü 各HTTP状态码统计

ü Hosts,反向DNS,IP所在地

ü 操作系统

ü 浏览器/蜘蛛

ü 引用的网站

ü 引用的URLs

ü 关键词组

ü 地理位置 (大陆、国家、城市)

ü 可输出JSON或CSV

ü 各种的颜色主题

ü 支持大容量数据且支持大容量数据的持续分析

ü 支持IPv6

ü 可生成HTML报告

#3安装方法:

1.官网下载,编译:

wget http://tar.goaccess.io/goaccess-0.8.1.tar.gz tar -xzvf goaccess-0.8.1.tar.gz
cd goaccess-0.8.1/
./configure --enable-geoip --enable-utf8
make && make install

2.软件包管理器安装:

Debian/Ubuntu:

#apt-get install goaccess

Centos/Fedora:

yum install goaccess

OSX:

brew install goaccess

安装完成之后我们就可以开始使用了,

测试是否安装成功我们可以在终端输入:goaccess -V(大写)



就可以看到已经安装成功了。

#4启动参数介绍:
-b 流量消耗统计,如果想要提高解析速度,不要开启这个选项。缺省值 为不开启此选项
-f 日志文件路径。
-s HTTP 状态码报告,为了能够更好的解析日志,选项被默认关闭。
-e 指定IP地址的访问统计。
-a 通过代理的请求统计。

菜单介绍

F1 帮助菜单
F5 刷新
q 退出当前口窗、菜单、或是当前查看的选项
o 打开当前的选项、菜单
c 改变窗口配色(目前只有两种 默认和绿色)
SHIFT + TAB 从当前选定模块向后切换
RIGHT 打开当前选中模块,查看详细信息
s 通过日期排序,只会在访问请求模块起作用
S 通过点击次数排序,只会在访问请求模块起作用
/ 查看详细信息的窗口进行搜索
n 通过/进行查找后,查找下个匹配的内容的位置,如果没有则在窗口底 部显示“search hit BOTTOM”
t 在查看详细信息窗口,移动指针到最顶部
b 在查看详细信息窗口,移动指针到最底部

其他设置

h 查看帮助

v 查看版本

s 储存方法

#5使用goaccess分析方法:



-f指定日志文件就会启动如下界面:



空格键为选择,上下光标移动,回车确定

Nginx日志是属于Combined Log Format (XLF/ELF)类型的,所以我们选择第三个

如果你的不是nginx ,那么到Vim /etc/goaccess.conf

找到:

#NCSA Combined Log Format with Virtual Host

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

去掉下面log-format前的#,如果没有就写一行如上代码



把#去掉,修改格式即可。



工具加载完,页面如下:



#6键盘操作:

F1或h:帮助

F5 :刷新主界面

q:退出程序/当前窗口/折叠当前模块

o或Enter:展开选中的模块或窗口

0-9以及Shift + 0:将选中的模块或窗口激活

k和j:模块内部移动

c:修改配色

^f和^b:模块中上下滚屏

tab shift+tab:前后切换模块

s:模块内部排序选择

/:在所有模块中搜索(支持正则)

n:找到下个匹配

g和G:跳到第一项/最后一项

#7功能项:

表示每天特殊的访问

请求最高的Top list

静态请求top list

404没有找到的URL

访问最高的IP list

操作系统

浏览器

时间统计

来源网站

访问国家

HTTP响应代码

#8其他分析技巧:

如果你的日志是压缩的日志,可以使用如下命令即可:

zcat access.log.***.gz | goaccess

#或者:

zcat -f access.log.*.gz | goaccess

当然goaccess 还支持各种管道:

例如:

sed -n ‘/11/\Dec\2016,$p’ access.log | goaccess -a

想分析百度/google对网站的爬虫:

grep -E “(google|baidu)”access.log | goaccess -a

Goaccess也支持生成html,csv,json格式的报告:

goaccess -f access.log -a >result.html

goaccess -f access.log -a -d -o json > result.json

goaccess -f access.log -o csv > result.csv

Ps :如果导出HTML报告会遇到如下情况:

goaccess -f time_access.log -a > report.html

GoAccess - version 0.9.2 - Jul 15 2015 16:23:20
Config file: /usr/local/etc/goaccess.conf

Fatal error has occurred
Error occured at: src/parser.c - verify_formats - 1691
No time format was found on your conf file.

解决办法:

vi ~/.goaccessrc

time-format %T
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

#重新指定配置文件后执行
goaccess -f time_access.log -p ~/.goaccessrc -a > result.html

最后附上一张html的报表:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: