Goaccess---良心nginx日志分析工具

Goaccess是一个非常良心的开源软件,它的良心之处体现在如下方面:

  • 安装简单;
  • 操作容易;
  • 界面酷炫;

安装

安装Goaccess十分的简单,在centos里直接yum install goaccess,如果yum源里没有goaccess,可以先安装epel。安装epel的方法如下:

1
2
3
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm

配置和使用

安装完goaccess之后,我们需要在/etc/goaccess.conf里添加如下几句话:

1
2
3
time-format %T
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] “%r” %s %b “%R” “%u”

保存退出之后,我们就可以通过goaccess来分析nginx日志了,语句格式也很简单:goaccess -f nginx日志的绝对路径。比如我的nginx日志是access-chen.log,查看一下里面的内容:
goaccess

虽然有规律,但是看上去很乱,需要在分析日志之前喝两瓶静心口服液。

然后我就goaccess -f access-chen.log,就会看到如下的界面:
goaccess

这一下,整个日志看起来更加友好,更加直白,更加高大上。足以吸引周围人的羡慕目光。

但是这里面还是有一个注意点:goaccess默认支持的日志格式是nginx默认的日志格式,也就是nginx.conf里的如下格式:
goaccess

如果你的日志格式是有过更改的,而且还不想改回来,那么就需要去/etc/goaccess.conf里对应的log-format进行更改。

这还没有完,goaccess还可以生成html,这里goaccess -f access-chen.log -a > /nginx安装路径/html/chen.html。然后在浏览器里登陆到这个服务器的chen.html,就会看到整个日志情况的网页排版,如图:
goaccess

这样的话,我们可以每一天都发一份当天的日志html去运维人员的信箱里,这样更加方便我们分析日志。

缺点

虽然前面说了那么多goaccess的优点,但是缺点也是有的,比如goaccess的粒度太粗,只能按天分割,如果要按小时分割,需要先grep出来,这个做法比较挫我懂…

还有一个缺点,就是访问人的来源只能定位到国家,无法具体定位到省市县村屯…
goaccess

参考资料

http://blog.maxhemby.se/determine-the-apache-traffic-load/#respond

感谢您请我喝咖啡~O(∩_∩)O,如果要联系请直接发我邮箱chenx1242@163.com,我会回复你的
-------------本文结束感谢您的阅读-------------