日志分析工具goaccess

日志分析工具goaccess提到 web 服务器就不得不说 nginx 这款由俄罗斯人开发的小巧的 web 服务软件近几年来风靡大江南北 成为许多草根站长建设网站的首选 但由于历史原因 nginx 在日志分析工具相较于传统的 apache lighthttp 等要匮乏的多 作为性能测试工程师的我 无论在性能分析还是在测试环境维护都离不开日志的分析 所以逼得我必须掌握日志分析的技巧 当然简单的命令必不可少 简单的分析命令足以搞定 但是作为

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

作为性能测试工程师的我,无论在性能分析还是在测试环境维护都离不开日志的分析,所以逼得我必须掌握日志分析的技巧,当然简单的命令必不可少,简单的分析命令足以搞定,但是作为比较复杂的命令分析命令还是有点力不从心,毕竟自己的shell脚本编写能力还没达到那种水平,下面我就介绍一款比较小巧的nginx日志分析工具:goaccess。

日志分析工具goaccess

持的日志格式

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

   安装使用:

    下载地址:http://download.csdn.net/detail/gzh0222/

tar
zxvf goaccess-0.4.2.
tar
.gz
 
cd
goaccess-0.4.2
 
#启动ip归属地查询、和utf8编码格式支持
 
.
/configure
–enalbe-geoip –
enable
-utf8
 
make
&&
make
install

用法介绍

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的表现会更加出色。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222506.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午3:39
下一篇 2026年3月17日 下午3:39


相关推荐

  • 微软2014校园招聘笔试试题

    微软2014校园招聘笔试试题

    2021年11月29日
    43
  • mysql8修改root的密码(如何查看自家wifi密码)

    部署环境:安装版本redhatCent7.0MYSQL版本8.0.2.0成功部署完毕后出现故障情况:1.正常启动MYSQL服务后,敲Linux中root账户和密码进入不去。2.从/etc/my.cnf配置文件中加入skip-grant-table后正常登陆,但是不能创建用户等多操作总结来说:想进去mysql后不能操作多指令,操作多指令又不能进去mysql,死…

    2022年4月13日
    137
  • Java基础语法_java的基本语法有哪些

    Java基础语法_java的基本语法有哪些Java基础语法

    2022年4月21日
    76
  • onbeforeunload 使用方法

    onbeforeunload 使用方法概述当窗口即将被卸载 关闭 时 会触发该事件 此时页面文档依然可见 且该事件的默认动作可以被取消 语法 window onbeforeunlo funcReffuncR 是一个函数引用该函数应当将一个说明字符串赋值给 Event 对象的 returnValue 属性 兼容旧版浏览器 并且返回该字符串请注意 在 Firefox4 及其后续版本中 返回的说明字符串并不向用户显示

    2026年3月19日
    2
  • Lua入门教程_自学素描基本入门教程

    Lua入门教程_自学素描基本入门教程什么是LuaLua是一个小巧的脚本语言。是巴西里约热内卢天主教大学(PontificalCatholicUniversityofRiodeJaneiro)里的一个研究小组,由Rober

    2022年8月1日
    12
  • pycharm安装tensorflow_tensorflow到底是什么

    pycharm安装tensorflow_tensorflow到底是什么首先,本人在配置上花了好久的时间,踩了很多坑,为了方便大家,在这里说明一下在windows10系统上,是如何配置tensorflow的环境的。(版本Python3.5.6tensorflow1.10.0)我们采用的是anaconda下的配置方法,这个软件的好处有很多,是专门面向python的拓展包,在搭建的环境中可以一键安装自己想要的包。一,下载anacondaAnaconda的最新版本是3.5.3这个版本默认安装的是python3.7,在里面自带一个python环境,我们不需要用到它。

    2022年8月27日
    8

发表回复

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

关注全栈程序员社区公众号