设为首页 收藏本站
查看: 692|回复: 0

[经验分享] [转载]goaccess-nginx日志分析工具简介

[复制链接]

尚未签到

发表于 2016-12-26 08:42:32 | 显示全部楼层 |阅读模式
  [转载]:http://www.cnphp.info/goaccess-nginx-log-stat-tool-intro.html
  作者: freemouse 日期 2011年11月1日 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明
网址: http://www.cnphp.info/goaccess-nginx-log-stat-tool-intro.html
 
 
 

提到web服务器就不得不说nginx。这款由俄罗斯人开发的小巧的web服务软件近几年来风靡大江南北;成为许多草根站长建设网站的首选。但由于历史原因,nginx在日志分析工具相较于传统的apache、lighthttp等要匮乏的多。
笔者今天在这里为各位介绍一个牛X的实时日志分析工具GoAccess。不仅安装简单,功能强大,并且支持nginx日志格式。实在是草根站长们手中又一犀利武器,不可不备^_^。
 
目前主流的日志分析工具多采用html格式呈现给网站管理者或用户。这样的做法无可厚非;既然开通了网站,通过浏览器查看访客详情也符合逻辑。但,这类工具的缺点也十分明显,实时性较差。为了提高服务器效能,管理员多会按时归档日志统计信息。这样一来,很多故障信息都无法实时分析。如果管理员登录了文字界面的linux,查看起来就更方便了。
特色简介
使用GoAccess就不会有这样的困扰啦。各位可以把它作为传统日志分析工具很好的补充。在X windows或text mode下实时查看访客详情,显示界面很友好;GoAccess表示毫无压力^_^。
目前,我们可以通过这款软件查看的统计信息有:

  • 统计概况,流量消耗等
  • 访客排名
  • 动态Web请求
  •  静态web请求,如图片、样式表、脚本等。
  •  来路域名
  • 404 错误
  • 操作系统
  •  浏览器和搜索引擎
  • 主机、DNS和IP地址
  •  HTTP 响应代码
  •  引荐网站
  •  键盘布局
  • 自定义显示
  •  支持超大日志(分析速度很快)
DSC0000.png
支持的日志格式
目前,这款软件支持Common Log Format (CLF) 和 Combined Log Format(XLF/ELF) 格式的日志。分析传统的apache格式日志当然毫无问题。同时,只要将nginx的日志格式定义为apache格式,对它的分析也不在话下(目前,redhat提供的nginx软件包默认日志格式和apache基本一致)。
DSC0001.png
GoAccess安装注意事项
使用Debian或Ubuntu的同学可以直接通过apt-get来下载安装软件。自动解决软件的依赖问题。Redhat或CentOS用户可以有现成rpm包下载安装;但需要手动解决软件依赖。
 
下面笔者着重介绍下在类Redhat系统下如何编译安装GoAccess:
需要用到的几个库文件有:

  • glib2
  • GeoIP
  • ncurses
 
这些都时常用的库文件,直接yum安装就能搞定:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
yum install glib2 glib2-devel GeoIP-devel  ncurses-devel
 
#从官方下载最新的tarball
#author freemouse
#source http://www.cnphp.info/goaccess-nginx-log-stat-tool-intro.html
 
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
 
#启动ip归属地查询、和utf8编码格式支持
 
./configure –enalbe-geoip –enable-utf8
 
make && make install



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


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-319397-1-1.html 上篇帖子: Nginx的防盗链配置(转) 下篇帖子: nginx返回chunked编码的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表