AWStats 的配置指令和选项

来源:互联网 发布:女朋友和别人睡了 知乎 编辑:程序博客网 时间:2024/06/05 18:36

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 
去掉在本列表里的查询字符串的参数。 
只有当URLWithQuery=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/),并在主页的最后(之前)加上这个:

0 0
原创粉丝点击