goaccess日志分析工具
目前主流的日志分析工具awstats、webalizer、glTail、piwik主要都是针对apache、lighthttp这些老牌的http应用的。而对于新秀们如nginx的支持的相对较少,今天介绍的这个日志分析工具就支持nginx。除此之外,因为goaccess因为不及于html页面进行的访问,而是在X windows或text mode下实时查看访客详情,所以其实时性和处理能力都比较强,其具体特点如下:
- 统计概况,流量消耗等
- 访客排名
- 动态Web请求
- 静态web请求,如图片、样式表、脚本等。
- 来路域名
- 404 错误
- 操作系统
- 浏览器和搜索引擎
- 主机、DNS和IP地址
- HTTP 响应代码
- 引荐网站
- 键盘布局
- 自定义显示
- 支持超大日志(分析速度很快)
支持的日志格式
目前,这款软件支持Common Log Format (CLF) 和 Combined Log Format(XLF/ELF) 格式的日志。分析传统的apache格式日志当然毫无问题。同时,只要将nginx的日志格式定义为apache格式,对它的分析也不在话下(目前,redhat提供的nginx软件包默认日志格式和apache基本一致)。
GoAccess安装
其功能依赖glib2、GeoIP、ncurses 三个库文件,在Debian或Ubuntu可以直接通过apt-get来下载安装软件。自动解决软件的依赖问题。Redhat或CentOS本身不包含GeoIP包,可以通过第三方源rpmforge来解决依赖关系。具体rpmforge的使用,可以参看我的另一篇日志——CentOS官方推荐的RPMforge软件仓库安装方法。
安装完第三方源rpmforge后,就可以通过yum解决goaccess所需的依赖关系包了。
1yum install glib2 glib2-devel GeoIP-devel ncurses-devel
2wget http://nchc.dl.sourceforge.net/project/goaccess/0.4/goaccess-0.4.2.tar.gz
3tar zxvf goaccess-0.4.2.tar.gz
4cd goaccess-0.4.2
5#启动ip归属地查询、和utf8编码格式支持
6./configure –enalbe-geoip –enable-utf8
7make && make install
其官方页面为http://goaccess.prosoftcorp.com,其他linux版本也可以到其网站找相应的版本下载。
用法介绍
GoAccess的基本语法如下:
goaccess [ -b ][ -s ][ -e IP_ADDRESS][ – a ]
参数说明:
- -f – 日志文件名
- -b – 开启流量统计,如果希望加快分析速度不建议使用该参数
- -s – 开启HTTP响应代码统计
- -a – 开启用户代理统计
- -e – 开启指定IP地址统计,默认禁用
1最简单、常用的命令就是直接调用goaccess命令啦,不带任何影响效率的其他参数
2goaccess –f access.log
3如果需要查看其他信息,我们加入如下参数以显示HTTP响应代码、用户代理、流量消耗
4goaccess –f access.log –s –a –b
5如果你觉得这样还不能满足你的需求。别急,goaccess支持linux管道(Pipe),我们可以将日志文件预处理后,再交给goaccess去分析。
6zcat access.log.1.gz | goaccess
7让goaccess去分析已经打包压缩好的日志文件。
8或者干脆分析目前下所有日志
9zcat access.log\* | goaccess
10如果需要分析某天的日志,例如5月6号那天的日志,就可能通过linux管道配合实现。
11sed -n '/06/May/2010/,$ p' access.log | goaccess -s –b
12分析从11月5号到12月5号一个月内的日志
13sed -n '/5/Nov/2010/,/5/Dec/2010/ p' access.log | goaccess -s –b
14当你不希望在服务器上安装goaccess程序,可以通过调用本地的goaccess程序来分析服务器上的日志:
15ssh user@server 'cat /var/log/apache2/access.log' | goaccess -s -a -b
2013年1月22日后记:
目前官方出了goaccess 0.5版本。其较0.4版本,减少了使用参数。目前只有e a c f 四个可用参数。增加了日志格式选择和自定义选项。如果日志格式选择不对的话,可能会出现带宽使用情况为0。并且统计结果不完整的情况。
1[root@back res]# goaccess
2GoAccess - 0.5
3Usage: goaccess [ -e IP_ADDRESS][ - a ][ - c ]< -f log_file >
4使用-c参数自定义日志格式的界面如下:
5+--------------------------------------------------+
6| Log Format Configuration |
7| [SPACE] to toggle - [F10] to proceed |
8| Parsing... |
9| [ ] Common Log Format (CLF) |
10| [ ] Common Log Format (CLF) with Virtual Host |
11| [x] NCSA Combined Log Format |
12| [ ] NCSA Combined Log Format with Virtual Host |
13| [ ] W3C |
14| |
15| Log Format - [c] to add/edit format |
16| %h %^[%d:%^] "%r" %s %b "%R" "%u" |
17| |
18| Date Format - [d] to add/edit format |
19| %d/%b/%Y |
20+--------------------------------------------------+
同时其支持输出为html格式的结果,用法如下:
1goaccess -f 361way.access.log -a -c > /root/dayrep.html
2grep '21/Jan/2013:13:20' 361way.access.log |goaccess -c -a > /root/minrep.html
html输出结果可以参看官方示例页面,输出页面还是相当简洁美观的。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/goaccess/1246.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.