Awstats en tomcat

Supongo que conoceréis el sistema de estadísticas Awstats. Para mi es uno de los más sencillos y mejores que hay, aunque nunca lo utilizo en tiempo real, sino que genero las estadísticas por la noche tras hacer el rotado de los logs y de manera estática para no sobrecargar al servidor.

Normalmente las usamos con el servidor HTTP de apache, pero en este caso os voy a explicar cómo hacerlo sobre el servidor de Servlets Apache Tomcat.

Después de tener descargado el awstats y asegurarnos que tenemos correctamente instalado el tomcat y perl en nuestro servidor empezaremos por configurar los logs del tomcat para que nos dejen un log de los accesos a nuestro servidor. Para ello debemos encontrar en el directorio de instalación del Tomcat, en el subdirectorio conf el fichero server.xml y al final del mismo encontraremos comentado lo siguiente:

<!--
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs"  prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->

Simplemente tendremos que descomentar este código y cambiar “common” por “combined” que nos dará una mayor información para luego realizar el procesamiento de los logs, quedando de la siguiente forma:

<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="combined" resolveHosts="false"/>

Ahora pasamos a configurar el awstats. Podemos usar la utilidad “awstats_configure.pl” que nos irá preguntando los datos de los directorios y configuración de nuestro servidor, o directamente crear un fichero de configuración copiando el modelo que viene y cambiando los siguientes parámetros:

LogFile="[Directorio Tomcat]\logs\localhost_access_log.%YYYY-24-%MM-24-%DD-24.txt"
LogType=W
LogFormat=1
LogSeparator=" "
SiteDomain="127.0.0.1" [O el nombre DNS como www.ejemplo.es]
HostAliases="127.0.0.1 localhost www.ejemplo.es"

DirData=”[Directorio donde queremos que deje los ficheros de datos del awstats]”
AllowToUpdateStatsFromBrowser=0

A continuación debemos preparar el sistema para que ejecute el programa awstats cada día con el fin de que procese el fichero de logs de acceso y genere las estadísticas. En un equipo linux podemos usar el crontab o en windows el Task Scheduler por ejemplo. En el caso de linux tendríamos un script que generase las estadísticas en páginas html estáticas en el directorio [Directorio de los informes] como el siguiente:

perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -update -showdropped -showcorrupted
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output -staticlinks > [Directorio de los informes]/index.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=alldomains -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].alldomains.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=allhosts -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].allhosts.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=lasthosts -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].lasthosts.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=unknownip -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].unknownip.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=alllogins -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].alllogins.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=lastlogins -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].lastlogins.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=allrobots -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].allrobots.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=lastrobots -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].lastrobots.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=urldetail -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].urldetail.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=urlentry -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].urlentry.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=urlexit -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].urlexit.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=browserdetail -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].browserdetail.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=osdetail -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].osdetail.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=unknownbrowser -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].unknownbrowser.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=unknownos -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].unknownos.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=refererse -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].refererse.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=refererpages -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].refererpages.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=keyphrases -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].keyphrases.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=keywords -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].keywords.html
perl [Directorio instalación awstats]/wwwroot/cgi-bin/awstats.pl -config=[Dominio www.ejemplo.es] -output=errors404 -staticlinks > [Directorio de los informes]/awstats.[Dominio www.ejemplo.es].errors404.html

Si además queremos que esté visible en la web tendremos que generar estos informes dentro de una carpeta accesible desde el tomcat y copiar la carpeta “icon” que está tentro del directorio “[Directorio del awstast]/wwwroot” a la carpeta “[Directorio instalación Tomcat]/webapps/ROOT” y renombrar “icon” a “awstatsicons”.

Espero que os sirva como a mi.

webmaster

Grupo web de la Universidad de Valladolid - STIC

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *