nginx日志分析工具GoAccess
原创
©著作权归作者所有:来自51CTO博客作者kexl的原创作品,请联系作者获取转载授权,否则将追究法律责任
Nginx日志分析工具
特色简介
使用GoAccess就不会有这样的困扰啦。各位可以把它作为传统日志分析工具很好的补充。在X windows或text mode下实时查看访客详情,显示界面很友好;GoAccess表示毫无压力^_^。
目前,我们可以通过这款软件查看的统计信息有:
- 统计概况,流量消耗等
- 访客排名
- 动态Web请求
- 静态web请求,如图片、样式表、脚本等。
- 来路域名
- 404 错误
- 操作系统
- 浏览器和搜索引擎
- 主机、DNS和IP地址
- HTTP 响应代码
- 引荐网站
- 键盘布局
- 自定义显示
- 支持超大日志(分析速度很快)
yum
install
glib2 glib2-devel GeoIP-devel ncurses-devel
wget http:
//sourceforge
.net
/projects/goaccess/files/0
.4.2
/goaccess-0
.4.2.
tar
.gz
/download
tar
zxvf goaccess-0.4.2.
tar
.gz
cd
goaccess-0.4.2
.
/configure
–enalbe-geoip –
enable
-utf8
make
&&
make
install
下面笔者着重介绍下在类Redhat系统下如何编译安装GoAccess:
需要用到的几个库文件有:
- glib2
- GeoIP
- ncurses
如果你使用的服务器版本不在以上四个之列,可以去官网的
Download页面查看相应的安装方式,目前支持的还有git、FreeBSD等。
用法介绍
GoAccess的基本语法如下:
goaccess [ -b ][ -s ][ -e IP_ADDRESS][ - a ] <-f log_file >
参数说明:
- -f – 日志文件名
- -b – 开启流量统计,如果希望加快分析速度不建议使用该参数
- -s – 开启HTTP响应代码统计
- -a – 开启用户代理统计
- -e – 开启指定IP地址统计,默认禁用
用法示例:
最简单、常用的命令就是直接调用goaccess命令啦,不带任何影响效率的其他参数
goaccess –f access.log
如果需要查看其他信息,我们加入如下参数以显示HTTP响应代码、用户代理、流量消耗
goaccess –f access.log –s –a –b
如果你觉得这样还不能满足你的需求。别急,goaccess支持linux管道(Pipe),我们可以将日志文件预处理后,再交给goaccess去分析。
zcat access.log.1.gz | goaccess
让goaccess去分析已经打包压缩好的日志文件。
或者干脆分析目前下所有日志
zcat access.log* | goaccess
如果需要分析某天的日志,例如10月5号那天的日志,我们让linux管道命令来大显身手^_^。
sed -n ‘/05\/Dec\/2010/,$ p’ access.log | goaccess -s –b
分析从11月5号到12月5号一个月内的日志
sed -n ‘/5\/Nov\/2010/,/5\/Dec\/2010/ p’ access.log | goaccess -s –b
当你不希望在服务器上安装goaccess程序,可以通过调用本地的goaccess程序来分析服务器上的日志(很神奇吧^_^):
ssh user@server ‘cat /var/log/apache2/access.log’ | goaccess -s -a -b
转自:
http://www.cnphp.info/goaccess-nginx-log-stat-tool-intro.html