goaccess-nginx日志分析工具简介/安装

2016年5月16日

提到web服务器就不得不说nginx。这款由俄罗斯人开发的小巧的web服务软件近几年来风靡大江南北;成为许多草根站长建设网站的首选。但由于历史原因,nginx在日志分析工具相较于传统的apache、lighthttp等要匮乏的多。

笔者今天在这里为各位介绍一个牛X的实时日志分析工具GoAccess。不仅安装简单,功能强大,并且支持nginx日志格式。实在是草根站长们手中又一犀利武器,不可不备^_^。

目前主流的日志分析工具多采用html格式呈现给网站管理者或用户。这样的做法无可厚非;既然开通了网站,通过浏览器查看访客详情也符合逻辑。但, 这类工具的缺点也十分明显,实时性较差。为了提高服务器效能,管理员多会按时归档日志统计信息。这样一来,很多故障信息都无法实时分析。如果管理员登录了 文字界面的linux,查看起来就更方便了。

特色简介

使用GoAccess就不会有这样的困扰啦。各位可以把它作为传统日志分析工具很好的补充。在X windows或text mode下实时查看访客详情,显示界面很友好;GoAccess表示毫无压力^_^。

目前,我们可以通过这款软件查看的统计信息有:

  1. 统计概况,流量消耗等
  2. 访客排名
  3. 动态Web请求
  4.  静态web请求,如图片、样式表、脚本等。
  5.  来路域名
  6. 404 错误
  7. 操作系统
  8.  浏览器和搜索引擎
  9. 主机、DNS和IP地址
  10.  HTTP 响应代码
  11.  引荐网站
  12.  键盘布局
  13. 自定义显示
  14.  支持超大日志(分析速度很快)

支持的日志格式

目前,这款软件支持Common Log Format (CLF) 和 Combined Log Format(XLF/ELF) 格式的日志。分析传统的apache格式日志当然毫无问题。同时,只要将nginx的日志格式定义为apache格式,对它的分析也不在话下(目前,redhat提供的nginx软件包默认日志格式和apache基本一致)。

GoAccess安装注意事项

使用Debian或Ubuntu的同学可以直接通过apt-get来下载安装软件。自动解决软件的依赖问题。Redhat或CentOS用户可以有现成rpm包下载安装;但需要手动解决软件依赖。

安装方法

http://blog.wuwangwo.net/articles/20.html

1、安装GoAccess需要一些系统支持库

yum install glib2 glib2-devel GeoIP-devel  ncurses-devel zlib zlib-devel

如果yum库找不到Geo-IP 那么需要单独安装了.

# cd /usr/local/src# wget http://sourceforge.net/projects/goaccess/files/0.6/goaccess-0.6.tar.gz/download
 
# wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.6.tar.gz
# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz

安装GeoIP库

# tar xzvf GeoIP-1.4.6.tar.gz
# cd GeoIP-1.4.6
# ./configure && make && make install
# mv GeoIP.dat.gz /usr/local/share/GeoIP/

安装goaccess

# tar xzvf goaccess-0.6.tar.gz
# cd goaccess-0.6
# ./configure --enable-geoip --enable-utf8  && make && make install

启动参数介绍:

-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 access.log

完整的

goaccess -a -e -c -f /usr/local/nginx/logs/2013/03/access_20130319.log

GoAccess 还可以生成 HTML 格式的报告:

/usr/local/bin/goaccess -f /var/log/apache2/access.log -a > report.html

当你不希望在服务器上安装goaccess程序,可以通过调用本地的goaccess程序来分析服务器上的日志(很神奇吧^_^):

ssh user@server "cat /var/log/apache2/access.log" | goaccess -a -e -c

GoAccess日志分析的速度

大部分服务器对日志分析的速度都比较敏感,如果在分析日志时造成服务器其他服务的不稳定,那还不如不用呢。据GoAccess官方的说法:使用 AMD Sempron 2.31GHz的CPU+2GB内存,开启GoAccess所有功能,该软件每秒可以处理10万行日志。当然,如果使用的CPU更强劲,拥有更多的内 存,GoAccess的表现会更加出色。

没有评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注