nginx日志分析工具

比较好用的工具有:

主要是对access.log进行分析; 

  1. 安装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
  2. 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的数据库文件(文本数据库),perl /xxx/awstats/wwwroot/cgi-bin/awstats.pl -update -config=example

    这里可能会出现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

     多站点配置的方法:http://kamisama.me/2013/03/20/install-configure-and-protect-awstats-for-multiple-nginx-vhost-on-debian/

后来发现,直接yum install awstats就可以安装awstats了...一 一+

posted @ 2013-11-15 14:34  ifeixiang  阅读(7193)  评论(1编辑  收藏  举报