1. Introduction
L’analyse du
trafic Web d’un site applicatif et les conditions dans lesquels ce trafic
s’effectue deviennent de plus en plus des éléments essentiels du tableau de bord
de suivi des applications Web. Encore faut-il disposer de la source
d’information nécessaire à cette analyse. Dans ce document, il s’agit
d’examiner :
-
Comment faire produire à une installation WebLogic les informations/traces ( logs) nécessaires à l’analyse du trafic ; et comment exploiter ces logs.
-
Quels sont les principes généraux de configuration des outils d’analyse des logs ;
-
Comment publier les résultats des analyses.
Les logs
générés par les différents serveurs WEB ou serveurs d'application obéissent à
des formats soit standards de fait, soit standards définis par les instances du
W3C.
Les principaux
formats acceptés par les analyseurs de logs sont:
- Le format dit « combined » Apache , encore appelé
format NCSA ou Apache combined/ELF/XLF. C'est le format par défaut
utilisé par WebLogic, dans une certaine mesure.
- Le format log
étendu WC3 utilisé par Microsoft IIS et par un certain nombre de serveurs
d'applications dont WebLogic.
Tous les
analyseurs n’acceptent pas tous les formats.
2.1 La production des fichiers logs
Deux cas sont à
considérer selon que les logs sont à produire par Apache ou par le serveur
d'application WebLogic. Les logs produits par Apache concernent les applications
utilisant Apache en frontal du serveur WebLogic. Pour les applications
n’utilisant pas Apache en frontal, les logs à utiliser sont produits par le
serveur d’application webLogic.
2.1.1 Production de logs par Apache
Placé en
frontal d’un serveur d’application WebLogic, Apache produit, d’office, des logs
susceptibles d’être analysées. Très rapide, cette approche ne convient que
pour les applications ayant opté pour une architecture présentant un serveur
Apache en frontal.
Dans ce cas de figure, la configuration des logs est
effectuée dans le fichier de configuration Apache, httpd.conf. On y précise:
-
Le nom
du fichier log et sa localisation. Les recommandations de nommage de nos
installations sont:
/var/apache/logs/hoteVirtuel/hote_access.log
- Le format des
logs. Dans le fichier de configuration d'Apache (httpd.conf), les formats de
base sont généralement définis selon les lignes suivantes:
#
# The following
directives define some format nicknames for use with
# a CustomLog
directive (see below).
#
LogFormat "%h
%l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
combined
LogFormat "%h %l %u %t
\"%r\" %>s %b" common
LogFormat "%{Referer}i ->
%U" referer
LogFormat "%{User-agent}i" agent
Vous devez ensuite définir le fichier de log, en indiquant
le format retenu. Exemple:
CustomLog
/var/apache/logs/hoteVirtuel/hote_access.log combined
Le format combined est celui recommandé pour la plupart
des analyseurs de log.
Voici un exemple de définition, d'une application
WebLogic avec un Apache en frontal:
LogFormat "%h
%l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-Agent}i\"" combined
LogFormat "%h
%l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i ->
%U" referer
LogFormat "%{User-agent}i"
agent
<VirtualHost SRVR05-A>
ServerAdmin
webmaster@fxe.com
DocumentRoot
"C:\appli\httpd"
ServerName SRVR05-A
<Directory
"C:/appli/httpd/srvtest12">
Options
Indexes FollowSymLinks
AllowOverride
All
Order
allow,deny
Allow from
All
</Directory>
<IfModule
mod_weblogic.c>
<Location
/test12>
SetHandler
weblogic-handler
WebLogicCluster
192.168.0.22:7201,192.168.0.28:7201
MatchExpression
*.jsp
MatchExpression
*.do
</Location>
ErrorLog
C:/var/apache/logs/srvtest12/srvtest12-error_log
CustomLog C:/var/apache/logs/srvtest12/srvtest12-access_log
combined
</IfModule>
</VirtualHost>
Pour les
applications dont l’architecture ne prévoit pas un frontal Apache, il faut se
résoudre à utiliser directement les logs produits par WebLogic.
La configuration de la production des logs est effectuée à
partir de la console d'administration , dans l'onglet <Configuration>/<logging>/<httpd>
. On y précise, au moins:
-
le nom complet du fichier de logs;
-
le type de logs;
-
le type de rotation.
Deux types de
logs peuvent être générés:
- Type
common;
- Type
Extended.
Mais ils ne
sont pas tous analysables par tous les analyseurs !
2.1.2.1 Log WebLogic du type common
Le type Common ne correspond pas tout à fait au type
combined des logs Apache. Il est toutefois le plus rapide à mettre en
oeuvre, car il ne nécessite pas d'actions particulières dans l'entête du fichier
de log. Mais nous devrons spécifier plus précisément son format dans la
configuration de l'analyseur.
Exemple :
LogFormat = "%host %other %logname %time1 %methodurl
%code %bytesd"
2.1.2.2 Log WebLogic du type Extended
Le type Extended, standard WC3 est reconnu par certains
analyseurs. Il fournit plus d'informations, mais nécessite de placer
préalablement en tête du fichier log des directives définissant les champs
devant être produits par le serveur d'application.
Exemple d'entête placé dans un fichier log : test12-access_log
#Version:
1.0
#Fields:
date time c-ip cs-username cs-method cs-uri-stem cs-uri-query sc-status sc-bytes
cs-version cs(User-Agent) cs(Referer)
#Software: WebLogic
Par la suite,
WebLogic générera un fichier log du genre:
#Version:
1.0
#Fields:
date time c-ip cs-username cs-method cs-uri-stem cs-uri-query sc-status
sc-bytes cs-version cs(User-Agent) cs(Referer)
#Software:
WebLogic
#Start-Date:
2006-04-04
16:52:002006-04-06
17:43:32
192.168.0.207
-
GET
/businessobjects/enterprise11/admin
- 302 - - "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)" -
2006-04-06
17:43:32
192.168.0.207
-
GET
/businessobjects/enterprise11/admin/
-
200
- - "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)" -
2006-04-06
17:43:32
192.168.0.207
-
GET
/businessobjects/enterprise11/admin/redirect.csp
-
302 - - "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)" -
2006-04-06
17:43:32
192.168.0.207
-
GET
/businessobjects/enterprise11/admin/fr/default.csp
302 - - "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)" -
2006-04-06
17:43:32
192.168.0.207
-
GET
/businessobjects/enterprise11/admin/fr/admin.cwr
-
200 - - "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)" -
2006-04-06
17:43:33
192.168.0.207
-
GET
/businessobjects/enterprise11/admin/fr/js/cookieHandler.js
-
200 - - "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
"http://192.168.0.22:7301/businessobjects/enterprise11/admin/fr/admin.cwr"
2006-04-06
17:43:33
192.168.0.207
-
GET
/businessobjects/enterprise11/admin/fr/admin.cwr
draw=header 200 - - "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
"http://192.168.0.22:7301/businessobjects/enterprise11/admin/fr/admin.cwr"
2006-04-06
17:43:33
192.168.0.207
-
GET
/businessobjects/enterprise11/admin/fr/admin.cwr
draw=logon
200 - - "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
"http://192.168.0.22:7301/businessobjects/enterprise11/admin/fr/admin.cwr"
2006-04-06
17:43:33
192.168.0.207
-
GET
/businessobjects/enterprise11/admin/fr/css/default.css
-
200 - - "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
"http://192.168.0.22:7301/businessobjects/enterprise11/admin/fr/admin.cwr?draw=header"
2006-04-06
17:43:33
192.168.0.207
-
GET
/businessobjects/enterprise11/admin/fr/js/helps.js
-
200 - - "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
"http://192.168.0.22:7301/businessobjects/enterprise11/admin/fr/admin.cwr?draw=header"
2006-04-06
17:43:33
192.168.0.207
-
GET
/businessobjects/enterprise11/admin/fr/images/buttonl.gif
-
200 - - "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
"http://192.168.0.22:7301/businessobjects/enterprise11/admin/fr/admin.cwr?draw=logon"
2006-04-06
17:43:33
192.168.0.207
-
GET
/businessobjects/enterprise11/admin/fr/images/buttonm.gif
-
200 - - "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
"http://192.168.0.22:7301/businessobjects/enterprise11/admin/fr/admin.cwr?draw=logon"
2006-04-06
17:43:33
192.168.0.207
-
GET
/businessobjects/enterprise11/admin/fr/images/buttonr.gif
-
200 - - "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
"http://192.168.0.22:7301/businessobjects/enterprise11/admin/fr/admin.cwr?draw=logon"
3. Les outils d'analyse
Je recommande l'outil d'analyse WebTrends
(anciennement connu sous le nom de Log Analyzer). Ce produit est proposé en
trois versions:
-
Small
Business : 1 millions de pages analysables ;
-
Professionnal : 5 millions de pages
analysables;
-
Enterprise : 20 millions de pages analysables.
Un outil
OpenSource très utilisé, et offrant une bonne couverture fonctionnelle, sur les
plates-formes UNIX/LINUX et Windows: AWSTATS.
Quel que soit
l'outil utilisé, le processus de configuration est à peu près le même. Je
fournis celui concernant AWSTATS, à titre indicatif, sachant que le choix d'un
outil d'analyse peut conduire à revoir le choix du mode de production des
logs.
3.1 Exemple de AWSTATS
Cet exemple, présenté pour l'environnement Windows, est
similaire dans l'environnement LINUX RedHat.
3.1.1 Pré-requis
Les deux pré-requis à la mise en oeuvre de AWSTAT sont l'installation d'Apache 2 et de PERL.
3.1.1.1 Apache 2
Installez
Apache 2 à partir d'une distribution Apache 2
3.1.1.2 PERL
Installez PERL à partir d'une
distribution ActivePERL .
3.1.2 Installation
Avant de lancer
l'installation de AWSTATS, définissez bien:
-
le type de logs;
-
le nom du fichier de configuration (égal au nom du site en général). AWSTAT
génère un fichier de configuration appelé awstats.nomsite.conf.
L'installation s'effectue à
partir du package Windows: awstats-6.5.exe
L’image-écran ci-dessous doit s’afficher
Indiquez l’acceptation des conditions de licence.
Précisez le répertoire d’installation.
A l'issu de
l'installation, AWSTATS lance son script de configuration, et complète
automatiquement le fichier de configuration Apache (httpd.conf) avec ses
paramètres :
#
# Directives to
allow use of AWStats as a CGI
#
Alias
/awstatsclasses "C:/Program Files/AWStats/wwwroot/classes/"
Alias /awstatscss
"C:/Program Files/AWStats/wwwroot/css/"
Alias /awstatsicons
"C:/Program Files/AWStats/wwwroot/icon/"
ScriptAlias
/awstats/ "C:/Program Files/AWStats/wwwroot/cgi-bin/"
#
# This is to permit
URL access to scripts/files in AWStats directory.
#
<Directory
"C:/Program Files/AWStats/wwwroot">
Options None
AllowOverride
None
Order allow,deny
Allow from all
</Directory>
A partir d'un
éditeur, vous devrez ajuster les paramètres du fichier de configuration
awstats.nomsite.conf
Les principaux
paramètres à examiner sont les suivants:
LogFile
LogType
LogFormat
SiteDomain
HostAliases
LogFile
Ce paramètre permet de spécifier le nom complet du fichier de
logs. Exemple:
LogFile="C:/var/apache/logs/access.log"
LogType
Ce paramètre permet de spécifier le type de Log. Le type est
W pour les serveurs Web et les serveurs d’application.
LogFormat
Ce paramètre
permet de spécifier le format du fichier de log. On peut, soit indiquer un code
correspondant à un format standard, soit spécifier, entre guillemets, le format
des logs en utilisant les codes de formatage standard.
Exemple :
LogFormat =
"%host %other %logname %time1 %methodurl %code %bytesd"
SiteDomain
Ce paramètre spécifie l'adresse IP ou le nom du domaine
(apparaissant dans les logs) et qui servira de filtre pour les lignes de log à
retenir. Il est souvent complété par le paramètre HostAliases.
HostAliases
Ce paramètre spécifie les
adresses IP, noms de domaines à retenir dans les analyses.
3.1.3.1 Fichier
de paramètre pour des logs produits par Apache
# AWSTATS CONFIGURE
FILE 6.5
#-----------------------------------------------------------------------------
# Copy this file
into awstats.www.mydomain.conf and edit this new config file
# to setup AWStats
(See documentation in docs/ directory).
# The config file
must be in /etc/awstats, /usr/local/etc/awstats or /etc (for
# Unix/Linux) or
same directory than awstats.pl (Windows, Mac, Unix/Linux...)
# To include an
environment variable in any parameter (AWStats will replace
# it with its value
when reading it), follow the example:
#
Parameter="__ENVNAME__"
# Note that
environment variable AWSTATS_CURRENT_CONFIG is always defined with
# the config value
in an AWStats running session and can be used like others.
#-----------------------------------------------------------------------------
# $Revision: 1.324 $
- $Author: eldy $ - $Date: 2005/10/30 15:56:38 $
#-----------------------------------------------------------------------------
# MAIN SETUP SECTION
(Required to make AWStats work)
#-----------------------------------------------------------------------------
#
"LogFile" contains the web, ftp or mail server log file to analyze.
# Possible values: A
full path, or a relative path from awstats.pl directory.
# Example:
"/var/log/apache/access.log"
# Example:
"../logs/mycombinedlog.log"
# You can also use
tags in this filename if you need a dynamic file name
# depending on date
or time (Replacement is made by AWStats at the beginning
# of its execution).
This is available tags :
# %YYYY-n is
replaced with 4 digits year we were n hours ago
# %YY-n is
replaced with 2 digits year we were n hours ago
# %MM-n is
replaced with 2 digits month we were n hours ago
# %MO-n is
replaced with 3 letters month we were n hours ago
# %DD-n is
replaced with day we were n hours ago
# %HH-n is
replaced with hour we were n hours ago
# %NS-n is
replaced with number of seconds at 00:00 since 1970
# %WM-n is
replaced with the week number in month (1-5)
# %Wm-n is
replaced with the week number in month (0-4)
# %WY-n is
replaced with the week number in year (01-52)
# %Wy-n is
replaced with the week number in year (00-51)
# %DW-n is
replaced with the day number in week (1-7, 1=sunday)
#
use n=24 if you need (1-7, 1=monday)
# %Dw-n is
replaced with the day number in week (0-6, 0=sunday)
#
use n=24 if you need (0-6, 0=monday)
# Use 0 for n if
you need current year, month, day, hour...
# Example:
"/var/log/access_log.%YYYY-0%MM-0%DD-0.log"
# Example:
"C:/WINNT/system32/LogFiles/W3SVC1/ex%YY-24%MM-24%DD-24.log"
# You can also use a
pipe if log file come from a pipe :
# Example:
"gzip -d </var/log/apache/access.log.gz |"
# If there is
several log files from load balancing servers :
# Example:
"/pathtotools/logresolvemerge.pl *.log |"
#
#LogFile="/var/log/httpd/mylog.log"
LogFile="C:/var/apache/logs/access.log"
# Enter the log file
type you want to analyze.
# Possible values:
# W - For a web log
file
# S - For a
streaming log file
# M - For a mail
log file
# F - For a ftp log
file
# Example: W
# Default: W
#
LogType=W
# Enter here your log format (Must match your web server
config. See setup
# instructions in documentation to know how to configure
your web server to
# have the required log format).
# Possible values: 1,2,3,4 or
"your_own_personalized_log_format"
# 1 - Apache or Lotus Notes/Domino native combined log
format (NCSA combined/XLF/ELF log format)
# 2 - IIS or ISA format (IIS W3C log format). See
FAQ-COM115 For ISA.
# 3 - Webstar native log format.
# 4 - Apache or Squid native common log format (NCSA
common/CLF log format)
# With LogFormat=4, some features
(browsers, os, keywords...) can't work.
# "your_own_personalized_log_format" = If your log is ftp,
mail or other format,
# you must use following keys to
define the log format string (See FAQ for
# ftp, mail or exotic web log
format examples):
#
%host
Client hostname or IP address (or Sender host for mail log)
#
%host_r Receiver
hostname or IP address (for mail log)
# %lognamequot
Authenticated login/user with format: "john"
#
%logname
Authenticated login/user with format: john
#
%time1 Date
and time with format: [dd/mon/yyyy:hh:mm:ss +0000] or
[dd/mon/yyyy:hh:mm:ss]
#
%time2 Date
and time with format: yyyy-mm-dd hh:mm:ss
#
%time3 Date
and time with format: Mon dd hh:mm:ss or Mon dd hh:mm:ss yyyy
#
%time4 Date
and time with unix timestamp format: dddddddddd
#
%methodurl Method and URL with format:
"GET /index.html HTTP/x.x"
# %methodurlnoprot Method and URL with
format: "GET /index.html"
#
%method Method with
format: GET
#
%url
URL only with format: /index.html
#
%query Query
string (used by URLWithQuery option)
#
%code
Return code status (with format for web log: 999)
#
%bytesd Size of
document in bytes
# %refererquot
Referer page with format: "http://from.com/from.htm"
#
%referer Referer page with
format: http://from.com/from.htm
#
%uabracket User agent with format:
[Mozilla/4.0 (compatible, ...)]
#
%uaquot User agent
with format: "Mozilla/4.0 (compatible, ...)"
#
%ua
User agent with format: Mozilla/4.0_(compatible...)
#
%gzipin mod_gzip
compression input bytes: In:XXX
#
%gzipout mod_gzip
compression output bytes & ratio: Out:YYY:ZZpct.
#
%gzipratio mod_gzip compression ratio:
ZZpct.
# %deflateratio
mod_deflate compression 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), use this to define cluster id field.
#
%extraX Another
field that you plan to use for building a
#
personalized
report with ExtraSection feature (See later).
# If your log format has some fields not
included in this list, use:
#
%other Means
another not used field
#
%otherquot Means another not used
double quoted field
#
# Examples for Apache combined logs (following two examples
are equivalent):
# LogFormat = 1
# LogFormat = "%host %other %logname %time1 %methodurl
%code %bytesd %refererquot %uaquot"
#
# Example for IIS:
# LogFormat = 2
#
# LogFormat=3
LogFormat=1
# If your log field's separator is not a space, you can
change this parameter.
# This parameter is not used if LogFormat is a predefined
value (1,2,3,4)
# Backslash can be used as escape character.
# Example: " "
# Example: "\t"
# Example: "\|"
# Example: ","
# Default: " "
#
LogSeparator=" "
# "SiteDomain" must contain the main domain name, or the
main intranet web
# server name, used to reach the web site.
# If you share the same log file for several virtual web
servers, this
# parameter is used to tell AWStats to filter record that
contains records for
# this virtual host name only (So check that this virtual
hostname can be
# found in your log file and use a personalized log format
that include the
# %virtualname tag).
# But for multi hosting a better solution is to have one
log file for each
# virtual web server. In this case, this parameter is only
used to generate
# full URL's links when ShowLinksOnUrl option is set to
1.
# If analysing mail log, enter here the domain name of mail
server.
# Example: "myintranetserver"
# Example: "www.domain.com"
# Example: "ftp.domain.com"
# Example: "domain.com"
#
SiteDomain="192.168.0.22"
# Enter here all other possible domain names, addresses or
virtual host
# aliases someone can use to access your site. Try to keep
only the minimum
# number of possible names/addresses to have the best
performances.
# You can repeat the "SiteDomain" value in this
list.
# This parameter is used to analyze referer field in log
file and to help
# AWStats to know if a referer URL is a local URL of same
site or an URL of
# another site.
# Note: Use space between each value.
# Note: You can use regular expression values writing value
with REGEX[value].
# Note: You can also use @/mypath/myfile if list of aliases
are in a file.
# Example: "www.myserver.com localhost 127.0.0.1
REGEX[mydomain\.(net|org)$]"
#
HostAliases="businessobjects 192.168.0.207
192.168.0.22 SRVR05 cloud-SRV-05-B 127.0.0.1 localhost"
# If you want to have hosts reported by name instead of ip
address, AWStats
# need to make reverse DNS lookups (if not already done in
your log file).
# With DNSLookup to 0, all hosts will be reported by their
IP addresses and
# not by the full hostname of visitors (except if names are
already available
# in log file).
# If you want/need to set DNSLookup to 1, don't forget that
this will reduce
# dramatically AWStats update process speed. Do not use on
large web sites.
# Note: Reverse DNS lookup is done on IPv4 only (Enable
ipv6 plugin for IPv6).
# Note: Result of DNS Lookup can be used to build the
Country report. However
# it is highly recommanded to enable the plugin 'geoipfree'
or 'geoip' to
# have an accurate Country report with no need of DNS
Lookup.
# Possible values:
# 0 - No DNS Lookup
# 1 - DNS Lookup is fully enabled
# 2 - DNS Lookup is made only from static DNS cache file
(if it exists)
# Default: 2
#
DNSLookup=2
# When AWStats updates its statistics, it stores results of
its analysis in
# files (AWStats database). All those files are written in
the directory
# defined by the "DirData" parameter. Set this value to the
directory where
# you want AWStats to save its database and working files
into.
# Warning: If you want to be able to use the
"AllowToUpdateStatsFromBrowser"
# feature (see later), you need "Write" permissions by web
server user on this
# directory (and "Modify" for Windows NTFS file
systems).
# Example: "/var/lib/awstats"
# Example: "../data"
# Example: "C:/awstats_data_dir"
# Default:
"." (means same directory
as awstats.pl)
#
DirData="."
# Relative or absolute web URL of your awstats cgi-bin
directory.
# This parameter is used only when AWStats is run from
command line
# with -output option (to generate links in HTML reported
page).
# Example: "/awstats"
# Default: "/cgi-bin" (means awstats.pl is in
"/yourwwwroot/cgi-bin")
#
DirCgi="/awstats"
# Relative or absolute web URL of your awstats icon
directory.
# If you build static reports ("... -output >
outputpath/output.html"), enter
# path of icon directory relative to the output directory
'outputpath'.
# Example: "/awstatsicons"
# Example: "../icon"
# Default: "/icon" (means you must copy icon directories in
"/mywwwroot/icon")
#
DirIcons="/awstatsicons"
3.1.3.2 Fichier de paramètre pour des logs produits par webLogic
# AWSTATS CONFIGURE FILE 6.5
#-----------------------------------------------------------------------------
# Copy this file into awstats.www.mydomain.conf and edit
this new config file
# to setup AWStats (See documentation in docs/
directory).
# The config file must be in /etc/awstats,
/usr/local/etc/awstats or /etc (for
# Unix/Linux) or same directory than awstats.pl (Windows,
Mac, Unix/Linux...)
# To include an environment variable in any parameter
(AWStats will replace
# it with its value when reading it), follow the
example:
# Parameter="__ENVNAME__"
# Note that environment variable AWSTATS_CURRENT_CONFIG is
always defined with
# the config value in an AWStats running session and can be
used like others.
#-----------------------------------------------------------------------------
# $Revision: 1.324 $ - $Author: eldy $ - $Date: 2005/10/30
15:56:38 $
#-----------------------------------------------------------------------------
# MAIN SETUP SECTION (Required to make AWStats
work)
#-----------------------------------------------------------------------------
# "LogFile" contains the web, ftp or mail server log file
to analyze.
# Possible values: A full path, or a relative path from
awstats.pl directory.
# Example: "/var/log/apache/access.log"
# Example: "../logs/mycombinedlog.log"
# You can also use tags in this filename if you need a
dynamic file name
# depending on date or time (Replacement is made by AWStats
at the beginning
# of its execution). This is available tags :
# %YYYY-n is replaced with 4 digits year
we were n hours ago
# %YY-n is replaced with 2
digits year we were n hours ago
# %MM-n is replaced with 2
digits month we were n hours ago
# %MO-n is replaced with 3
letters month we were n hours ago
# %DD-n is replaced with day
we were n hours ago
# %HH-n is replaced with hour
we were n hours ago
# %NS-n is replaced with
number of seconds at 00:00 since 1970
# %WM-n is replaced with the
week number in month (1-5)
# %Wm-n is replaced with the
week number in month (0-4)
# %WY-n is replaced with the
week number in year (01-52)
# %Wy-n is replaced with the
week number in year (00-51)
# %DW-n is replaced with the
day number in week (1-7, 1=sunday)
#
use n=24 if you need (1-7, 1=monday)
# %Dw-n is replaced with the
day number in week (0-6, 0=sunday)
#
use n=24 if you need (0-6, 0=monday)
# Use 0 for n if you need current year, month,
day, hour...
# Example:
"/var/log/access_log.%YYYY-0%MM-0%DD-0.log"
# Example:
"C:/WINNT/system32/LogFiles/W3SVC1/ex%YY-24%MM-24%DD-24.log"
# You can also use a pipe if log file come from a pipe
:
# Example: "gzip -d </var/log/apache/access.log.gz
|"
# If there is several log files from load balancing servers
:
# Example: "/pathtotools/logresolvemerge.pl *.log
|"
#
LogFile="C:/var/apache/logs/access.log"
# Enter the log file type you want to analyze.
# Possible values:
# W - For a web log file
# S - For a streaming log file
# M - For a mail log file
# F - For a ftp log file
# Example: W
# Default: W
#
LogType=W
# Enter here your log format (Must match your web server
config. See setup
# instructions in documentation to know how to configure
your web server to
# have the required log format).
# Possible values: 1,2,3,4 or
"your_own_personalized_log_format"
# 1 - Apache or Lotus Notes/Domino native combined log
format (NCSA combined/XLF/ELF log format)
# 2 - IIS or ISA format (IIS W3C log format). See
FAQ-COM115 For ISA.
# 3 - Webstar native log format.
# 4 - Apache or Squid native common log format (NCSA
common/CLF log format)
# With LogFormat=4, some features
(browsers, os, keywords...) can't work.
# "your_own_personalized_log_format" = If your log is ftp,
mail or other format,
# you must use following keys to
define the log format string (See FAQ for
# ftp, mail or exotic web log
format examples):
#
%host
Client hostname or IP address (or Sender host for mail log)
#
%host_r Receiver
hostname or IP address (for mail log)
# %lognamequot
Authenticated login/user with format: "john"
#
%logname Authenticated
login/user with format: john
#
%time1 Date
and time with format: [dd/mon/yyyy:hh:mm:ss +0000] or
[dd/mon/yyyy:hh:mm:ss]
#
%time2 Date
and time with format: yyyy-mm-dd hh:mm:ss
#
%time3 Date
and time with format: Mon dd hh:mm:ss or Mon dd hh:mm:ss yyyy
#
%time4 Date
and time with unix timestamp format: dddddddddd
#
%methodurl Method and URL with format:
"GET /index.html HTTP/x.x"
# %methodurlnoprot Method and URL with
format: "GET /index.html"
#
%method Method with
format: GET
#
%url
URL only with format: /index.html
#
%query Query
string (used by URLWithQuery option)
#
%code
Return code status (with format for web log:
999)
#
%bytesd Size of
document in bytes
# %refererquot
Referer page with format: "http://from.com/from.htm"
#
%referer Referer page with
format: http://from.com/from.htm
#
%uabracket User agent with format:
[Mozilla/4.0 (compatible, ...)]
#
%uaquot User agent
with format: "Mozilla/4.0 (compatible, ...)"
#
%ua
User agent with format: Mozilla/4.0_(compatible...)
#
%gzipin mod_gzip
compression input bytes: In:XXX
#
%gzipout mod_gzip
compression output bytes & ratio: Out:YYY:ZZpct.
#
%gzipratio mod_gzip compression ratio:
ZZpct.
# %deflateratio
mod_deflate compression 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), use this to define cluster id field.
#
%extraX Another
field that you plan to use for building a
#
personalized report with ExtraSection feature (See later).
# If your log format has some fields not
included in this list, use:
#
%other Means
another not used field
# %otherquot
Means another not used double quoted field
#
# Définition du LogFormat pour WebLogic Common
log format
#
============================================
#
LogFormat = "%host %other %logname %time1 %methodurl %code
%bytesd"
# If your log field's separator is not a space, you can
change this parameter.
# This parameter is not used if LogFormat is a predefined
value (1,2,3,4)
# Backslash can be used as escape character.
# Example: " "
# Example: "\t"
# Example: "\|"
# Example: ","
# Default: " "
#
LogSeparator=" "
# "SiteDomain" must contain the main domain name, or the
main intranet web
# server name, used to reach the web site.
# If you share the same log file for several virtual web
servers, this
# parameter is used to tell AWStats to filter record that
contains records for
# this virtual host name only (So check that this virtual
hostname can be
# found in your log file and use a personalized log format
that include the
# %virtualname tag).
# But for multi hosting a better solution is to have one
log file for each
# virtual web server. In this case, this parameter is only
used to generate
# full URL's links when ShowLinksOnUrl option is set to
1.
# If analysing mail log, enter here the domain name of mail
server.
# Example: "myintranetserver"
# Example: "www.domain.com"
# Example: "ftp.domain.com"
# Example: "domain.com"
#
SiteDomain="192.168.0.5"
# Enter here all other possible domain names, addresses or
virtual host
# aliases someone can use to access your site. Try to keep
only the minimum
# number of possible names/addresses to have the best
performances.
# You can repeat the "SiteDomain" value in this
list.
# This parameter is used to analyze referer field in log
file and to help
# AWStats to know if a referer URL is a local URL of same
site or an URL of
# another site.
# Note: Use space between each value.
# Note: You can use regular expression values writing value
with REGEX[value].
# Note: You can also use @/mypath/myfile if list of aliases
are in a file.
# Example: "www.myserver.com localhost 127.0.0.1
REGEX[mydomain\.(net|org)$]"
#
HostAliases="businessobjects 192.168.0.207
192.168.0.5 192.168.0.22 SRVR05 cloud-SRV-05-B 127.0.0.1
localhost"
# If you want to have hosts reported by name instead of ip
address, AWStats
# need to make reverse DNS lookups (if not already done in
your log file).
# With DNSLookup to 0, all hosts will be reported by their
IP addresses and
# not by the full hostname of visitors (except if names are
already available
# in log file).
# If you want/need to set DNSLookup to 1, don't forget that
this will reduce
# dramatically AWStats update process speed. Do not use on
large web sites.
# Note: Reverse DNS lookup is done on IPv4 only (Enable
ipv6 plugin for IPv6).
# Note: Result of DNS Lookup can be used to build the
Country report. However
# it is highly recommanded to enable the plugin 'geoipfree'
or 'geoip' to
# have an accurate Country report with no need of DNS
Lookup.
# Possible values:
# 0 - No DNS Lookup
# 1 - DNS Lookup is fully enabled
# 2 - DNS Lookup is made only from static DNS cache file
(if it exists)
# Default: 2
#
DNSLookup=2
# When AWStats updates its statistics, it stores results of
its analysis in
# files (AWStats database). All those files are written in
the directory
# defined by the "DirData" parameter. Set this value to the
directory where
# you want AWStats to save its database and working files
into.
# Warning: If you want to be able to use the
"AllowToUpdateStatsFromBrowser"
# feature (see later), you need "Write" permissions by web
server user on this
# directory (and "Modify" for Windows NTFS file
systems).
# Example: "/var/lib/awstats"
# Example: "../data"
# Example: "C:/awstats_data_dir"
# Default:
"." (means same directory
as awstats.pl)
#
DirData="."
# Relative or absolute web URL of your awstats cgi-bin
directory.
# This parameter is used only when AWStats is run from
command line
# with -output option (to generate links in HTML reported
page).
# Example: "/awstats"
# Default: "/cgi-bin" (means awstats.pl is in
"/yourwwwroot/cgi-bin")
#
DirCgi="/awstats"
# Relative or absolute web URL of your awstats icon
directory.
# If you build static reports ("... -output >
outputpath/output.html"), enter
# path of icon directory relative to the output directory
'outputpath'.
# Example: "/awstatsicons"
# Example: "../icon"
# Default: "/icon" (means you must copy icon directories in
"/mywwwroot/icon")
#
DirIcons="/awstatsicons"
La mise à jour des statistiques s’effectue par exécution de lignes de commandes, en se plaçant par exemple dans le répertoire d’installation de AWSTATS. Le logiciel produit un compte rendu indiquant le nombre de lignes prises en compte.
Commande type :
perl awstats.pl -config=mysite -update
La mise à jour des statistiques peut être effectuée, soit manuellement, soit de façon automatique dans le cadre d’une tâche batch. La procédure mise en place doit tenir compte de la question de la rotation des fichiers de logs et aussi des facilités de publication.
3.1.5 Publication des analyses
La publication des statistiques s’effectue par exécution de
lignes de commandes permettant de générer les fichiers HTML livrant le résultat
des analyses.
Commande type :
perl awstats.pl -config=mysite -output -staticlinks >
awstats.mysite.html
La publication des statistiques peut être effectuée, soit
manuellement, soit de façon automatique dans le cadre d’une tâche batch. La
procédure de publication doit tenir compte de la nécessité de d’une publication
à destination d’un site Web Apache.
3.1.6 Consultation des analyses
Comme indiqué plus haut, la procédure de constitution des
fichiers de publication doit tenir compte de la nécessité de publier ceux-ci sur
un site Web. La publication s’effectuera dans un site Apache, défini en
VirtualHost dans le fichier de configuration d’Apache (httpd.conf), selon
l’exemple ci-dessous :
NameVirtualHost SRVR05
<VirtualHost SRVR05>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "C:/Program
Files/AWStats/wwwroot/cgi-bin"
ServerName SRVR05
<Directory "C:/Program Files/AWStats/wwwroot/cgi-bin">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ErrorLog logs/stat-error_log
CustomLog logs/stat-access_log
combined
</VirtualHost>
Les statistiques peuvent ainsi être
consultées en tapant l’URL de publication.
Exemple :
http://SRVR05/awstats.weblogic.html
Pour aider à la lecture des résultats, AWSTATS, sur sa
première page de rapport, répartit les résultats dans 5 catégories :
- Quand?
- Qui?
- Navigation,
- Referrers,
- Autres.
3.1.7.1 QUAND
Les statistiques classées dans cette catégorie permettent
de connaître quand le domaine (site) a reçu du trafic, et quel volume de
trafic.
Section "Monthly history"
Cette section fournit une vue rapide sur le nombre de
visiteurs, le nombre de visites, le nombre de pages, le nombre d’extractions, et
la bande passante utilisée pour chaque mois de l’année considérée. Ces
informations peuvent permettre un suivi du comportement du site, en terme de
bande passante en particulier.
Section "Days
of Month"
Cette section fournit une vue journalière sur
le nombre de visiteurs, le nombre de visites, le nombre de pages, le nombre
d’extractions, et la bande passante utilisée pour chaque mois de l’année
considérée. Ces informations peuvent permettre un suivi du comportement du site,
en terme de bande passante, de baisse ou de pic trafic.
Section "Days
of Week"
Cette section fournit une vue journalière sur le nombre de
visiteurs, le nombre de visites, le nombre de pages, le nombre d’extractions, et
la bande passante utilisée par jour de la semaine.
Section "Hours"
Cette section fournit une vue journalière sur le nombre de
visiteurs, le nombre de visites, le nombre de pages, le nombre d’extractions, et
la bande passante utilisée par tranche horaire.
Section "Hosts"
La rubrique Hosts présente les
25 hôtes les plus utilisées par les visiteurs du site, avec, pour chaque machine
hôte, le nombre de pages, le nombre d’extractions, et la bande passante
utilisée
3.1.7.2 QUI
Les statistiques classées dans cette catégorie permettent
de connaître les acteurs à l'origine du trafic et leur localisation.
Section "Countries"
Sous la rubrique Countries, on
trouve les 25 premiers (en volume) pays d’appartenance des visiteurs, et pour
chacun, le nombre de pages, d’extractions, et la bande passante
utilisée.
Full List présente
les statistiques relatives aux autres pays.
Section "Hosts"
La rubrique Hosts
présente les 25 premiers hôtes utilisés par les visiteurs du site, avec, pour
chaque machine hôte, le nombre de pages, d’extractions, et la bande passante
utilisée
Full List présente la liste complète des machines hôtes
des visiteurs.
Last Visit présente
les machines hôtes en commençant par les connexions les plus
récentes.
Unresolved IP Address liste toutes les addresses IP
sans résolutions de nom.
Section " Authenticated Users "
Authenticated Users. Cette rubrique présente tous les utilisateurs
ayant procédé l’accès à des pages nécessitant une
authentification.
Sous la rubrique Full
List on trouve la liste des utilisateurs.
Last Visit présente les
utilisateurs en commençant par les connexions les plus
récentes.
Section " Robot/Spiders "
Cette rubrique indique les robots et
scrutateurs/analyseurs de sites accédant au site.
Full List fournit la liste des
robots.
Last visit présente la liste des robots,
classés de la plus récente visite à la plus ancienne.
3.1.7.3 NAVIGATION
Les statistiques classées dans cette catégorie permettent
de comprendre la navigation effectuée par les internautes, les pages parcourues,
les navigateurs utilisés.
Visit duration
Cette rubrique est supposée indiquer le temps qu’a duré la
visite. Elle est calculée uniquement si un visiteur a lu plus d’une page. Quel
que soit le temps effectif mis par un utilisateur sur une seule page, si cet
utilisateur ne parcourt pas une autre page, Visit duration sera calculé comme
étant égal à 0.
File Type
File Type indique les types de fichiers accède, et pour
chacun, le nombre d’extractions, le % par rapport au nombre total d’extraction,
et le % de bande passante. On trouve dans cette section les pages du type gif,
jpg, html, htm, phtp, etc.
Viewed
Viewed indique les
25 pages les plus lues
Full Liste présente
la liste complète de pages lues
ENTRY
Entry indique la première page vue par un visiteur lors
d’une visite. Classement selon les pages lues en premier
lieu.
EXIT
Exit indique la page par laquelle les visiteurs sortent le
plus. Classement selon les pages faisant l’objet d’un grand nombre de
sorties.
Operating Systems
Cette section fournit des indications sur les OS des
visiteurs, version par version.
3.1.7.4 REFERRERS
Les statistiques classées dans cette catégorie permettent
de savoir par quel biais les internautes atteignent le site. Elles permettent
également de découvrir quels mots clés ou expressions ont été à l'origine de
l'entrée des internautes sur le site, en partance des outils de
recherche.
Origin permet de savoir par quel biais les
visiteurs arrivent sur le site ;
Referring Search Engines indique les moteurs de
recherche ayant conduits au site.
Referring Sites indique les sites référençant votre
site.
Search montre quels mots ou phrases ont été utilise par
les moteurs de recherché pour conduire à votre site.
Search Keyphrases présente les 10 phrases les plus
utilisées pour accéder à votre site et combien de fois.
Search Keywords présente les 10 mots les plus utilisées
pour accéder à votre site et combien de fois.
3.1.7.5 AUTRES
Les statistiques classées dans cette catégorie sont
celles non couvertes par les autres classes.
Remarque : En haut de la page, il est
possible de sélectionner la date pour laquelle sont générés les rapports.
Par défaut, c'est le mois et l'année courants qui sont pris en compte. Mais on
peut changer cette date pour consulter des résultats antérieurs
3.1.7.6 Rubriques diverses
Liste des autres rubriques apparaissant
dans les rapports.
Unique Visitor:
Un "unique
visitor" est un hôte qui a effectué au moins un click sur une page du site
Web analysé, dans la période affichée. Si le visiteur identifié par cet host a
effectué plusieurs visites sur le site, il est comptabilisé une seule fois. Dans
le cas particulier où AWSTATS est utilisé dans sa forme CGI, il est possible, en
cliquant sur le bouton "year", d'obtenir un rapport concernant toute
l'année.
Visits
‘Visits’ indique le nombre total de visites effectuées par l’ensemble des visiteurs. Pour cette information, il faut d’abord penser en terme de session, c’est à dire une adresse IP accédant à une page, puis demandant d’autres pages, avec un délai de moins d’une heure entre les demandes des différentes pages. Les pages ainsi demandées font partie de la visite. C’est ainsi qu’il faut s’attendre à avoir plusieurs pages par visite, et plusieurs visites par visiteur. (On suppose aussi que certaines IP se connectent avec des delais de moins d’une heure entre les requêtes).
Pages
Pages indique le nombre de pages referencées. Les pages
comptabilisées sont celles qui ne sont pas référencées dans le paramètre
«NotPageList » ( et le cas échéant, celles
référencées dans le paramètre « OnlyFiles »). Le terme
« Pages » se rapporte aux fichiers HTML, CGI, mais pas aux fichiers
images, js, css…
Hits
Hits indique le nombre de fichiers demandés au serveur , à l’exception des fichiers référencés dans le parameter « SkipFiles ».
Bandwidth
Bandwith indique le nombre total d’octets ( pages, images, fichiers) téléchargées par la navigation.
Remarque 1 : Ce nombre inclut uniquement
le type de trafic retenu, lequel est spécifié par le paramètre « LogType ».
Remarque 2 : Ce nombre d’octets ne
comprend pas les informations d’entête des protocoles (HTTP, HTTPS, TCP,
IP.
Entry Page
Entry Page désigne la première page visualisée par un visiteur durant sa visite.
Remarque : Le nombre de « Entry
Page » peut être différent du nombre « Exit Page », lorsqu’on a
des visites à cheval sur deux mois.
Exit Page
Exit Page désigne la dernière page visualisée par un visiteur durant sa visite.
Remarque : Le nombre de « Entry
Page » peut être différent du nombre « Exit Page », lorsqu’on a
des visites à cheval sur deux mois.
Session Duration
Session Duration indique le temps qu’un visiteur passe sur le site à chaque visite.
Grabber
« Aspirateur de site »
Direct access
/ Bookmark
Représente le nombre de hits concernant les
visites arrive directement sur le site, sans provenir d’un autre site. Cela
signifie que le visiteur est arrivé sur le site :
-
En tapant directement l’URL du site ;
-
En cliquant sur l’URL du site par le biai des
favoris ;
-
En cliquant sur l’URL du site à partir d ‘un document autre
qu’une page Web ;
-
En cliquant sur l’URL du site à partir d’un
email.
3.1.8 Procédures d’exploitation
Les
procédures d’exploitation restent à définir et à construire par le projet,
soit en utilisant les outils offerts par les OS, soit en mettant en œuvre
des outils d’ordonnancement du marché .
4. Conclusion
Les outils d’analyse du trafic d’un site WEB
constituent des composantes incontournables du tableau de bord de
suivi de l’utilisation des sites applicatifs. Leur mise en place est
relativement simple, mais nécessite la mise en place, autant que possible, de
procédures automatisées de mise à jour et de
publication.










Aucun commentaire :
Enregistrer un commentaire