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
小时前的秒 ( 1970 0:00 以来,只精确到天,比如 1136332800 ,是格林威治时间 2006 1 4 的零点 )
%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-7 1=sunday ,如果需要使得 1=monday ,减去 24 小时就可以了。 )
%Dw-n n
小时前的天 (day in  week ,值为 0-6 0=sunday ,如果需要使得 0=monday ,减去 24 小时就可以了。 )
比如:
LogFile = /var/log/apache2/access_log.%YYYY-24-%MM-24-%DD-24.txt
还可以使用管道:
LogFile = gzip -d
如果有多个日志文件需要分析 ( 比如做了负载均衡 ) ,可以这样:
LogFile = "/pathtotools/logresolvemerge.pl *.log |"

LogType
日志的类型:
W web
日志
M mail
日志
F ftp
日志
比如:
LogType=W
 
LogFormat
日志的格式:

1 Apache
或者 Lotus Notes/Domino combined 日志格式
2
老的 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
反查,可取的值如下:
0
不用 DNS 反查
1
完全启用 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
可选值为 0 1
如果设为 1 的话,将在报告页面里增加一个 "update now" 的按钮,这样可以在线更新统计结果。
比如:
AllowToUpdateStatsFromBrowser=0

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

EnableLockForUpdate
可选值为 0 1
如果设为 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 1
接下来的这两个选项允许你保护你的配置文件不被 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
可选值为 0 1
如果 DirData 目录不存在的话, AWStats 将返回一个错误。我们可以让 AWStats 自行创建这个目录,如果这个值设为 1 的话。
比如:
CreateDirDataIfNotEXists=1

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

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

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

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

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

KeepBackupOfHistoricFiles
是否将历史文件备份,可选值为 0 1
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
分析时跳过的 URL URL 之间用空格隔开,可以使用正则表达式。
是否区分大小写,由 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
认证的用户名不区分大小写,可选值为 0 1
比如:

AuthenticatedUsersNotCaseSensitive=0

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

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

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

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

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

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

URLRefererWithQuery
是否在统计结果中的 Referer 页面中保留查询字符串,可选值为 0 1
如果保留,则 "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 ,否则,设为 0
比如:
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/) ,并在主页的最后 ( 之前 ) 加上这个: