I log di Apache
Apache prevede diverse direttive per gestire i log:
LogLevel warn
- Imposta il livello di debug per le attività di Apache (non si applica ai log di accesso web)
TransferLog /var/log/httpd/access_log
- Imposta il path del file di log degli accessi
ErrorLog /var/log/httpd/error_log
- Path del log di ogni richiesta che ha generato un errore
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
- Definisce un formato di log custom chiamato, in questo caso "combined"
CustomLog /var/log/httpd/access_log combined
- Utilizza il log "combined" com il formato precedentemente definito.
Oltra al nome del file di log, nelle suddette direttive è possibile specificare syslog
per usare Syslogd oppure una sintassi come CustomLog "|/usr/bin/gzip -c >> /var/log/access_log.gz" common
per passare in input al programma indicato i log (in questo caso il log viene compresso on the fly.
La rotazione dei log è spesso indispensabile in siti ad alto traffico, esistono diversi programmi per gestirla. Su alcune distribuzioni è presente Logrotate che provvede automaticamente (vanno eventualmente adattate le configurazioni custom alle proprie esigenze). Altri tool sono Cronolog o rotatelogs (distribuito con Apache).
In tutti i casi è importante considerare che dopo aver rinominato un log è necessario riavviare (reload o kill -HUP) il servizio Apache.
Strumenti di Analisi Log
Esistono diversi strumenti di analisi e reportistica degli accessi web, basati sui log di Apache.
I più significativi, fra quelli OpenSource:
Webalizer - http://www.webalizer.org/
AWStats - http://www.awstats.org/
Analog - http://www.analog.cx/