Goaccess是一个非常良心的开源软件,它的良心之处体现在如下方面:
- 安装简单;
- 操作容易;
- 界面酷炫;
安装
安装Goaccess
十分的简单,在centos里直接yum install goaccess
,如果yum源里没有goaccess
,可以先安装epel
。安装epel
的方法如下:
1
2
3wget 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
3time-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 -f access-chen.log
,就会看到如下的界面:
这一下,整个日志看起来更加友好,更加直白,更加高大上。足以吸引周围人的羡慕目光。
但是这里面还是有一个注意点:goaccess
默认支持的日志格式是nginx
默认的日志格式,也就是nginx.conf里的如下格式:
如果你的日志格式是有过更改的,而且还不想改回来,那么就需要去/etc/goaccess.conf
里对应的log-format
进行更改。
这还没有完,goaccess还可以生成html,这里goaccess -f access-chen.log -a > /nginx安装路径/html/chen.html
。然后在浏览器里登陆到这个服务器的chen.html,就会看到整个日志情况的网页排版,如图:
这样的话,我们可以每一天都发一份当天的日志html去运维人员的信箱里,这样更加方便我们分析日志。
缺点
虽然前面说了那么多goaccess的优点,但是缺点也是有的,比如goaccess
的粒度太粗,只能按天分割,如果要按小时分割,需要先grep
出来,这个做法比较挫我懂…
还有一个缺点,就是访问人的来源只能定位到国家,无法具体定位到省市县村屯…
参考资料
http://blog.maxhemby.se/determine-the-apache-traffic-load/#respond