2010-04-07

[Work] Awstats 相關

參觀者:按來訪者不重復的IP統計,一個IP代表一個參觀者;
參觀次數:一個參觀者可能1天之內參觀多次(比如:上午一次,下午一次),所以按一定時間內(比如:1個小時),不重復的IP數統計,參觀者 的訪問次數;
網頁數:不包括圖片,CSS, JavaScript文件等的純頁面訪問總數,但如果一個頁面使用了多個幀,每個幀都算一個頁面請求;
點擊數:來自瀏覽器客戶端的文件請求總數,包括圖片,CSS,JavaScript等,用戶請求一個頁面是,如果頁面中包含圖片等,所以對服 務器會發出多次文件請求,文件數一般遠遠大于文件數;


一次跑一個月的LOG bat
ref:http://blog.miniasp.com/?tag=/awstats
=========bat=============
@echo off

setlocal enabledelayedexpansion

SET LogPath=C:\WINDOWS\system32\LogFiles\W3SVC1

c:
cd C:\Program Files\AWStats\wwwroot\cgi-bin

:2007-12-01 ~ 2007-12-31
SET YY=07
SET MM=12
FOR /L %%i IN (1,1,31) DO (
SET DD=%%i
IF %%i LSS 10 (
SET DD=0%%i
)
awstats.pl -config=blog.miniasp.com -update -showsteps -LogFile=%LogPath%\ex%YY%%MM%!DD!.log
)
===========================

4.1 配置文件及指令说明
AWStats配置文件为awstats.virtualhostname.conf(其中virualhostname为你指定的配置名)或 awstats.conf,必须在 /etc/awstats、 /usr/local/etc/awstats、 /etc目录或与awstats.pl脚本文件在同一目录,具体位置由执行3.3节中awstats_configure.pl脚本时指定。
AWStats安装完毕会生成一个配置模板文件,在安装目录的wwwroot/cgi-bin目录,文件名为awstats.model.conf,可以把此文件另存为你的配置文件并按实际进行修改。
AWStats配置文件中使用的指令非常多,一般而言默认值即可满足需要,本文重点介绍以下常用指令,完全的指令说明请查看AWStats配置指令官方文档:LogFile、 LogType、LogFormat、LogSeparator、SiteDomain、HostAliases、DNSLookup、DirData、 DirCgi、DirIcons、AllowToUpdateStatsFromBrowser、 AllowFullYearView、EnableLockForUpdate、LoadPlugin、Include。
每条指令都可以重复多次指定,先前的值被后面的值覆盖,最后一个指定的值有效。
下面是常用指令的说明:
LogFile:指定要分析的日志文件。
格式:LogFile="filename"
filename可以有多种格式:
a. 绝对路径文件名或相对awstats.pl的相对路径文件名
比如:
"/var/log/apache/access.log"
"../log/mycombinedlog.log"
b. 文件名模板,即使用基于日期时间的AWStats标签的动态文件名,下面是这些AWStats标签的含意:
%YYYY-n n小时以前的带世纪的4位数字表示的年
%YY-n n小时以前的不带世纪的2位数字表示的年
%MM-n n小时以前的2位数字表示的月
%MO-n n小时以前的3个字符表示的缩写形式表示的月
%DD-n n小时以前的2位数字表示的日期
%HH-n n小时以前的2位数字表示的小时
%NS-n Unix时间戳
%WM-n 当月的第几周(1-5)
%Wm-n 当月的第几周(0-4)
%WY-n 当年的第几周(01-52)
%Wy-n 当年的第几周(00-51)
%DW-n 一周的第几天(1-7, 1=sunday) ,如果需要(1-7,1=monday) , n用24替换 .
%Dw-n 一周的第几天(0-6, 0=sunday) ,如果需要(0-6,0=monday) ,n用24替换 .
以上标签中,n为数字,如果需要使用当前的年、月、日、时等,n用0替换
例如:
"/var/log/access_log.%YYYY-0%MM-0%DD-0.log"
"/var/log/access_log.%YY-24%MM-24%DD-24.log"
c. 日志来自于一个管道(pipe)
例如:
使用gzip压缩格式的日志文件:
"gzip -d 合并负载均衡的多台服务器日志文件:
"/pathtotools/logresolvemerge.pl *.log |"
本文示例为用4小时前的年、月、日拼出文件名的日志文件:
LogFile="/usr/local/apache-2.2.6/logs/access_log.%YYYY-4%MM-4%DD-4"

