<b><u>This is benchmark results with AWStats version 4.0 and a common configuration:</u></b><br>\r
HARDWARE: Athlon 1 GHz / 128Mb<br>\r
SOFTWARE: Windows 2000 / ActivePerl 5.6<br>\r
-CONFIG OPTIONS: LogFormat=1, DNSLookup=0<br>\r
+CONFIG OPTIONS: <a href="awstats_config.html#LogFormat">LogFormat</a>=1, <a href="awstats_config.html#DNSLookup">DNSLookup</a>=0<br>\r
AVERAGE SPEED: <b>4100</b> lines by seconds<br>\r
Other times for different kind of web sites are shown lower in this page...<br>\r
<br>\r
<tr><td> 1,000,000 - 5,000,000 visits/month</td><td>0</td><td colspan=3>AWStats is not a good choice for such web sites. Try a tool with less features but faster like <a href="http://www.analog.cx">Analog</a></td></tr>\r
<tr><td> +5,000,000 visits/month</td><td>0</td><td colspan=3>AWStats is not a good choice for such web sites. Try a tool with less features but faster like <a href="http://www.analog.cx">Analog</a></td></tr>\r
</table>\r
-* You should set DNSLookup parameter to 0 if<br>\r
+* You should set <a href="awstats_config.html#DNSLookup">DNSLookup</a> parameter to 0 if<br>\r
- reverse DNS lookup is already done in your log file<br>\r
- or if you don't need the "domain/countries" report<br>\r
- or if your web site has more than 250,000 visits a month.<br>\r
-** Free memory required for update process (in MB). Warning: If you use the "<a href="awstats_config.html#URLWithQuery">URLWithQuery</a>" option, this value is doubled.<br>\r
+** Free memory required for update process (in MB). Warning: If you use the <a href="awstats_config.html#URLWithQuery">URLWithQuery</a> option, this value is doubled.<br>\r
*** Duration is with Athlon 1GHz/128Mb and LogFormat=1.<br>\r
\r
\r
<br>\r
<b><u>This is a summary of main ways to speed up AWStats:</u></b><br>\r
-- You can disable "<a href="awstats_config.html#DNSLookup">DNSLookup</a>" in AWStats (set DNSLookup=0) but this requires\r
+- You can disable <a href="awstats_config.html#DNSLookup">DNSLookup</a> in AWStats (set DNSLookup=0) but this requires\r
that hosts addresses in your log file are already resolved (need to setup your\r
web server to do so). Log analyze speed can be increased by 2 to 50 times but your web server will be slowed.<br>\r
-- If you use Apache, set "<a href="awstats_config.html#PurgeLogFile">PurgeLogFile</a>" to 1 (By default, to avoid bad surprise,\r
-PurgeLogFile is 0 in configure file, but you can set it to 1 to ask AWStats\r
+- If you use Apache, set <a href="awstats_config.html#PurgeLogFile">PurgeLogFile</a> to 1 (By default, to avoid bad surprise,\r
+<a href="awstats_config.html#PurgeLogFile">PurgeLogFile</a> is 0 in configure file, but you can set it to 1 to ask AWStats\r
to purge log file after processing it, this increase speed for next run).<br>\r
- Launch AWStats more often (from crontab or a scheduler). The more often you\r
launch AWStats, the less AWStats has new lines in log to process.<br>\r
They are described using a consistent format.<br>\r
<br>\r
<b>Notes</b>\r
-To include an environnement variable in any parameter (AWStats will replaced\r
+To include an environment variable in any parameter (AWStats will replaced\r
it with its value when reading it), follow the example:<br>\r
<i>Parameter="__ENVNAME__"</i>\r
<br>\r
<br># By default, AWStats considers that records found in log file are successful\r
<br># hits if HTTP code returned by server is a valid HTTP code (200 and 304).\r
<br># Any other code are reported in HTTP error chart.\r
-<br># However in some specific environnement, with web server HTTP redirection,\r
+<br># However in some specific environment, with web server HTTP redirection,\r
<br># you can choose to also accept other codes.\r
<br># Example: "200 304 302 305"\r
<br># Default: "200 304"\r
<br>\r
<br><u>This is examples of current HTTP codes</u>\r
<br><i>\r
-<br>200 OK\r
-<br>201 Created\r
-<br>202 Accepted\r
-<br>203 Non-Authorative Information\r
-<br>204 No Content\r
-<br>205 Reset Content\r
-<br>206 Partial Content\r
-<br>\r
-<br>300 Multiple Choices\r
-<br>301 Moved Permanently\r
-<br>302 Moved Temporarily\r
-<br>303 See Other\r
-<br>304 Not Modified\r
-<br>305 Use Proxy\r
-<br>\r
-<br>400 Bad Request\r
-<br>401 Authorization Required\r
-<br>402 Payment Required\r
-<br>403 Forbidden\r
-<br>404 Not Found\r
-<br>405 Method Not Allowed\r
-<br>406 Not Acceptable (encoding)\r
-<br>407 Proxy Authentication Required\r
-<br>408 Request Timed Out\r
-<br>409 Conflicting Request\r
-<br>410 Gone\r
-<br>411 Content Length Required\r
-<br>412 Precondition Failed\r
-<br>413 Request Entity Too Long\r
-<br>414 Request URI Too Long\r
-<br>415 Unsupported Media Type\r
-<br>\r
-<br>500 Internal Server Error\r
-<br>501 Not Implemented\r
-<br>502 Bad Gateway\r
-<br>503 Service Unavailable\r
-<br>504 Gateway Timeout\r
-<br>505 HTTP Version Not Supported\r
+<br>#[Miscellaneous successes]\r
+<br>"2xx", "[Miscellaneous successes]",\r
+<br>"200", "OK", # HTTP request OK\r
+<br>"201", "Created",\r
+<br>"202", "Request recorded, will be executed later",\r
+<br>"203", "Non-authoritative information",\r
+<br>"204", "Request executed",\r
+<br>"205", "Reset document",\r
+<br>"206", "Partial Content",\r
+<br>#[Miscellaneous redirections]\r
+<br>"3xx", "[Miscellaneous redirections]",\r
+<br>"300", "Multiple documents available",\r
+<br>"301", "Moved Permanently",\r
+<br>"302", "Found",\r
+<br>"303", "See other document",\r
+<br>"304", "Not Modified since last retrieval", # HTTP request OK\r
+<br>"305", "Use proxy",\r
+<br>"306", "Switch proxy",\r
+<br>"307", "Document moved temporarily",\r
+<br>#[Miscellaneous client/user errors]\r
+<br>"4xx", "[Miscellaneous client/user errors]",\r
+<br>"400", "Bad Request",\r
+<br>"401", "Unauthorized",\r
+<br>"402", "Payment required",\r
+<br>"403", "Forbidden",\r
+<br>"404", "Document Not Found",\r
+<br>"405", "Method not allowed",\r
+<br>"406", "ocument not acceptable to client",\r
+<br>"407", "Proxy authentication required",\r
+<br>"408", "Request Timeout",\r
+<br>"409", "Request conflicts with state of resource",\r
+<br>"410", "Document gone permanently",\r
+<br>"411", "Length required",\r
+<br>"412", "Precondition failed",\r
+<br>"413", "Request too long",\r
+<br>"414", "Requested filename too long",\r
+<br>"415", "Unsupported media type",\r
+<br>"416", "Requested range not valid",\r
+<br>"417", "Failed",\r
+<br>#[Miscellaneous server errors]\r
+<br>"5xx", "[Miscellaneous server errors]",\r
+<br>"500", "Internal server Error",\r
+<br>"501", "Not implemented",\r
+<br>"502", "Received bad response from real server",\r
+<br>"503", "Server busy",\r
+<br>"504", "Gateway timeout",\r
+<br>"505", "HTTP version not supported",\r
+<br>"506", "Redirection failed",\r
+<br>#[Unknown]\r
+<br>"xxx" ,"[Unknown]"\r
</i>\r
\r
<br><br><hr>\r
<br># pages. This is primarily used to differentiate between the URLs of dynamic\r
<br># pages. If set to 1, mypage.html?id=x and mypage.html?id=y are counted as\r
<br># two different pages. Warning, when set to 1, memory required to run AWStats\r
-<br># is doubled.\r
+<br># is doubled. Try to avoid using this parameter on very large web sites.\r
<br># Possible values:\r
<br># 0 - URLs are cleaned from the query string (ie: "/mypage.html")\r
<br># 1 - Full URL with query string is used (ie: "/mypage.html?x=y")\r
<a name="NbOfLinesForCorruptedLog"><b>NbOfLinesForCorruptedLog</b></a><br>\r
<b>Version : </b>3.2 +<br>\r
<br># To help you to detect if your log format is good, AWStats report an error\r
-<br># if the first NbOfLinesForCorruptedLog lines have all a format that does not\r
+<br># if all the first NbOfLinesForCorruptedLog lines have a format that does not\r
<br># match the LogFormat parameter.\r
<br># However, some worm virus attack on your web server can result in a very high\r
<br># number of corrupted lines in your log. So if you experience awstats stop\r
-<br># because of bad virus records, you can increase this parameter (very rare).\r
+<br># because of bad virus records at the beginning of your log file, you can\r
+<br># increase this parameter (very rare).\r
<br># Default: 50\r
<br>#\r
<br>NbOfLinesForCorruptedLog=50\r
\r
<a name="LevelFor"><b>LevelFor</b></a><br>\r
<b>Version : </b>4.0 +<br>\r
-<br># You can change value for following option to increase AWStats capabilities\r
-<br># (but this reduce AWStats speed).\r
-<br># Possible values: 0, 1 or 2\r
+<br># You can change value for following option to disable/enable AWStats capabilities.\r
+<br># Possible values: 0, 1\r
+<br># Possible values: 0, 1 or 2 for LevelForRobotsDetection\r
<br># Default: 1\r
+<br># Default: 2 for LevelForRobotsDetection\r
<br>#\r
-<br>LevelForRobotsDetection=1 # 0 will increase AWStats speed by 1%.\r
-<br>LevelForBrowsersDetection=1 # 0 disables Browsers detection. No speed gain.\r
-<br>LevelForOSDetection=1 # 0 disables OS detection. No speed gain.\r
-<br>LevelForRefererAnalyze=1 # 0 will increase AWStats speed by 6%.\r
+<br>LevelForRobotsDetection=2 # 0 will increase AWStats speed by 1%.\r
+<br>LevelForBrowsersDetection=1 # 0 disables Browsers detection. No speed gain.\r
+<br>LevelForOSDetection=1 # 0 disables OS detection. No speed gain.\r
+<br>LevelForRefererAnalyze=1 # 0 will increase AWStats speed by 6%.\r
\r
<br><br><hr>\r
\r
\r
<a name="LANG"></a><br>\r
<b><u>FAQ-ABO200 : WHICH LANGUAGES ARE AVAILABLE ?</u></b><br>\r
-AWStats can make reports in 27 languages. This is a list of all of them, for last version, in alphabetical order:<br>\r
+AWStats can make reports in 27 languages. This is a list of all of them, for last version, in alphabetical order (with the code you can use\r
+for <a href="awstats_config.html#Lang">Lang</a> and <a href="awstats_config.html#ShowFlagLinks">ShowFlagLinks</a> parameter) :<br>\r
<i>\r
<table bgcolor=#F0F0F0 width="100%" class=CFAQ><tr class=CFAQ><td class=CFAQ>\r
Bosnian=ba, Chinese (Taiwan)=tw, Chinese (Traditional)=cn, Czech=cz, Danish=dk,\r
\r
<a name="MISSINGDOLLAR"></a><br>\r
<b><u>FAQ-SET050 : ERROR "MISSING $ ON LOOP VARIABLE ..."</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font>\r
+<font class=CProblem>PROBLEM:</font>\r
When I run awstats.pl from command line, I get:<br>\r
<i>"Missing $ on loop variable at awstats.pl line xxx"</i><br>\r
-<font style="color: #448866">SOLUTION:</font>\r
+<font class=CSolution>SOLUTION:</font>\r
Problem is in your Perl interpreter. Try to install or reinstall a more recent/stable Perl interpreter.<br>\r
You can get new Perl version at <a href="http://www.activestate.com/ActivePerl/">ActivePerl</a> (<font color=#221188>Win32</font>)\r
or <a href="http://www.perl.com/pub/language/info/software.html">Perl.com</a> (<font color=#221188>Unix/Linux/Other</font>).<br>\r
\r
<a name="CGISOURCE"></a><br>\r
<b><u>FAQ-SET100 : I SEE PERL SCRIPT'S SOURCE INSTEAD OF ITS EXECUTION</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font>\r
+<font class=CProblem>PROBLEM:</font>\r
When I try to execute the Perl script through the web server,\r
I see the Perl script's source instead of the HTML result page of its execution !<br>\r
-<font style="color: #448866">SOLUTION:</font>\r
+<font class=CSolution>SOLUTION:</font>\r
This is not a problem of AWStats but a problem in your web server setup.\r
awstats.pl file must be in a directory defined in your web server to be a "cgi" directory,\r
this means, a directory configured in your web server to contain "executable" files and\r
<a name="SPAWNERROR"></a><a name="INTERNAL"></a><br>\r
<b><u>FAQ-SET150 & FAQ-SET200 : INTERNAL ERROR OR ERROR 500 IN MY BROWSER</u></b><br>\r
<b><u>ERROR "... COULDN'T SPAWN CHILD PROCESS..." IN APACHE ERROR LOG</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font>\r
+<font class=CProblem>PROBLEM:</font>\r
AWStats seems to run fine at the command prompt but when ran as a CGI from a browser, I get an<br>\r
<i>"Internal Error"</i>.<br>\r
Sometimes I get the following message in my error log file:<br>\r
<i>[error] [client xx.xx.xx.xx] No such file or directory: couldn't spawn child process: c:/mywebroot/cgi-bin/awstats.pl</i><br>\r
-<font style="color: #448866">SOLUTION:</font>\r
+<font class=CSolution>SOLUTION:</font>\r
This problem occurs with Apache web server with no internal Perl interpreter (mod_perl not\r
active). To solve this, you must tell Apache where is your Perl interpreter. For this, you have 2 solutions:<br>\r
1) Change the first line of awstats.pl file with the full path of your Perl interpreter.<br>\r
\r
<a name="PERSONALIZEDLOG"></a><br>\r
<b><u>FAQ-SET250 : LOG FORMAT SETUP OR ERRORS</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> Which value do I have to put in the LogFormat\r
+<font class=CProblem>PROBLEM:</font> Which value do I have to put in the LogFormat\r
parameter to make AWStats working with my log file format ?<br>\r
-<font style="color: #448866">SOLUTION:</font>\r
+<font class=CSolution>SOLUTION:</font>\r
The AWStats config file give you all possible values for LogFormat parameter.\r
To help you, this is some common cases of log file format, and\r
the corresponding value for LogFormat you must use in your AWStats config file:<br>\r
\r
<a name="FTP"></a><br>\r
<b><u>FAQ-SET260 : SETUP FOR FTP SERVER LOG FILES</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> What do I have to do to use AWStats to analyze some FTP server log files.<br>\r
-<font style="color: #448866">SOLUTION:</font>\r
+<font class=CProblem>PROBLEM:</font> What do I have to do to use AWStats to analyze some FTP server log files.<br>\r
+<font class=CSolution>SOLUTION:</font>\r
AWStats was built to analyze web,wap or proxy server's log files. However it can be used with some FTP server log files.<br>\r
<u>This is example for ProFTP:</u><br>\r
Modify the proftpd.conf file. At the very top add two new defines.<br>\r
Modify this new config file:<br>\r
<i>LogFile="/var/log/xferlog"<br>\r
LogFormat="%time1 %host %logname %method %url %code %bytesd"<br>\r
-DNSLookup=0</i><br>\r
+DNSLookup=0<br>\r
ShowLinksOnUrl=0<br>\r
ShowAuthenticatedUsers=1<br>\r
+</i>\r
Warning: This tip doesn't work for FTPed files that contains spaces in them (they are not reported). You can still convert your\r
log file to replace 'space' char into '_'...<br>\r
<br>\r
\r
<a name="NOTSAMENUMBER"></a><br>\r
<b><u>FAQ-SET280 : ERROR "NOT SAME NUMBER OF RECORDS OF..."</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> When I run AWStats from command line (or as a cgi from a browser), I get\r
+<font class=CProblem>PROBLEM:</font> When I run AWStats from command line (or as a cgi from a browser), I get\r
a message "Not same number of records of ...".<br>\r
-<font style="color: #448866">SOLUTION:</font>\r
+<font class=CSolution>SOLUTION:</font>\r
This means your AWStats reference database files (operating systems, browsers, robots...) are not correct.\r
Check in your disk that you have only ONE of those files (They should be in 'db' directory where awstats.pl is installed):<br>\r
<i>browsers.pl</i><br>\r
\r
<a name="COULDNOTOPEN"></a><br>\r
<b><u>FAQ-SET300 : ERROR "COULDN'T OPEN FILE ..."</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> I have the following error:<br>\r
+<font class=CProblem>PROBLEM:</font> I have the following error:<br>\r
<i>"Couldn't open file /workingpath/awstatsmmyyyy.tmp.9999: Permission denied."</i><br>\r
-<font style="color: #448866">SOLUTION:</font> This error means that the web server \r
+<font class=CSolution>SOLUTION:</font> This error means that the web server \r
didn't succeed in writing the working temporary file (file ended by .tmp.9999 \r
where 9999 is a number) because of permissions problems.<br>\r
First check that the directory <i>/workingpath</i> has "Write" permission for<br>\r
\r
<a name="EMPTY_STATS"></a><br>\r
<b><u>FAQ-SET350 : EMPTY OR NULL STATISTICS REPORTED</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> AWStats seems to work but I'm not \r
+<font class=CProblem>PROBLEM:</font> AWStats seems to work but I'm not \r
getting any results. i get a statistics page that looks like i have no hits.<br>\r
-<font style="color: #448866">SOLUTION:</font> That's the most common problem you \r
+<font class=CSolution>SOLUTION:</font> That's the most common problem you \r
can have and reason is simple: Your log file format setup is wrong.<br>\r
<u>If you use Apache web server</u><br>\r
-The best way of working is to use the <i>"combined"</i> log format (See into the <b>README.TXT</b> file\r
+The best way of working is to use the <i>"combined"</i> log format (See the <a href="awstats_setup.html">Setup and Use</a> page\r
to know the way to change your Apache server log from <i>"common"</i> log format into <i>"combined"</i>).\r
Don't forget to stop Apache, reset your log file and restart Apache to make change into combined\r
effective. Then you must setup your AWStats config file with value <i>LogFormat=1</i>.<br>\r
\r
<a name="NO_ICON"></a><br>\r
<b><u>FAQ-SET450 : NO PICTURES/GRAPHICS SHOWN</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> AWStats seems to work (all data and counters seem to be good)\r
+<font class=CProblem>PROBLEM:</font> AWStats seems to work (all data and counters seem to be good)\r
but I have no image shown.<br>\r
-<font style="color: #448866">SOLUTION:</font> With Apache web server, you might have\r
+<font class=CSolution>SOLUTION:</font> With Apache web server, you might have\r
troubles (no picture shown on stats page) if you use a directory called "icons" (because of Apache\r
pre-defined "icons" alias directory), so use instead, for example, a directory called "icon" with\r
no s at the end (Rename your directory physically and change the <a href="awstats_config.html#DirIcons">DirIcons</a> parameter in config file\r
\r
<a name="ROTATE"></a><br>\r
<b><u>FAQ-SET500 : HOW TO ROTATE MY LOGS WITHOUT LOOSING DATA</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> I want to archive/rotate my logs using my web server\r
+<font class=CProblem>PROBLEM:</font> I want to archive/rotate my logs using my web server\r
system options or a third software (rotatelog, cronolog) but don't want to loose any visits information\r
during the rotate process.<br>\r
-<font style="color: #448866">SOLUTION:</font><br>\r
+<font class=CSolution>SOLUTION:</font><br>\r
If you use a rotate system (internal web server feature or third software), this means you probably not use\r
AWStats <a href="awstats_config.html#PurgeLogFile">PurgeLogFile</a> nor <a href="awstats_config.html#ArchiveLogRecords">ArchiveLogRecords</a> parameter.<br>\r
* If your config file is setup to process current log file (because you want to use the <a href="awstats_config.html#AllowToUpdateStatsFromBrowser">AllowToUpdateStatsFromBrowser</a>\r
\r
<a name="CRONTAB"></a><br>\r
<b><u>FAQ-SET550 : HOW TO RUN AWSTATS FREQUENTLY</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> AWStats must be ran frequently to update statistics.\r
+<font class=CProblem>PROBLEM:</font> AWStats must be ran frequently to update statistics.\r
How can I do this ?<br>\r
-<font style="color: #448866">SOLUTION:</font><br>\r
+<font class=CSolution>SOLUTION:</font><br>\r
<br>\r
<u>With Windows</u>, you can use the internal task scheduler.\r
The use of this tool is not an AWStats related problem, so please take a look at your Windows manual.\r
\r
<a name="EXCLUDEHOSTS"></a><br>\r
<b><u>FAQ-SET600 : HOW CAN I EXCLUDE MY IP ADDRESS (OR WHOLE SUBNET MASK) FROM STATS ?</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> I don't want to see my own IP address in the stats or I want to exclude counting\r
+<font class=CProblem>PROBLEM:</font> I don't want to see my own IP address in the stats or I want to exclude counting\r
visits from a whole subnet.<br>\r
-<font style="color: #448866">SOLUTION:</font><br>\r
+<font class=CSolution>SOLUTION:</font><br>\r
You must edit the config file to change the SkipHosts parameter.<br>\r
For example, to exclude:<br>\r
- your own IP address 123.123.123.123, use SkipHosts="123.123.123.123"<br>\r
\r
<a name="SPEED"></a><br>\r
<b><u>FAQ-COM100 : AWSTATS SPEED/TIMEOUT PROBLEMS ?</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> When I analyze large log files,\r
+<font class=CProblem>PROBLEM:</font> When I analyze large log files,\r
processing times are very important (Update process from a browser\r
returns a timeout/internal error after a long wait).\r
Is there a setup or things to do to avoid this and increase speed ?<br>\r
-<font style="color: #448866">SOLUTION:</font> Yes. You really need to understand \r
+<font class=CSolution>SOLUTION:</font> You really need to understand \r
how a log analyzer works to have good speed. There is also major setup changes \r
you can do to decrease your processing time.<br>\r
- Launch AWStats more often (from crontab or a scheduler). More often you launch \r
AWStats, more faster is AWStats (because the less is the number of NEW lines in \r
log, since last run, to process). See the <a href="awstats_benchmark.html">Benchmark page</a> to\r
get examples of launching frequency according to your web traffic<br>\r
-- You can disable <i>DNSLookup</i> in configure file (set <i>DNSLookup=0</i>) \r
-<u>but this requires absolutely that hosts addresses in your log file are already \r
-resolved</u> (need to setup your web server to do so).\r
+- You can disable <a href="awstats_config.html#DNSLookup">DNSLookup</a> in configure file (set <i>DNSLookup=0</i>) \r
+but this requires that hosts addresses in your log file are already resolved (need to setup your web server to do so) or that \r
+you don't need the domain/country report.\r
Log analyze speed can be increased by 2 to 50 times but your web server will be slowed.<br>\r
If you don't understand what is an "already resolved reverse DNS lookup", keep \r
this parameter to 1.<br>\r
-- If you use Apache, set <i>PurgeLogFile</i> to 1 (By default, to avoid bad surprise, \r
+- If you use Apache, set <a href="awstats_config.html#PurgeLogFile">PurgeLogFile</a> to 1 (By default, to avoid bad surprise, \r
<i>PurgeLogFile</i> is 0 in configure file, but you can set it to 1 to ask AWStats \r
to purge the log file after processing it. This increase speed for next run).<br>\r
- Use last AWStats version.<br>\r
\r
<a name="BENCHMARK"></a><br>\r
<b><u>FAQ-COM150 : BENCHMARK / FREQUENCY TO LAUNCH AWSTATS TO UPDATE STATISTICS</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> What is AWStats speed ?<br>\r
-<font style="color: #660000">PROBLEM:</font> What is the frequency to launch AWStats process to update my statistics ?<br>\r
-<font style="color: #448866">SOLUTION:</font>\r
+<font class=CProblem>PROBLEM:</font> What is AWStats speed ?<br>\r
+<font class=CProblem>PROBLEM:</font> What is the frequency to launch AWStats process to update my statistics ?<br>\r
+<font class=CSolution>SOLUTION:</font>\r
All benchmarks information and advice on frequency for update process are related into\r
the <a href="awstats_benchmark.html">Benchmark page</a>.<br>\r
<br>\r
\r
<a name="DNS"></a><br>\r
<b><u>FAQ-COM200 : HOW REVERSE DNS LOOKUP WORKS, UNRESOLVED IP ADDRESSES</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> The reported page AWStats shows me \r
+<font class=CProblem>PROBLEM:</font> The reported page AWStats shows me \r
has no hostnames, only IP addresses, countries reported are all "unknown".<br>\r
-<font style="color: #448866">SOLUTION:</font> When AWStats find an IP address \r
+<font class=CSolution>SOLUTION:</font> When AWStats find an IP address \r
in your log file, it tries a reverse DNS lookup to find the hostname and domain \r
if the <a href="awstats_tools.html#DNSLookup">DNSLookup</a> parameter, in your AWStats config file, is <a href="awstats_config.html#DNSLookup">DNSLookup</a>=1\r
(Default value). So, first, check if you have the good value. The <a href="awstats_config.html#DNSLookup">DNSLookup</a>=0 \r
\r
<a name="DIFFERENT_RESULTS"></a><br>\r
<b><u>FAQ-COM250 : DIFFERENT RESULTS THAN OTHER ANALYZER</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> I also use webalizer (or another \r
+<font class=CProblem>PROBLEM:</font> I also use webalizer (or another \r
log analyzer) and it doesn't report the same results than AWStats. Why ?<br>\r
-<font style="color: #448866">SOLUTION:</font>\r
+<font class=CSolution>SOLUTION:</font>\r
If you compare AWStats results with an other log file analyzer, you will found some differences,\r
sometimes very important. In fact, all analyzer (even AWStats) make "over reporting" because of the\r
problem of proxy-servers and robots. However AWStats is one the most accurate and its "over reporting"\r
\r
<a name="DIFFERENCE_HOURS"></a><br>\r
<b><u>FAQ-COM300 : DIFFERENCE BETWEEN LOCAL HOURS AND AWSTATS REPORTED HOURS</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> I use IIS and there's a difference \r
+<font class=CProblem>PROBLEM:</font> I use IIS and there's a difference \r
between local hour and AWStats reported hour. For example I made a hit on a page \r
at 4:00 and AWStats report I hit it at 2:00.<br>\r
-<font style="color: #448866">SOLUTION:</font> This is not a problem of time \r
+<font class=CSolution>SOLUTION:</font> This is not a problem of time \r
in your local client host. AWStats use only time reported in logs by your server \r
and all time are related to server hour. The problem is that IIS in some foreign \r
versions puts GMT time in its log file (and not local time). So, you have also \r
\r
<a name="OLDLOG"></a><br>\r
<b><u>FAQ-COM350 : HOW CAN I PROCESS OLD LOG FILE ?</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> I want to process an old log file to include its data in my AWStats reports.<br>\r
-<font style="color: #448866">SOLUTION:</font> \r
+<font class=CProblem>PROBLEM:</font> I want to process an old log file to include its data in my AWStats reports.<br>\r
+<font class=CSolution>SOLUTION:</font> \r
You must change your LogFile parameter to point to the old log file and run the update. However the update process can only accept\r
files in chronological order, so if you have already processed a recent file, you must before\r
reset all your statistics (see next FAQ) and restart all the update process for all past log files and in chronological order.<br>\r
\r
<a name="MULTILOG"></a><br>\r
<b><u>FAQ-COM400 : HOW CAN I UPDATE MY STATISTICS WHEN I USE A LOAD BALANCING SYSTEM THAT SPLITS MY LOGS ?</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> How can I update my statistics when i use a load balancing system that split my logs ?<br>\r
-<font style="color: #448866">SOLUTION:</font> \r
+<font class=CProblem>PROBLEM:</font> How can I update my statistics when i use a load balancing system that split my logs ?<br>\r
+<font class=CSolution>SOLUTION:</font> \r
The best solution is to merge all split log files resulted from all your load balanced servers into one. For this, you can use\r
-the <b>logresolvemerge</b> tool provided with AWStats since version 3.2 :<br>\r
+the <a href="awstats_config.html#logresolvemerge">logresolvemerge</a> tool provided with AWStats :<br>\r
<i>logresolvemerge.pl file1.log file2.log ... filen.log > newfiletoprocess.log</i><br>\r
And setup the <i>LogFile</i> parameter in your config file to process the <i>newfiletoprocess.log</i> file.<br>\r
<br>\r
\r
<a name="RESET"></a><br>\r
<b><u>FAQ-COM500 : HOW CAN I RESET ALL MY STATISTICS ?</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> I want to reset all my statistics and restart my stats from now.<br>\r
-<font style="color: #448866">SOLUTION:</font> \r
+<font class=CProblem>PROBLEM:</font> I want to reset all my statistics and restart my stats from now.<br>\r
+<font class=CSolution>SOLUTION:</font> \r
All analyzed data are stored by AWStats in files called awstatsMMYYYY.[site.]txt (one file each month).\r
You will find those files in directory defined by "DirData" parameter (same directory than awstats.pl by default).<br>\r
To reset your stats for a month, you just have to delete the file for the required month/year.<br>\r
\r
<a name="EDITHISTORY"></a><br>\r
<b><u>FAQ-COM550 : CAN I SAFELY REMOVE A LINE IN HISTORY FILES (awstatsMMYYYY*.txt) ?</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> After processing a log file I want to change my statistics\r
+<font class=CProblem>PROBLEM:</font> After processing a log file I want to change my statistics\r
without running AWStats update process but changing directly data in AWStats historical database files.<br>\r
-<font style="color: #448866">SOLUTION:</font> \r
+<font class=CSolution>SOLUTION:</font> \r
If you remove a lines starting with "BEGIN_" or "END_", AWStats will find your file "corrupted" so you must not change those\r
kind of lines. All lines that are not in any "section" (between a BEGIN_xxx and END_xxx line) should also not be removed.\r
However you can change any line that is a "section record", but you do this at your own risk. Your reported stats\r
\r
<a name="CSSATTACK"></a><br>\r
<b><u>FAQ-SEC00 : CAN AWSTATS BE USED TO MAKE CROSS SITE SCRIPTING ATTACKS ?</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> If a bad user use a browser to make a hit on an URL that include a < SCRIPT > ... < /SCRIPT >\r
+<font class=CProblem>PROBLEM:</font> If a bad user use a browser to make a hit on an URL that include a < SCRIPT > ... < /SCRIPT >\r
section in its parameter, when AWStats will show the links on the report page, does the script will be executed ?<br>\r
-<font style="color: #448866">SOLUTION:</font> \r
+<font class=CSolution>SOLUTION:</font> \r
No. AWStats use a filter to remove all scripts codes that was included in an URL to make a Cross Site Scripting Attack using a\r
log analyzer report page.<br>\r
<br>\r
\r
<a name="SECUSER"></a><br>\r
<b><u>FAQ-SEC150 : HOW CAN I PREVENT SOME USERS TO SEE STATISTICS OF OTHER USERS ?</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> I don't want a user xxx (having a site www.xxx.com) to see statistics of user yyy (having\r
+<font class=CProblem>PROBLEM:</font> I don't want a user xxx (having a site www.xxx.com) to see statistics of user yyy (having\r
a site www.yyy.com). How can i setup AWStats for this ?<br>\r
-<font style="color: #448866">SOLUTION:</font> \r
+<font class=CSolution>SOLUTION:</font> \r
Take a look at the <a href="awstats_security.html">security page</a>.<br>\r
<br>\r
\r
<a name="WORMS"></a><br>\r
<b><u>FAQ-SEC200 : HOW TO MANAGE LOG FILES (AND STATISTICS) CORRUPTED BY 'CODE RED VIRUS LIKE' ATTACKS ?</u></b><br>\r
-<font style="color: #660000">PROBLEM:</font> My site is attacked by some Code Red Viruses. This make my log file corrupted\r
+<font class=CProblem>PROBLEM:</font> My site is attacked by some Code Red Viruses. This make my log file corrupted\r
and full of 404 errors. So my statistics are also full of 404 errors. This make AWStats slower and my history files very large.\r
Can I do something to avoid this ?<br>\r
-<font style="color: #448866">SOLUTION:</font> \r
+<font class=CSolution>SOLUTION:</font> \r
Yes.<br>\r
'Code Red virus like' attacks are infected browsers or robots that make hits on your site using a very long unknown URL\r
like this one (hoping your server is IIS):<br>\r
If users have a command line access (telnet) on statistics server, you must set correct permissions on AWStats\r
database files. Set all AWStats database files (built by the update process) for config/domain1 to have read/write\r
for <i>user1</i> (or an admin user) and NO read and NO write permissions for any other users.<br>\r
-Then, check that the "<a href="awstats_config.html#SaveDatabaseFilesWithPermissionsForEveryone">SaveDatabaseFilesWithPermissionsForEveryone</a>" parameter is set 0 in your config/domain files.<br>\r
+Then, check that the <a href="awstats_config.html#SaveDatabaseFilesWithPermissionsForEveryone">SaveDatabaseFilesWithPermissionsForEveryone</a> parameter is set 0 in your config/domain files.<br>\r
If AWStats database files for config/domain1 are read protected, only allowed users can see statistics for config/domain1.<br>\r
If AWStats database files for config/domain1 are write protected, only allowed users can update statistics for config/domain1.<br>\r
<br><br>\r
require valid-user<br>\r
</Files>\r
</i><br>\r
-Then edit each config/domain file you want to be protected to set "<a href="awstats_config.html#AllowAccessFromWebToAuthenticatedUsersOnly">AllowAccessFromWebToAuthenticatedUsersOnly</a>" to 1.<br>\r
-You can also edit list of authorized users in the "<a href="awstats_config.html#AllowAccessFromWebToFollowingAuthenticatedUsers">AllowAccessFromWebToFollowingAuthenticatedUsers</a>" parameter.<br>\r
+Then edit each config/domain file you want to be protected to set <a href="awstats_config.html#AllowAccessFromWebToAuthenticatedUsersOnly">AllowAccessFromWebToAuthenticatedUsersOnly</a> to 1.<br>\r
+You can also edit list of authorized users in the <a href="awstats_config.html#AllowAccessFromWebToFollowingAuthenticatedUsers">AllowAccessFromWebToFollowingAuthenticatedUsers</a> parameter.<br>\r
<br>\r
Other tip: If you define <b>AWSTATS_CONFIG</b> environment variable in your web server environment (Adding\r
<i>SetEnv AWSTATS_CONFIG myconfigvalueformydomain</i> with other directives in your Apache VirtualHost config), AWStats\r
- /etc/opt/awstats or /etc/awstats or /etc or same directory than awstats.pl (so cgi-bin) for Unix/Linux users.<br>\r
- same directory than awstats.pl (so cgi-bin) for Windows and other OS.<br>\r
Edit this new config file with your own setup :<br>\r
-- Change "<a href="awstats_config.html#LogFile">LogFile</a>" value with full path of your web server log file (You\r
+- Change <a href="awstats_config.html#LogFile">LogFile</a> value with full path of your web server log file (You\r
can also use a relative path from your awstats.pl directory).<br>\r
-- Check if "<a href="awstats_config.html#LogFormat">LogFormat</a>" has the value "1" (it means "NCSA apache combined/ELF/XLF log format").<br>\r
-- Change "<a href="awstats_config.html#DirIcons">DirIcons</a>" parameter to reflect relative URL of icon directory.<br>\r
-- Edit "<a href="awstats_config.html#SiteDomain">SiteDomain</a>" parameter with the main domain name or the intranet \r
+- Check if <a href="awstats_config.html#LogFormat">LogFormat</a> has the value "1" (it means "NCSA apache combined/ELF/XLF log format").<br>\r
+- Change <a href="awstats_config.html#DirIcons">DirIcons</a> parameter to reflect relative URL of icon directory.<br>\r
+- Edit <a href="awstats_config.html#SiteDomain">SiteDomain</a> parameter with the main domain name or the intranet \r
web server name used to reach the web site to analyze.<br>\r
- You can change other parameters if you want.<br>\r
<br>\r
Whatever the name you choose, this new file must be stored in<br>\r
- same directory than awstats.pl (so cgi-bin)<br>\r
Edit this new config file with your own setup :<br>\r
-- Change "<a href="awstats_config.html#LogFile">LogFile</a>" value with full path of your web server log file (You\r
+- Change <a href="awstats_config.html#LogFile">LogFile</a> value with full path of your web server log file (You\r
can also use a relative path from your awstats.pl directory).<br>\r
-- Change "<a href="awstats_config.html#LogFormat">LogFormat</a>" to value "2" (it means "IIS Extended W3C log format").<br>\r
-- Change "<a href="awstats_config.html#DirIcons">DirIcons</a>" parameter to reflect relative URL of icon directory.<br>\r
-- Edit "<a href="awstats_config.html#SiteDomain">SiteDomain</a>" parameter with the main domain name or the intranet\r
+- Change <a href="awstats_config.html#LogFormat">LogFormat</a> to value "2" (it means "IIS Extended W3C log format").<br>\r
+- Change <a href="awstats_config.html#DirIcons">DirIcons</a> parameter to reflect relative URL of icon directory.<br>\r
+- Edit <a href="awstats_config.html#SiteDomain">SiteDomain</a> parameter with the main domain name or the intranet\r
web server name used to reach the web site to analyze.<br>\r
- You can change other parameters if you want.<br>\r
<br>\r
<b>3) With other web servers</b><br>\r
<br>\r
Setup process is similar to setup for Apache or IIS.<br>\r
-Use "<a href="awstats_config.html#LogFormat">LogFormat</a>" to value "3" if you have WebStar native log format.<br>\r
+Use <a href="awstats_config.html#LogFormat">LogFormat</a> to value "3" if you have WebStar native log format.<br>\r
<br>\r
\r
\r
Found 225601 new records.<br>\r
</i><br>\r
<b>Dropped records</b> are records discarded because they were not user HTTP request or requests were not qualified\r
-by AWStats filters (See "<a href="awstats_config.html#SkipHosts">SkipHosts</a>", "<a href="awstats_config.html#SkipFiles">SkipFiles</a>",\r
-and "<a href="awstats_config.html#OnlyFiles">OnlyFiles</a>" parameters).\r
+by AWStats filters (See <a href="awstats_config.html#SkipHosts">SkipHosts</a>, <a href="awstats_config.html#SkipFiles">SkipFiles</a>,\r
+and <a href="awstats_config.html#OnlyFiles">OnlyFiles</a> parameters).\r
If you want to see which lines were dropped, you can add the <b>-showdropped</b> option on command line.<br>\r
<b>Corrupted records</b> are records that does not match log format defined by "LogFormat" parameter in AWStats config/domain file.\r
With all webservers you can experience a little bit corrupted records (<5%) even when everythings work correctly.\r
<br>\r
Note : A log analysis process is slow (one second for each 4100 lines of your\r
logfile with Athlon 1Ghz, plus DNS resolution time for each different IP\r
-address in your logfile if "<a href="awstats_config.html#DNSLookup">DNSLookup</a>" is set to 1 and not already done in your log file).<br>\r
+address in your logfile if <a href="awstats_config.html#DNSLookup">DNSLookup</a> is set to 1 and not already done in your log file).<br>\r
See <a href="awstats_benchmark.html">Benchmark page</a> for more accurate information.<br>\r
<br>\r
\r
This is ABSOLUTELY necessary to keep good performances.<br>\r
See AWStats <a href="awstats_benchmark.html">Benchmark page</a> for more accurate information.<br>\r
<br>\r
-!!! Warning, if you don't use (or can't use with IIS) the "<a href="awstats_config.html#PurgeLogFile">PurgeLogFile</a>" parameter,\r
+!!! Warning, if you don't use (or can't use with IIS) the <a href="awstats_config.html#PurgeLogFile">PurgeLogFile</a> parameter,\r
it's very important that you don't forget to purge/rotate your log file yourself (or setup your web server to do it)\r
frequently. Even if AWStats never analyzes twice the same log record, the more often you clean your log file, the\r
faster AWStats will be.<br>\r
If you named your config file awstats.conf, just use URL:<br>\r
<b><i>http://www.myserver.mydomain/cgi-bin/awstats.pl</i></b><br>\r
<br>\r
-Note: If "<a href="awstats_config.html#AllowToUpdateStatsFromBrowser">AllowToUpdateStatsFromBrowser</a>" parameter is set to 1 in AWStats config/domain file,\r
+Note: If <a href="awstats_config.html#AllowToUpdateStatsFromBrowser">AllowToUpdateStatsFromBrowser</a> parameter is set to 1 in AWStats config/domain file,\r
you will also be able to run the update process from your browser. Just click on link "Update now".<br>\r
<br><br>\r
\r
<font size=3 color=#665544><b>Features</b></font><br>\r
<hr>\r
<b>A full log analysis enables AWStats to show you the following information</b>:<br>\r
- * Number of <u>VISITS</u>, and <u>UNIQUE VISITORS</u>, list of last visits,<br>\r
- * <u>Visits duration</u>,<br>\r
+ * Number of <u>VISITS</u>, and number of <u>UNIQUE VISITORS</u>,<br>\r
+ * <u>Visits duration</u> and list of last visits,<br>\r
* <u>Authenticated users</u>,<br>\r
* <u>Days of week</u> and <u>Rush hours</u> (pages, hits, KB for each hour and day of week),<br>\r
+ * Hosts list and unresolved IP addresses list,<br>\r
* <u>Domains/countries</u> of hosts visitors (pages, hits, KB, <font color=#221188>259 domains/countries detected</font>),<br>\r
- * Most often <u>pages</u> viewed, <u>entry pages</u> and <u>exit pages</u>,<br>\r
- * <u>File types</u>,<br>\r
+ * <u>Most viewed</u>, <u>entry</u> and <u>exit</u> pages,<br>\r
+ * <u>Files type</u>,<br>\r
* <u>Web compression statistics</u> (for mod_gzip),<br>\r
* <u>Browsers</u> used (pages, hits, KB for each browser, each version, <font color=#221188>72 browsers</font>: Web, Wap, Media browsers...),<br>\r
* <u>OS used</u> (pages, hits, KB for each OS, <font color=#221188>28 OS detected</font>),<br>\r
- * <u>VISITS OF ROBOTS</u> (<font color=#221188>287 robots detected</font>),<br>\r
- * <u>SEARCH ENGINES</u>, <u>Keyphrases</u> or <u>Keywords</u> used to find your site (<font color=#221188>The 61 most famous search engines are detected like yahoo, google, altavista, etc...</font>),<br>\r
- * HTTP errors (Page Not Found, ...),<br>\r
+ * <u>VISITS OF ROBOTS</u> (<font color=#221188>286 robots detected</font>),<br>\r
+ * <u>SEARCH ENGINES</u>, <u>Keyphrases</u> or <u>Keywords</u> used to find your site (<font color=#221188>The 63 most famous search engines are detected like yahoo, google, altavista, etc...</font>),<br>\r
+ * HTTP errors (Page Not Found with last referrer, ...),<br>\r
<br>\r
<b>AWStats also supports the following features</b>:<br>\r
* Can analyze a lot of log formats: Apache NCSA combined log files (XLF/ELF) or common (CLF), IIS log files (W3C), WebStar native log files and other web, proxy or wap servers log files). See <a href="awstats_faq.html#LOGFORMAT">AWStats F.A.Q.</a> for examples.<br>\r
* Works from command line and from a browser as a CGI,<br>\r
* Update of statistics can be made from a web browser and not only from a scheduler,<br>\r
* Unlimited log file size, support split log files (load balancing system),<br>\r
- * Reverse DNS lookup during analysis,<br>\r
+ * Reverse DNS lookup before or during analysis,<br>\r
* A lot of options/filters can be defined,<br>\r
* Multi-named web sites supported (virtual servers, great for web-hosting providers),<br>\r
<!-- * Yearly, monthly and daily statistics,<br> -->\r
-body {
- background-color: #FFFFFF;
- font: 14px verdana,arial;
- font-family: sans-serif;
- margin-top: 4;
- margin-bottom: 4;
- margin-right: 4;
- margin-left: 4;
-}
-a:link { font: 14px verdana,arial; color: #2200C0; font-family: sans-serif; text-decoration: none; }
-a:visited { font: 14px verdana,arial; color: #2200C0; font-family: sans-serif; text-decoration: none; }
-a:active { font: 14px verdana,arial; color: #2200C0; font-family: sans-serif; text-decoration: none; }
-a:hover { font: 14px verdana,arial; color: #2200C0; font-family: sans-serif; text-decoration: underline; }
-
-td.CFAQ { font: 14px verdana,arial; color: #000000; font-family: sans-serif; text-decoration: none; }
+body { \r
+ background-color: #FFFFFF;\r
+ font: 14px verdana,arial;\r
+ font-family: sans-serif;\r
+ margin-top: 4;\r
+ margin-bottom: 4;\r
+ margin-right: 4;\r
+ margin-left: 4;\r
+}\r
+a:link { font: 14px verdana,arial; color: #2200C0; font-family: sans-serif; text-decoration: none; }\r
+a:visited { font: 14px verdana,arial; color: #2200C0; font-family: sans-serif; text-decoration: none; }\r
+a:active { font: 14px verdana,arial; color: #2200C0; font-family: sans-serif; text-decoration: none; }\r
+a:hover { font: 14px verdana,arial; color: #2200C0; font-family: sans-serif; text-decoration: underline; }\r
+\r
+td.CFAQ { font: 14px verdana,arial; color: #000000; font-family: sans-serif; text-decoration: none; }\r
+.CProblem { font: 14px verdana,arial; color: #660000; font-family: sans-serif; text-decoration: none; }\r
+.CSolution { font: 14px verdana,arial; color: #448866; font-family: sans-serif; text-decoration: none; }\r