nginx日志分析工具
比较好用的工具有:
主要是对access.log进行分析;
- 安装GoAccess,官方有详细的介绍,这里记录一下:
yum install glib2 glib2-devel GeoIP-devel ncurses-devel cd ~/software git clone https://github.com/allinurl/goaccess.git cd goaccess autoreconf -fi ./configure --enable-geoip --enable-utf8 make && make install #下面运行GoAcess,相关参数参考官网 goaccess -f /var/log/nginx/access.log -a #输出为html文件 goaccess -f /var/log/nginx/access.log -a > /data/www/nginx.html
可以使用cron晚上定时生成当天的日志html。找不到libgeo的话可以加上:
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
- awstats的安装
wget http://prdownloads.sourceforge.net/awstats/awstats-7.2.tar.gz tar zxf awstats-7.2.tar.gz mv awstats-7.2 /usr/local/awstats cd awstats/tools perl awstats_configure.pl #这里会要求选择日志种类,选择none ;下一步,输入自己的域名 #awstats_configure会在/etc/awstats/目录生成相应域名的配置文件;例如:awstats.example.conf #下面配置日志格式: vim /etc/awstats/awstats.example.conf #将LogFile改为我们需要的日志文件 #这里是按天读取前一天相应文件 #LogFile="/usr/local/nginx/logs/access_%YYYY-0%MM-0%DD-24.log" LogFile="/usr/local/nginx/logs/access.log" #日志格式 LogFormat="%host %time1 %methodurl %code %bytesd %refererquot %uaquot"
这里可能会出现AWStats did not find any valid log lines that match your LogFormat parameter...的问题,只要将原来的access.log文件重新生成即可。可以使用 logrotate -f /etc/logrotate.d/nginx
网上很多说要配置nginx分割日志的脚本,但是为什么要忽略logrotate这个工具呢?
下面配置Nginx站点
#复制官方的配置文件到nginx配置文件目录下 cp /usr/local/awstats/tools/nginx/awstat-nginx.conf /etc/nginx/conf.d/vhost/awstats.conf #这里会出现找不到cgi-bin/fcgi.php的情况,因为这个文件在tools/nginx目录下;复制过来就行 cp /usr/local/awstats/tools/nginx/fcgi.php /usr/local/awstats/wwwroot/cgi-bin/ #重启Nginx service nginx reload
访问站点的时候需要加上conf的参数,例如:
http://example.com:8081/cgi-bin/awstats.pl?config=example
后来发现,直接yum install awstats就可以安装awstats了...一 一+