Después de tener varios días awstats ejecutándose en mi servidor "laika" la realidad es que es demasiado pesado para él. Laika tiene 200 Mb de RAM, va a 990Mhz y tiene arrancados varios VirtualHosts de Apache, Gregarius, Gallery2, mldonkey, algunos gotmail...así que va muy justo de memoria y el consumo de awstats que es un script en Perl lo ha superado, tarda demasiado tiempo en procesar los logs y el tiempo de mostrar en el browser las estadísticas es considerable.
Así pues me he decidido a instalar Webalizer y he podido comprobar que los tiempos han mejorado considerablemente.A continuación explico cómo lo configuré todo para obtener estadísticas de varios de mis VirtualHosts.
Índice:
00. Introducción e Instalación en Debian.
01. Configuración de Apache.
02. Configuración de Webalizer.
03. cron.
04. Viendo las estadísticas.
00. Introducción e Instalación en Debian.
Webalizer se basa en unos pasos muy similares a los de awstats:- lectura de unos ficheros de entrada (en este caso serán los ficheros access.log de Apache2), para ello es necesario que Apache los genere.
- A partir de los ficheros de entreda awstats genera ficheros .html estáticos.
- Cuando se hace una llamada para que nos muestre en un Navegador las estadísticas, se muestra los resultados en el HTML estático ya generado.
La instalción en Debian es:
apt-get install webalizer
(Yo uso Debian stable, y como no he probado la instalación para otros sistemas no voy a poner instrucciones, si alguien quiere aportar otros modos de instalción para otros Sistemas que no dude en enviar un comentario ;-) ).
01. Configuración de Apache.
Para tener estadísticas de varios VirtualHosts lo más conveniente es tener varios access.log de Apache, estos ficheros serán el "input" de datos de Webalizer.
Para tener varios ficheros access.log sólo es necesario añadir los CustomLog que necesitemos a cada VirtualHost, por ejemplo en mi caso:
|
En
/etc/apache2/conf.d/drupal.conf:
<VirtualHost *> DocumentRoot /usr/share/drupal/
ServerName www.nosotrosmismos.org
ServerAlias nosotrosmismos.org
CustomLog /var/log/www.nosotrosmismos.org/access.log combined
</VirtualHost>
<VirtualHost *> DocumentRoot /usr/share/drupal/
ServerName www.libresoftware.com
ServerAlias nosotrosmismos.org
CustomLog /var/log/www.libresoftware.com/access.log combined
</VirtualHost>
|
02. Configuración de Webalizer.
Necesitaremos varios ficheros de configuración de Webalizer donde indicaremos para cada VirtualHost cuál es el fichero access.log que debe de leer (entre otras muchas opciones las cuales he dejado casi todas con lo que había por defecto).Los ficheros que he generado han sido:
/etc/webalizer.www.nosotrosmismos.org.conf
/etc/webalizer.www.libresoftware.com.conf
Y lo único que he tenido que indicar ha sido:
| /etc/webalizer.www.nosotrosmismos.org.conf ... LogFile /var/log/www.nosotrosmismos.org/access.log OutputDir /var/www/estadisticas_nosotrosmismos ReportTitle Estadisticas www.nosotrosmismos.org HideSite *laika HideReferrer laika/ ... /etc/webalizer.www.libresoftware.com.conf ... LogFile /var/log/www.nosotrosmismos.org/access.log OutputDir /var/www/estadisticas_libresoftware ReportTitle Estadisticas www.libresoftware.com HideSite *laika HideReferrer laika/ ... |
03. cron
Con el paso anterior ya le hemos dicho a Webalizer de dónde obtendrá los datos de entrada, ahora hay que decirle a Webalizer cada cuánto debe leer estos datos y generar sus propias estadisticas.El modo más cómodo para esto es con cron, le diremos que cada 10 minutos lea los ficheros access y genere las estadísticas de acceso oportunas.
| /etc/conr.d/webalizer 10,30,50 * * * * www-data /usr/bin/webalizer -c /etc/webalizer.www.nosotrosmismos.org.conf -N 10 -D dns_cache.db 10,30,50 * * * * www-data /usr/bin/webalizer -c /etc/webalizer.www.libresoftware.com.conf -N 10 -D dns_cache.db |
OJO: es muy importante que tengamos en cuenta que el usuario www-data debe tener permisos de acceso a los ficheros de access.log
El parámetro "-c" sirve para indicar a webalizer cuál es el fichero .conf que debe de usar.
04. Viendo las estadísticas.
Para ver las estadísticas sólo será necesario apuntar el browser a la ruta que hemos indicado como out en el fichero .conf, en nuestro caso:
http://laika/estadisticas_nosotrosmismos
http://laika/estadisticas_libresoftware


Comments
Almacena la información por más de un año
Hola,
Actualmente estoy trabajando con AWStats, me parece muy buena herramienta, pero necesito hacer comparaciones con años anteriores y AWStats no almacena datos de años anteriores,y ahora ando en busqueda de otro analizador de log, es por esto que te pregunto ¿Webalizer, puede almacenar esta información?
Espero me puedan ayudar.
Yenin
Mas de un año es posible con un parche
Es posible, hay que aplicar este parche:
http://www.isthe.com/chongo/src/webalizer-patch/README-FIRST
Almacena la información por más de un año
Hola,
Actualmente estoy trabajando con AWStats, me parece muy buena herramienta, pero necesito hacer comparaciones con años anteriores y AWStats no almacena datos de años anteriores,y ahora ando en busqueda de otro analizador de log, es por esto que te pregunto ¿Webalizer, puede almacenar esta información?
Espero me puedan ayudar.
Yenin
Magnífico
Me he estado quebrando la cabeza un buen rato con awstats para un par de virtual hosts que tengo y al final he visto tu tutorial, y me ha rulado a la primera, así que paso de awstats
Muchas gracias
Para eso estamos
Me alegro que te funcionara, a mi también me dió muchos quebraderos de cabeza, por eso cuando me funciné lo colgué en el Blog también como recordatorio por si lo tengo que volver a hacer otra vez y no me acuerdo :-)
Excelente articulo
El articulo me a parecido muy útil, lo he implementado en mi hosts de monedas y numismatica y oDot Internet y me funciona de forma impecable. Gracias.
Re: awstats
Tienes razon, voy a corregirlo ahora mismo. Se me colo en el copy+paste del apartado de webalizer a awstats.
Muchas gracias.
awstats
Hola, muy interesante el artículo, que aun no he podido probar. Sólo decirte que creo que en algunas ocasiones cuando pones awstats quieres decir webalizer...
en el punto 2: configuración de awstats y en el nombre de fichero de cron
Saludos y gracias por el artículo.
Enviar un comentario nuevo