提到web服务器就不得不说nginx。这款由俄罗斯人开发的小巧的web服务软件近几年来风靡大江南北;成为许多草根站长建设网站的首选。但由于历史原因,nginx在日志分析工具相较于传统的apache、lighthttp等要匮乏的多。
笔者今天在这里为各位介绍一个牛X的实时日志分析工具GoAccess。不仅安装简单,功能强大,并且支持nginx日志格式。实在是草根站长们手中又一犀利武器,不可不备^_^。
目前主流的日志分析工具多采用html格式呈现给网站管理者或用户。这样的做法无可厚非;既然开通了网站,通过浏览器查看访客详情也符合逻辑。但, 这类工具的缺点也十分明显,实时性较差。为了提高服务器效能,管理员多会按时归档日志统计信息。这样一来,很多故障信息都无法实时分析。如果管理员登录了 文字界面的linux,查看起来就更方便了。
特色简介
使用GoAccess就不会有这样的困扰啦。各位可以把它作为传统日志分析工具很好的补充。在X windows或text mode下实时查看访客详情,显示界面很友好;GoAccess表示毫无压力^_^。
目前,我们可以通过这款软件查看的统计信息有:
- 统计概况,流量消耗等
- 访客排名
- 动态Web请求
- 静态web请求,如图片、样式表、脚本等。
- 来路域名
- 404 错误
- 操作系统
- 浏览器和搜索引擎
- 主机、DNS和IP地址
- HTTP 响应代码
- 引荐网站
- 键盘布局
- 自定义显示
- 支持超大日志(分析速度很快)
支持的日志格式
目前,这款软件支持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库找不到Geo-IP 那么需要单独安装了.
# 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库
# cd GeoIP-1.4.6
# ./configure && make && make install
# mv GeoIP.dat.gz /usr/local/share/GeoIP/
安装goaccess
# 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 还可以生成 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的表现会更加出色。
没有评论