Access statistics

Cada proyecto y chapter alojado dentro de la comunidad Morfeo dispone de una página personalizada de estadísticas que pueden ofrecer al administrador del proyecto y a cualquier visitante una información que permita estimar la relevancia de dicho proyecto.

Estas estadísticas cumplen los siguientes requisitos:

  • Cada blog de cada proyecto dispone de un enlace a las estadísticas de acceso al propio blog, sin tener en cuenta los accesos realizados a la wiki y forja del mismo.
  • Cada chapter cuenta con una página personalizada de estadísticas, que agrupa tanto las estadísticas del propio blog del chapter como la de los proyectos que cuelgan de el. De la misma forma que el punto anterior, no están contabilizados los accesos a la wiki ni a la forja de dichos proyectos.
  • El blog principal de la comunidad (blog de Morfeo) dispone de las estadístcas globales de la comunidad, que agrupan todos los acceso a blogs, wiki y forja de todos los proyectos y chapters de la comunidad Morfeo.

Estas estadísticas se generan por medio de la herramienta Awstats. Awstats extrae a partir del log de acceso de Apache los datos que se consideran de interés y crea a partir de ellos las estadísticas. Cómo extraer dichos datos de interés se establece por medio de ficheros de configuración.Cada acceso a *.morfeo-project.org (excepto a ezforge.morfeo-project.org) queda reflejados en el fichero log /var/log/apache2/access.log. Dicho log es el que se analiza para obtener las estadísticas y cada una de sus entradas tiene el siguiente formato definido:

LogFormat? “%h %l %u %t \”%m %v%U%q %H\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\” %v” stat

Para configurar las estadísticas de cada proyecto y chapter existe un fichero de configuración global (/etc/awstats/awstats.conf.generic) que contiene la configuración de los parámetros comunes a todos los proyectos/chapters. Además de dicho fichero existe un fichero por cada chapter/proyecto que especifica el dominio de interés y los alias de dicho dominio. Estos dominios se utilizan para filtrar del log de acceso aquellos accesos que son de interés. Por ejemplo, el fichero de configuración del proyecto EzWeb tendrá especificado el dominio ezweb.morfeo-project.org y todos sus alias para que las estadísticas que se generen sean relativas a dichos dominios. Un ejemplo del formato de este fichero es el siguiente:

SiteDomain=”ezweb.morfeo-project.org”

HostAliases=”REGEX[ezweb\.morfeo-project\.(net|org|com|eu|es)$] REGEX[www\.ezweb\.morfeo-project\.(net|org|com|eu|es)$] REGEX[ezweb\.morfeoproject\.(net|org|com|eu|es)$] REGEX[www\.ezweb\.morfeoproject\.(net|org|com|eu|es)$] REGEX[ezweb\.proyecto-morfeo\.(net|org|com|eu|es)$] REGEX[www\.ezweb\.proyecto-morfeo\.(net|org|com|eu|es)$] REGEX[ezweb\.proyectomorfeo\.(net|org|com|eu|es)$] REGEX[www\.ezweb\.proyectomorfeo\.(net|org|com|eu|es)$]”

Include “/etc/awstats/awstats.conf.generic

Por otro lado las estadísticas globales de la comunidad se configuran de forma independiente en un único fichero (/etc/awstats/awstats.morfeo.conf).

Una vez están creados dichos ficheros se debe invocar a Awstats para que se analice el log y se generen las estadísticas. Como esta es una tarea lenta y periódica (se debe invocar para cada proyecto/chapter a analizar), se realiza una vez al día por medio de una tarea cron.

Dicho script recorre el directorio /etc/awstats e invoca al generador de estadísticas por cada fichero de configuración. Esta invocación se realiza en dos pasos, un primer paso para obtener los datos relevantes a partir del log y un segundo paso para generar los ficheros html a partir de los datos extraídos.

Hay un tema a reseñar que provoca que se dificulte la creación de estadísticas, que es el hecho de que el dominio ezforge.morfeo-project.org está en una máquina diferente, y por lo tanto su log de accesos. Para poder disponer de dicha información, el script mencionado anteriormente, obtiene mediante una petición http dicho log y realiza su análisis, para obtener las estadísticas de ezforge, y además lo mezcla con el log general de acceso para permitir que las estadísticas generales de la comunidad sean completas.

Tags:

Website stats

All projects and chapters of the Morfeo Community have now a comprehensive statistical breakdown of the access to their blogs. Each chapter takes the statistics of its children, as well as Morfeo takes the access information of every hosted project. This information is available from the stats tab placed in the top bar of each blog.