LogType:指定要分析的日志文件的类型。
格式:LogType=typename
typename为下面的值:
W - web日志,默认值
M - mail日志
F - ftp日志
本文示例为:
LogType=W

LogFormat:指定日志的格式,必须与你的日志格式匹配。
格式:LogFormat=number|"your_own_personalized_log_format"
number为预定义的格式号:
1 - Apache 或 Lotus Notes/Domino native combined格式 (NCSA combined/XLF/ELF日志格式)
2 - IIS 或 ISA 格式 (IIS W3C 日志格式)
3 - Webstar native 日志格式
4 - Apache 或 Squid native common 日志格式 (NCSA common/CLF日志格式)
当LogFormat=4时, 部分属性(browsers, os, keywords...) 功能不能工作。
your_own_personalized_log_format为自定义日志格式,如果日志格式不属于以上4种预定义格式,则需要使用下面的关键词 tag自定义日志格式:
%host 客户端主机名或IP地址(对于mail日志,为发送主机)
%host_r 接收的主机名或IP地址 (仅用于mail日志)
%lognamequot 带双引号的 经认证的 登录/用户 格式为: "alex"
%logname 经认证的 登录/用户 格式为: format: alex
%time1 日期和时间 格式为: [dd/mon/yyyy:hh:mm:ss +0000] 或 [dd/mon/yyyy:hh:mm:ss]
%time2 日期和时间 格式为: yyyy-mm-dd hh-mm-ss
%time3 日期和时间 格式为: Mon dd hh:mm:ss or Mon dd hh:mm:ss yyyy
%time4 日期和时间 格式为unix时间戳: dddddddddd
%methodurl 请求方式和URL 格式为: "GET /index.html HTTP/x.x"
%methodurlnoprot 请求方式和URL 格式为: "GET /index.html"
%method 请求方式 格式为: GET
%url 请求的URL 格式为: /index.html
%query 查询字符串(被URLWithQuery选项使用)
%code 返回的状态代码(web日志的格式为: 999)
%bytesd 档案的大小,以字节bytes为单位
%refererquot Referer页面 格式为: "http://from.com/from.htm"
%referer Referer页面 格式为: http://from.com/from.htm
%uaquot User agent 格式为: "Mozilla/4.0 (compatible, ...)"
%ua User agent 格式为: Mozilla/4.0_(compatible...)
%gzipin mod_gzip压缩输入的字节(bytes) 格式为: In:XXX
%gzipout mod_gzip压缩输出的字节和压缩比率(bytes & ratio) 格式为: Out:YYY:ZZpct.
%gzipratio mod_gzip压缩比率(ratio) 格式为: ZZpct.
%deflateratio mod_deflate压缩比率(ratio) 格式为: (ZZ)
%email EMail发送者 (仅用于mail日志)
%email_r EMail接收者 (for mail log)
%virtualname web服务器虚拟主机名.当同一日志文件中包含多个虚拟主机的数据时使用,AWStats会抛弃虚拟主机名不在SiteDomain或 HostAliases指令中的记录
%cluster 如果日志文件来自不同的主机(使用logresolvemerge.pl合并的), 这个tag定义cluster id
%extraX X为数字,你计划使用ExtraSection属性来生成个性化报告的一个字段
如果日志中有一些字段不包括在上面列表的关键词tag中,使用
%other 其它不使用双引号的字段 格式为: other
%otherquot 其它使用双引号的字段 格式为:"other"
本文示例为:
LogFormat=1
等效的自定义格式为:
LogFormat = "%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"

LogSeparator:日志字段的分隔符。
格式:LogSeparator="separator"
AWStats默认的日志字段分隔符是空格,如果日志文件不是以空格为字段分隔符,则需要使用此指令指定特定的字段分隔符。如果LogFormat指令的值为预定义的(1、2、3、4),此指令将被忽略。
separator可以是空格、任意字符、以反斜线开始的转义字符(\t 、\| 等)。
默认值及本文示例为:
LogSeparator=" "

