什么是GoAccess?
GoAccess是运行在Unix系统终端,开源、实时分析Apache日志(其实也能够分析Nginx日志)并且能够动态呈现的软件。它为系统管理员提供了一个快速、有价值的HTTP统计,动态的可视化的服务器报告。
它是做什么以及如何工作?
从本质上讲,GoAccess的工作方式是,它将解析众所周知的Apache访问日志文件 access log,GoAccess通过解析日志收集的数据,将会显示它的控制台或某个终端。收集到的信息或生成的报告将显示给在视觉、交互窗口的系统管理员用户。报告包括:
- 综合统计
- 访客排行榜
- 请求文件排行榜
- 请求的静态文件排行榜,如图片、JS文件、CSS文件等
- 访问来源
- 404页面
- 访问者的操作系统
- 访问者的浏览器
- 浏览器和蜘蛛(搜索爬虫)
- 主机,反向DNS,IP位置
- HTTP状态码
- 推介网站
- 搜索关键词
- 显示时不同的配色方案
- 无限制日志文件的大小(决定了GoAccess的打开速度)
日志文件格式
GoAccess可以解析Apache的日志格式,通用日志格式(CLF)和组合日志格式(XLF/ ELF),包括虚拟主机. 它也能够解析Nginx日志. (如果你按照Apache日志的格式配置了Nginx日志)
GoAccess主页 http://goaccess.prosoftcorp.com/
安装方法
1、安装GoAccess需要一些系统支持库
Ncurses 提供字符终端处理库,包括面板和菜单
GLib C语言的函数库(大于2.0的版本)
GeoIP 通过IP,定位他的经纬度,国家/地区,省市,甚至街道等位置信息。(如果不需要这个不是必须的,配置时候去掉这个选项 --enable-geoip)
CentOS下yum安装
yum install ncurses-devel yum install glib2-devel
Ubuntu下apt安装
apt-get install libglib2.0-dev apt-get install libncursesw5-dev
2、安装GoAccess
CentOS下安装
wget http://sourceforge.net/projects/goaccess/files/0.4.2/goaccess-0.4.2.tar.gz tar zxvf goaccess-0.4.2.tar.gz cd goaccess-0.4.2 ./configure --enable-utf8 make make install
Ubuntu下安装
apt-get install goaccess
GoAccess使用介绍
启动参数介绍:
- -b 流量消耗统计,如果想要提高解析速度,不要开启这个选项。缺省值为不开启此选项
- -f 日志文件路径。
- -s HTTP 状态码报告,为了能够更好的解析日志,选项被默认关闭。
- -e 指定IP地址的访问统计。
- -a 通过代理的请求统计。
菜单介绍
- F1 帮助菜单
- F5 刷新
- q 退出当前口窗、菜单、或是当前查看的选项
- o 打开当前的选项、菜单
- c 改变窗口配色(目前只有两种 默认和绿色)
- SHIFT + TAB 从当前选定模块向后切换
- RIGHT 打开当前选中模块,查看详细信息
- s 通过日期排序,只会在访问请求模块起作用
- S 通过点击次数排序,只会在访问请求模块起作用
- / 查看详细信息的窗口进行搜索
- n 通过/进行查找后,查找下个匹配的内容的位置,如果没有则在窗口底部显示“search hit BOTTOM”
- t 在查看详细信息窗口,移动指针到最顶部
- b 在查看详细信息窗口,移动指针到最底部
使用实例
- 最简单、快速的使用方式
goaccess -f /data1/logs/blog.wuwangwo.net/access.log
- 产生完整、全面统计数据的使用方式
goaccess -f /data1/logs/blog.wuwangwo.net/access.log -a -s -b
- 通过管道的方式将更多access log 通过GoAccess解析
zcat access.log.*.gz | goaccess
或者
zcat -f access.log* | goaccess
- 另外一种通过管道使用GoAccess解析日志的方式
sed -n '/05\/Dec\/2010/,$ p' access.log | goaccess -s -b
- 低优先级运行GoAccess的方式
nice -n 19 goaccess -f access.log -s -a -b
- 如果你只把GoAccess安装到了一台服务器上
ssh user@server 'cat /var/log/apache2/access.log' | goaccess -s -a -b
注意事项
- 每一个详细信息窗口,只显示300条数据
- GoAccess 通过管道解析日志时将禁用实时解析的功能
总结
GoAceess 不是很大的一款软件却有着强大的功能即使软件可能还有些BUG,软件的更多介绍信息请查看GoAccess的官方网站«./GoAccess»,当前版本的官方手册页面 Man Page