你好,游客 登录 注册 搜索
背景:
阅读新闻

AWStats分析Nginx访问日志

[日期:2014-10-23] 来源:Linux社区  作者:Qicheng [字体: ]

AWStats是在Sourceforge上发展很快的一个基于Perl的WEB日志分析工具。

它可以统计您站点的如下信息:

  • 访问量(UV),访问次数,页面浏览量(PV),点击数,数据流量等
  • 精确到每月、每日、每小时的数据
  • 访问者国家
  • 访问者IP
  • Robots/Spiders的统计
  • 访客持续时间
  • 对不同Files type的统计信息
  • Pages-URL的统计
  • 访客操作系统浏览器等信息
  • 其它信息(搜索关键字等等)

AWStats配置 (Windows + Apache ) http://www.linuxidc.com/Linux/2013-09/89710.htm

CentOS 6.3下AWStats+GeoIP实现查看网站访问归属地 http://www.linuxidc.com/Linux/2013-06/85984.htm

Nginx 日志分析 AWStats + JAWStats 安装配置 http://www.linuxidc.com/Linux/2013-06/85567.htm

经典日志分析工具-AWStats http://www.linuxidc.com/Linux/2012-12/77080.htm

AWStats日志系统配置文件和错误归纳 http://www.linuxidc.com/Linux/2012-12/75657.htm

使用AWStats分析网站日志-强大的日志分析工具 http://www.linuxidc.com/Linux/2012-11/74431.htm

下面是AWStats分析Nginx日志的操作步骤:

一、配置nginx日志格式

修改nginx.conf的日志格式,不然awstats无法分析。 

    log_format access '$remote_addr - $remote_user [$time_local] "$request" '

        '$status $body_bytes_sent "$http_referer" '

        '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log access;

注意,日志格式里的双引号不能漏了且每个参数之间是一个空格分隔,因为只要有细微的差别,awstats就无法读取日志。

改好后,使nginx重读配置文件:

shell# nginx -t && nginx -s reload

二、自动切割nginx日志

每天晚上23点59分定时执行一个shell脚本来切割nginx日志。脚本内容如下:

#!/bin/bash

#

# Filename:    nginxCutLog.sh

# Author:      Qicheng

# Website:    http://www.linuxidc.com/

# Description: 切割nginx日志

# Notes:      设置crontab,每天23点59分定时执行

#

ROOT_UID=0

if [ "$UID" -ne "$ROOT_UID" ];then

    echo "Error: 必须以root用户运行此程序!"

    exit 1

fi 

nginx_logs_dir="/var/log/nginx"

nginx_pid_file="/var/run/nginx.pid"

# 切割后的日志文件名,例如access_20141022.log

nginx_log_today="$nginx_logs_dir/access_`date +%Y%m%d`.log"

[ -f "$nginx_log_today" ] && exit 1

mv $nginx_logs_dir/access.log $nginx_log_today

# 给nginx发送USR1信号,使重新打开新的access.log日志文件

[ -f $nginx_pid_file ] && /bin/kill -USR1 $(cat $nginx_pid_file)

设置crontab:

59 23 * * * /bin/bash /yourscriptpath/nginxCutLog.sh

三、安装awstats

shell# wget http://awstats.sourceforge.net/files/awstats-7.0.tar.gz

shell# tar -zxvf awstats-7.0.tar.gz

shell# mv awstats-7.0 /usr/local/awstats

shell# mkdir -p /var/lib/awstats

四、配置awstats

进入/usr/local/awstats/tools/目录,执行配置脚本awstats_configure.pl:

shell# cd /usr/local/awstats/tools/

shell# ./awstats_configure.pl

AWStats分析Nginx访问日志

程序执行结束后,会在/etc/awstats/目录下生成你的配置文件。然后编辑配置文件,修改LogFile参数,跟日志切割脚本中的日志路径对应起来:

LogFile="/var/log/nginx/access_%YYYY-24%MM-24%DD-24.log"

注意,这里日期格式“%YYYY-24%MM-24%DD-24”,是指24小时之前的年月日,也就是昨天的日期。

测试

shell# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=yourwebsite

注意:-config=后面的参数是你在执行awstats_configure.pl时输入的站点域名。

AWStats分析Nginx访问日志

更多详情见请继续阅读下一页的精彩内容http://www.linuxidc.com/Linux/2014-10/108362p2.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款