提到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包下载安装;但需要手动解决软件依赖。
下面笔者着重介绍下在类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 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
GoAccess日志分析的速度
大部分服务器对日志分析的速度都比较敏感,如果在分析日志时造成服务器其他服务的不稳定,那还不如不用呢。据GoAccess官方的说法:使用AMD Sempron 2.31GHz的CPU+2GB内存,开启GoAccess所有功能,该软件每秒可以处理10万行日志。当然,如果使用的CPU更强劲,拥有更多的内存,GoAccess的表现会更加出色。
相关推荐
GoAccess 是一款开源、快速且轻量级的日志分析工具,专门设计用于实时地分析Apache、Nginx等Web服务器的访问日志。它以终端界面展示,能够生成丰富的统计报告,帮助管理员更好地理解和优化网站的访问情况。 在深入...
Nginx日志分析工具2.1.0是一款专为Windows平台设计的软件,用于高效地解析、统计和分析Nginx服务器产生的日志文件。Nginx作为一款高性能的Web服务器和反向代理服务器,广泛应用于各类网站和应用程序中。在日常运维...
一、ingress-nginx-controller 简介 ingress-nginx-controller 是 Kubernetes 社区维护的一个项目,它提供了对 Ingress 资源的实现,使得可以通过定义简单的 YAML 文件来管理对外暴露的服务路由。Nginx 作为业界...
OpenResty是基于Nginx和lua-nginx-module的高性能Web平台,提供了更完整的Lua扩展库和工具集,如lua-nginx-memcached-module、lua-resty-redis等。 5.2 LuaJIT优化 LuaJIT是Lua的一个高性能Just-In-Time编译器,能...
5. 日志管理:Nginx的日志功能可以帮助运维人员分析和监控文件服务的运行状态,及时发现并解决问题。 总的来说,FastDFS-Nginx-Module V1.19是搭建大规模网站文件服务的理想选择。其兼容性和稳定性确保了系统的可靠...
总的来说,ingress-nginx-4.0.17是Kubernetes环境中实现高效网络访问控制的重要工具。通过Helm的便利性,我们可以快速、稳定地部署和管理ingress-nginx,进一步提升微服务架构的灵活性和可靠性。对于任何运行在...
《FastDFS-Nginx-Module 1.24:高效文件服务器集成详解》 FastDFS-nginx-module 1.24 是一个针对 FastDFS 文件系统的 Nginx 模块,它使得 Nginx 可以无缝地与 FastDFS 集成,提供了高效的文件上传、下载服务。这一...
还可以利用 `kubectl describe ingress` 或 `kubectl logs deployment/nginx-ingress-controller` 查看更详细的日志信息,以诊断可能存在的问题。 总之,Ingress-Nginx 控制器是 Kubernetes 环境下实现复杂网络路由...
《Lua在Nginx中的应用:Lua-Nginx-Module 0.10.9rc7详解》 Lua-Nginx-Module是Nginx服务器中一个强大的扩展模块,允许我们在Nginx配置文件中直接嵌入Lua脚本,极大地提高了Nginx处理动态请求的能力。本文将详细探讨...
当与echo-nginx-module结合时,我们可以将这些信息加入到日志中,或者在响应中返回给客户端,以实现更精细化的访问控制和服务定制。 五、与Lua模块的协同 Lua模块为Nginx提供了强大的脚本语言支持。echo-nginx-...
3. **Lua API**:Nginx-Lua模块提供了丰富的API供开发者调用,包括请求和响应对象、变量、定时器、日志记录、连接池管理等。例如,`ngx.req.get_uri_args()`获取请求的查询参数,`ngx.say()`输出HTTP响应内容,`ngx....
本文将深入探讨FastDFS-Nginx-Module的集成,帮助读者理解如何利用这两个强大的工具实现高效、稳定且可扩展的文件服务。 首先,FastDFS是一个轻量级的分布式文件系统,设计目标是为互联网应用提供高效的文件存储...
标题中的"fastdfs-nginx-module_v1.16.tar.gz"是一个开源项目,它是一个用于Nginx服务器的模块,旨在使Nginx能够与FastDFS文件存储系统无缝集成。FastDFS是一个轻量级的开源分布式文件系统,适用于互联网和企业内部...
headers-more-nginx-module-0.37.tar
《FastDFS-Nginx-Module V1.20详解及应用实践》 FastDFS-Nginx-Module是针对FastDFS分布式文件系统的一款扩展模块,它主要用于整合Nginx web服务器,实现通过Nginx直接访问FastDFS存储的文件,极大地提高了文件服务...
在本项目中,“大数据实践项目 - nginx 日志分析可视化”主要关注的是如何处理和解析大量来自nginx服务器的日志数据,并通过可视化工具将其呈现出来。这个项目涵盖了三个关键的技术领域:流处理、批处理以及Web应用...
在本教程中,我们将详细探讨如何利用FastDFS-6.06、fastdfs-nginx-module-1.22和nginx-1.16.1这三个组件来搭建一套完整的FastDFS系统。 首先,我们来看FastDFS-6.06。这是FastDFS的主要部分,负责文件的存储和管理...
goaccess是一款实时的日志分析工具,其设计目的是提供一种快速、轻量级的方式来分析Apache、Nginx等Web服务器的日志。通过goaccess,我们可以直观地看到网站的访问情况,包括但不限于访问次数、来源、热门页面、...
6. **监控与维护**:通过Nginx的日志,我们可以分析文件访问的流量和行为,以便进行性能调优或问题排查。FastDFS也提供了监控工具,可以查看系统的状态,如磁盘空间、上传下载速度等。 总之,`fastdfs-nginx-module...
《深入理解echo-nginx-module:构建高性能Web服务》 在Web服务器领域,Nginx以其高效、稳定的特点深受广大开发者和运维人员的喜爱。为了进一步提升性能和实现更丰富的功能,Nginx支持各种第三方模块的扩展,其中...