SiteDomain:指定站点的主域名或虚拟主机名。
格式:SiteDomain="DomainName"
示例:SiteDomain="www.domain.com"
DomainName默认为空,如果为空,AWStats将拒绝执行。
如果多个虚拟主机使用同一个日志文件(日志格式包括%virtualname字段),此指令告诉AWStats只分析%virtualname字段的值为DomainName的记录;对于单主机日志文件,当ShowLinksOnUrl选项被设置为1时,此指令用来产生完全的URL链接。
本文示例为:
SiteDomain="www.entage.net"

HostAliases:站点的别名,用来访问站点的所有域名、IP地址、虚拟主机名。
格式:HostAliases="AliasesList"
示例:HostAliases="www.myserver.com localhost 127.0.0.1 REGEX[mydomain\.(net|org)$] @/tmp/domainlist.txt"
这个指令用来分析日志文件的refere字段,帮助AWStats区分一个refere字段的URL是同一站点的自身URL还是其它外站的URL。
AliasesList是空格分隔的别名列表,可以使用下面形式的正则表达式值:REGEX[value] ,如果别名列表在一个文件中,也可以使用@/mypath/myfile形式加载文件内容。
本文示例:
HostAliases="www.entage.net 127.0.0.1 localhost"

DNSLookup:是否将访问者的IP地址反向解析为完整的主机名。
格式:DNSLookup=TypeValue
TypeValue 的值为:
0 - 不进行DNS反向解析
1 - 完全启用DNS反向解析,会大大降低处理速度,不要用于访问量非常大的站点
2 - 仅通过静态DNS缓存文件(如果存在)进行DNS反向解析,为默认值
本文示例:
DNSLookup=2

DirData:指定AWSTATS生成数据的存放目录。
格式:DirData="DirName"
DirName为执行AWStats脚本的用户可读写目录,如果启用 AllowToUpdateStatsFromBrowser,则运行WEB服务的用户也需要对此目录的读写权限。
本文示例:
DirData="/var/lib/awstats"

DirCgi:指定AWStats的cgi-bin目录的相对或绝对URL。
此指令仅用于AWStats从命令行带-output参数运行时,目的是产生HTML报告页面的链接。
本文示例:
DirCgi="/awstats"

DirIcons:指定AWStats的图标目录的相对或绝对URL。
如果你要生成静态报告("... -output > outputpath/output.html"),指定相对于outputpath的相对路径。
本文示例及默认值:
DirIcons="/awstatsicons"

AllowToUpdateStatsFromBrowser:指定是否允许从浏览器更新数据。
格式:AllowToUpdateStatsFromBrowser=value
value为:
0 - 只允许从命令行或计划任务执行更新
1 - 在报告页面上增加一个update按钮,允许从浏览器更新数据,不建议
本文示例及默认值:
AllowToUpdateStatsFromBrowser=0

AllowFullYearView:是否允许以年为单位分析日志。
格式:AllowFullYearView=value
AWStats默认是以月为单位分析日志数据,此指令设置哪种方式可以按年为单分析日志。
value为以下值之一:
0 - 不允许以年为单位分析日志
1 - 仅允许从命令行以年为单位分析日志,-Year- 值在combo中不可见
2 - 仅允许从命令行以年为单位分析日志,-Year- 值在combo中可见但不可用
3 - 允许从命令行和CGI以年为单位分析日志
本文示例及默认值:
AllowFullYearView=2

EnableLockForUpdate:指定AWStats进行update操作时是否建立锁。
格式:EnableLockForUpdate=value
value为:
0 - 不建锁,可以任意多个进程同时进行update操作
1 - 建立锁,同一时间只能一个进程进行update操作
本文示例及默认值:
EnableLockForUpdate=0

LoadPlugin:加载AWStats插件
格式:LoadPlugin "PluginName PluginOptions"
插件是保存在AWStats安装目录中wwwroot/cgi-bin/plugins目录中的扩展名为.pm的perl模块。

Include:把其它配置文件包括到配置文件中
格式:Include "ConfigFileName"
ConfigFileName为任何有效的AWStats配置文件。
这个指令对于有大量虚拟主机的用户非常有用,可以把所有虚拟主机共同的配置存为一主配置文件,每个虚拟主机的配置文件首行通过此指令把主配置文件包括进来,接下来只需要在虚拟主机配置文件中用少量的需要单独配置的指令来覆盖主配置文件中的指令即可。

ref:http://hi.baidu.com/shengit/blog/item/82e79c510ad33b5b1138c207.html

沒有留言:

張貼留言