Goaccess是一个非常良心的开源软件,它的良心之处体现在如下方面:
1)安装简单;
2)操作容易;
3)界面酷炫;
安装Goaccess十分的简单,在CentOS里直接#yum install goaccess,如果yum源里没有goaccess,可以先安装epel。安装epel的方法如下:
wget Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
安装完goaccess之后,我们需要在/etc/goaccess.conf里添加如下几句话:
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 -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的粒度太粗,只能按天分割,如果要按小时分割,需要先grep出来,这个做法比较挫我懂...
还有一个缺点,就是访问人的来源只能定位到国家,无法具体定位到省市县村屯...
更多Nginx相关教程见以下内容:
搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程
CentOS 6.3下配置Nginx加载ngx_pagespeed模块
Ubuntu 16.04 LTS 上安装 Nginx、MariaDB 和 HHVM 运行 WordPress