AWStats 的配置指令和选项 
主设置(必须设置)
LogFile 
"LogFile"
包含要分析的日志文件,可以使用绝对路径或者相对路径( awstats.pl而言) 
比如: 
LogFile = /var/log/apache2/access_log 
如果需要设定动态的文件名(比如日志文件名中含有该日志生成的日期),可以使用标签(tags) 
tags 
含义 
%YYYY-n n
小时前的年(四位,比如2006) 
%YY-n n
小时前的年(两位,比如06) 
%MM-n n
小时前的月(比如01) 
%MO-n n
小时前的月(比如Jan) 
%DD-n n
小时前的天(比如03) 
%HH-n n
小时前的小时(比如03) 
%NS-n n
小时前的秒(19700:00以来,只精确到天,比如1136332800,是格林威治时间200614的零点
%WM-n n
小时前的周(week in month,值为01-05)(注意,文档与实际并不一致,文档中值为1-5,可能是个bug) 
%Wm-n n
小时前的周(week in  month,值为0-4) 
%WY-n n
小时前的周(week in  year,值为01-52) 
%Wy-n n
小时前的周(week in  year,值为00-51) 
%DW-n n
小时前的天(day in  week,值为1-71=sunday,如果需要使得1=monday,减去24小时就可以了。
%Dw-n n
小时前的天(day in  week,值为0-60=sunday,如果需要使得0=monday,减去24小时就可以了。
比如: 
LogFile = /var/log/apache2/access_log.%YYYY-24-%MM-24-%DD-24.txt
 
备注:AWStats文档提到的时间标签存在Bug,但是在源码中修复了bug,在格式上增加了 %YYYY-(n),%MM-(n), %DD-(N)
shiwan.com 的配置文件中就使用了,源码提到的Tag格式
LogFile="/data1/apachelogs/%YYYY-24/%MM-24/%DD-24/www.shiwan.com.%YY-(24)%MM-(24)%DD-(24)-all.log"
 
 
还可以使用管道: 
LogFile = gzip -d 
如果有多个日志文件需要分析(比如做了负载均衡),可以这样: 
LogFile = "/pathtotools/logresolvemerge.pl *.log |"

LogType 
日志的类型: 
W web
日志 
M mail
日志 
F ftp
日志 
比如: 
LogType=W
 
LogFormat
日志的格式:
 
1 Apache 
或者 Lotus Notes/Domino combined日志格式 
老的IIS的日志格式 
3 Webstar
native日志格式 
4 Apache 
或者 Squid common日志格式 
我们还可以自己指定日志格式,下表是日志格式的各个字段 
%host 
客户端的主机名或者IP地址 
%lognamequot Authenticated login/user with format: "alex" 
%logname Authenticated login/user with 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  Mon dd hh:mm:ss yyyy 
%time4 
日期,格式为 dddddddddd(unix的时间戳
%methodurl 
方法和url,格式为:"GET /index.html HTTP/x.x" 
%methodurlnoprot 
方法和url,格式为:"GET /index.html" 
%method 
方法,格式为:GET 
%url URL
,格式为:/index.html 
%query 
查询的字符串(Query string) ( URLWithQuery 选项要用
%code 
返回的状态码Return code status (with format for web log: 999) 
%bytesd 
文档的大小(字节
%refererquot Referer page
,格式为:"http://from.com/from.htm" 
%referer Referer page
,格式为:http://from.com/from.htm 
%uaquot User agent
,格式为:"Mozilla/4.0 (compatible, ...)" 
%ua User agent
,格式为:Mozilla/4.0_(compatible...) 
%gzipin mod_gzip comdivssion input bytes: In:XXX 
%gzipout mod_gzip comdivssion output bytes & ratio: Out:YYY:ZZpct. 
%gzipratio mod_gzip comdivssion ratio: ZZpct. 
%deflateratio mod_deflate comdivssion ratio with format: (ZZ) 
%email EMail sender (for mail log) 
%email_r EMail receiver (for mail log) 
%virtualname Web sever virtual hostname. Use this tag when same log contains data of several virtual web servers. AWStats will discard records not in SiteDomain nor HostAliases 
%cluster If log file is provided from several computers (merged by logresolvemerge.pl), this tag define field of cluster id.
%other 
如果日志文件有一些字段不被上面的列表包括,使用%other 
比如: 
LogFormat= 1
LogFormat= "%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"

LogSeparator 
日志各个字段间的分隔符 
比如: 
LogSeparator=" "

DNSLookup 
DNS
反查,可取的值如下: 
不用DNS反查 
完全启用DNS反查 
2 DNS
反查只从静态的DNS的缓存中取得 
比如: 
DNSlookup=2

DirData 
统计结果存放的目录。 
注意:如果需要直接在浏览器上更新统计结果的话,这个目录要设为apache用户 (比如nobody)可写。 
比如: 
DirData="/var/lib/awstats"

DirCgi 
awstats
cgi-bin目录的相对或者绝对URL路径。 
这个参数只是在命令行下使用-output选项时才有用 
比如: 
DirCgi="/cgi-bin"

DirIcons 
awstats
icon目录的相对或者绝对URL路径。 
比如: 
DirIcons="/icon"

SiteDomain 
主域名。如果日志里含有多个域名的话,AWStats将过滤掉非此域名的访问。(当然,你的日志格式里得含有域名的信息
ShowLinksOnUrl选项设为1时,这个参数用来生成URL路径。 
如果是分析mail日志,这里写上mail服务器的域名。 
比如: 
SiteDomain="www.sunnavy.net"

HostAliases 
可以在这里写上其他所有可以访问这个站点的域名,IP等等。这些值之间用空格隔开。为了获得最好的性能,这个参数的值越少越好。这个参数还用来分析日志里的referer字段,以区分一个referer URL是本地的还是别的站点的。 
还可以使用正则表达式(REGEX[value]),比如: 
HostAliases = "localhost 127.0.0.1 REGEX[^.*\.myserver\.com$]"

AllowToUpdateStatsFromBrowser 
可选值为01 
如果设为1的话,将在报告页面里增加一个"update now"的按钮,这样可以在线更新统计结果。 
比如: 
AllowToUpdateStatsFromBrowser=0

AllowFullYearView 
AWStats
是按月来存放数据库的。这使得可以很快地生成统计结果。如果你在命令行下选择-month=all或者在web上选择-year-AWStats将把一年的数据全部加载以生成统计结果,这将耗费大量的资源。 
可选值为: 
不允许 
只允许在命令行下使用,web上不可见。 
只允许在命令行下使用,web上可见但不可用。 
允许 
比如: 
AllowFullYearView=2
可选的设置(不是必需但可以增加AWStats的功能)

EnableLockForUpdate 
可选值为01 
如果设为1的话,当更新统计结果的时候,AWStats可以在TEMP或者TMP目录设置一个锁文件,这样可以避免同时有多个进程更新,避免可能的冲突以及DoS攻击。 
可是,当使用锁文件的时候,你可能会碰到锁文件不能自动删除的问题,就只能手动删除,所以你需要登陆服务器的权限。 
比如: 
EnableLockForUpdate=0

DNSStaticCacheFile 
AWStats
可以通过一个静态(static)DNS缓存(cache)文件进行DNS反查。这个文件默认的路径为DirData,这个文件不能改变(This file is never changed) 
DNS
文件的格式为'minsince1970 ipaddress resolved_hostname'或者只是 'ipaddress resolved_hostname' 
比如: 
DNSStaticCacheFile="dnscache.txt"

DNSLastUpdateCacheFile 
AWStats
可以通过一个静态(static)DNS缓存(cache)文件进行DNS反查。在每次统计结果更新完后,这个文件会自动消除和重新生成,所以不需要手动创建或改变。这个文件将被放在DirData目录。 
只有当DNSLookup=1时,这个选项才有作用。 
注意:如果DNSStaticCacheFile存在的话,AWStats将会在检查 DNSStaticCacheFile完后检查这个文件。 
比如: 
DNSLastUpdateCacheFile="dnscachelastupdate.txt"

SkipDNSLookupFor 
可以指定某些IP不被DNS反查。这个选项只有在DNSLookup=1时才起作用。IP之间用空格隔开。 
注意:可以使用正则表达式。 
比如: 
SkipDNSLookupFor="123.123.123.123 REGEX[^192\.168\.]"

AllowAccessFromWebToAuthenticatedUsersOnly 
可选值为0
接下来的这两个选项允许你保护你的配置文件不被AWStats访问,如果这个AWStats是被未经认证的web用户访问的话。这样的话,AWStats必须被httpd设为认证访问。 
AllowAccessFromWebToAuthenticatedUsersOnly=0
AllowAccessFromWebToFollowingAuthenticatedUsers 
这个参数指定允许访问统计结果的用户名单,只有在AllowAccessFromWebToAuthenticatedUsersOnly=1时才起作用。 
比如: 
AllowAccessFromWebToFollowingAuthenticatedUsers="sunnavy sunhj"

AllowAccessFromWebToFollowingIPAddresses 
当这个参数定义后,用户从浏览器访问统计结果时所用的IP地址将被检查是否在指定的IP里。 
比如: 
AllowAccessFromWebToFollowingIPAddresses="127.0.0.1 123.123.123.1-123.123.123.255"

CreateDirDataIfNotExists 
可选值为01 
如果DirData目录不存在的话,AWStats将返回一个错误。我们可以让AWStats自行创建这个目录,如果这个值设为1的话。 
比如: 
CreateDirDataIfNotEXists=1

BuildHistoryFormat 
我们可以选择AWStats历史数据库的保存格式,"xml"或者"text" 
比如: 
BuildHistoryFormat=text

BuildReportFormat 
生成的统计结果格式,"html"或者"xhtml" 
比如: 
BuildReportFormat=html

SaveDatabaseFilesWithPermissionsForEveryone 
数据库文件是否对所有人可写,可选值为01。如果我们想在浏览器上直接更新,这个值我们得设成1 
比如: 
SaveDatabaseFilesWithPermissionsForEveryone=0

PurgeLogFile 
是否清除已经分析过的日志文件,可选值为01 
比如: 
PurgeLogFile=0

ArchiveLogRecords 
是否将日志文件归档,可选值为01。归档文件放在DirData里。 
如果PurgeLogFile设为0,则这个选项将不起作用。 
ArchiveLogRecords=0

KeepBackupOfHistoricFiles 
是否将历史文件备份,可选值为01 
AWStats
更新时,将覆盖旧文件,如果这期间机器出了故障的话(比如硬盘满了),我们的历史文件就会丢了。可以将这个选项设为1来备份旧文件(备份文件以.bak结尾
比如: 
KeepBackupOfHistoricFiles=0

DefaultFile 
默认的index页面的文件名。 
比如: 
DefaultFile="index.html"

SkipHosts 
分析时跳过的主机,主机之间用空格隔开。 
如果日志已经做了DNS反查,这里必须写主机名,否则得写IP地址。可以使用正则表达式。 
比如: 
SkipHosts="127.0.0.1 192.168.0.1"

SkipUserAgents 
分析时跳过的UserAgent,即浏览器的型号,不区分大小写,型号之间用空格隔开,可以使用正则表达式。 
如果你想跳过某个机器人访问,应该更新robots.pm文件而不这个选项。 
比如: 
SkipUserAgents="wget curl"

SkipFiles 
分析时跳过的URLURL之间用空格隔开,可以使用正则表达式。 
是否区分大小写,由URLNotCaseSensitive决定。 
比如: 
SkipFiles="test.html"

OnlyHosts 
SkipHost
的反义词。 
比如: 
OnlyHosts=""

OnlyUserAgents 
SkipUserAgents
的反义词。 
比如: 
OnlyUserAgents=""

OnlyFiles 
OnlyFiles
的反义词。 
比如: 
OnlyFiles=""

NotPageList 
这个列表保存一些URL(文件扩展名),带这些扩展名的URL将被看做 "Hit Only"而不是"Hit""Page/Download",因此将不被包括在"TOP Pages/URL report"里。 
比如: 
NotPageList="css js class gif jpg jpeg png bmp"

ValidHTTPCodes 
有效的HTTP返回状态码,在该列表之外的均列在错误报告的表中。 
比如: 
ValidHTTPCodes="200 304"
HTTP
的返回状态码见这里 

ValidSMTPCodes 
有效的SMTP状态码。 
比如: 
ValidSMTPCodes="1 250"

AuthenticatedUsersNotCaseSensitive 
认证的用户名不区分大小写,可选值为01 
比如: 

AuthenticatedUsersNotCaseSensitive=0

URLNotCaseSensitive 
URL
不区分大小写,可选值为01 
比如: 
URLNotCaseSensitive=0

URLWithAnchor 
是否保留URL中的锚。 
比如: 
URLWithAnchor=0

URLQuerySeparators 
URL
中的查询分隔符(QuerySeparators) 
比如: 
URLQuerySeparators="?;"

URLWithQuery 
是否在统计结果中保留查询字符串,可选值为01 
如果保留,则"mypage.html?id=x""mypage.html?id=y"将被当作两个不同的 URL 
比如: 
URLWithQuery=0

URLWithQueryWithOnlyFollowingParameters 
仅保留本列表里的查询字符串的参数。 
只有当URLWithQuery=1时才起作用,并且不能和 URLWithQueryWithoutFollowingParameters共同使用。 
比如: 
URLWithQueryWithOnlyFollowingParameters="param"

URLWithQueryWithoutFollowingParameters 
去掉在本列表里的查询字符串的参数。 
只有当URLWithQuery=1时才起作用,并且不能和 URLWithQueryWithOnlyFollowingParameters共同使用。 
比如: 
URLWithQueryWithoutFollowingParameters=""

URLRefererWithQuery 
是否在统计结果中的Referer页面中保留查询字符串,可选值为01 
如果保留,则"mypage.html?id=x""mypage.html?id=y"将被当作两个不同的 Referer页面。 
比如: 
URLReferrerWithQuery=0

WarningMessages 
是否打开AWStats的提醒消息,这些消息可以帮你找出设置的问题或者帮你更好地使用AWStats,所以打开比较好。 比如: 
WarningMessages=1

ErrorMessages 
当有错误发生时,AWStats根据所发生的错误输出信息。也可以自定义输出的信息。 
比如: 
ErrorMessages=""

DebugMessages 
是否打开Debug功能。如果打开的话,当参数含debug=x时,AWStats将输出很多相关信息来帮助我们解决问题。 
比如: 
DebugMessages=0

NbOfLinesForCorruptedLog 
检查日志格式是否正确时查看前文件的多少行。如果这些行的日志都是不符和格式的, AWSTats就认为这个日志文件的格式是不对的。 
比如: 
NbOfLinesForCorruptedLog=50

WrapperScript 
CGI
下访问的脚本名。 
比如: 

WrapperScript="awstats.pl"

DecodeUA 
如果web服务器为Roxen,则设为1,否则,设为
比如: 
DecodeUA=

MiscTrackerUrl 
比如: 
AWStats
可以用一个js脚本检测很多浏览器相关的选项,包括: 
Screen size
Screen color depth
Java enabled
Macromedia Director plugin
Macromedia Shockwave plugin
Realplayer G2 plugin
QuickTime plugin
Mediaplayer plugin
Acrobat PDF plugin
如果要支持这个,需要把awstats_misc_tracker.js文件拷贝到web服务器的一个目录(比如/js/),并在主页的最后(之前)加上这个: