miércoles, 5 de enero de 2011

Auditar con Alfresco

Una de las funcionalidades que más habitualmente se pide a un sistema gestor ECM es la capacidad de auditar las acciones realizadas sobre el repositorio de documentos y la obtención de estadísticas sobre los movimientos realizados en lo documentos almacenados.

Alfresco ECM incluye un framework para crear una pista de auditoría que permita recopilar la información necesaria para obtener estadísticas e informes sobre los movimientos en el repositorio de documentos. Este framework se aprovecha de la arquitectura Spring de la aplicación para utilizar un conjunto de interceptores que permiten controlar los servicios de Alfresco a nivel de método. La configuración de la auditoría se hace mediante un fichero XML donde se definen cuales serán los métodos que se auditarán.

Activación y configuración de la auditoría

La auditoría de Alfresco viene desactivada por defecto. Para activar la pista de auditoría hay que añadir las siguientes líneas al fichero alfresco-global.properties (versión 3.2 y superiores).

audit.enabled=true
audit.useNewConfig=false

Además se tiene que habilitar la configuración del servicio en el fichero tomcat/webapps/alfresco/WEB-INF/classes/alfresco/auditConfig.xml de la siguiente forma:

<Audit xmlns="http://www.alfresco.org/model/audit/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" enabled="true" auditInternal="false" mode ="all">


La configuración de qué servicios y métodos se van auditar también se hace en el fichero auditConfig.xml. Por cada servicio se crea un bloque donde se indican cuales son los métodos a auditar. Por ejemplo:

<Service name="ContentService" mode="none">
<Method name="getWriter" mode="all"/>
<Method name="getReader" mode="all"/>
<Method name="transform" mode="none"/>
</Service>

En este elemento se indica que se quieren auditar los métodos getWriter y getReader del ContentService. En cambio el método transform no se auditará.

Si se quieren auditar todos los métodos de un servicio hay que darle el valor all al atributo mode del elemento Service. Así:

<Service name="ContentService" mode="all">
</Service>

Consideraciones

La información de la auditoría se guarda en base de datos y es bastante cuantiosa, por este motivo hay que estudiar bien qué es lo que se quiere auditar antes de habilitarlo. Si el uso que se le va a dar al Alfresco es bastante elevado es mejor auditar sólo aquello que realmente se vaya a explotar de alguna forma.

Podeís encontrar más información en la wiki de Alfresco o en este interesante artículo (en francés).

Audit Surf

Precisamente leyendo uno de esos artículos descubrí una interesante utilidad para monitorizar la actividad de un Alfresco. Esta utilidad se llama Audit Surf y está disponible en la forja de Alfresco.


Esta utilidad es una aplicación Surf, que se despliega en el mismo servidor de aplicaciones donde está desplegado Alfresco Share. La aplicación presenta las siguientes funcionalidades:

  • Gráficos: presenta de forma gráfica información de conexiones de usuarios, creación de usuarios y workflows y estadísticas sobre creaciones, modificaciones y lecturas de documentos.
  • Cuadro de mandos: presenta una vista única con información sobre actividad de ficheros tal como los más leídos y modificados, las últimas incorporaciones y modificaciones. También da información sobre usuarios conectados y añadidos.
  • Monitorización: presenta información en tiempo real sobre el estado del servidor, de los repositorios y de los índices.
  • Exportación: permite generar un fichero CSV, XML o JSON con información de auditoría filtrada por fechas y por indicadores.


Esta herramienta me parece una muy buena solución para controlar la actividad del repositorio y obtener buenas estadísticas de uso de una instalación de Alfresco.

10 comentarios:

Emmerson Miranda dijo...

De aqui al BI un paso :-)

Unknown dijo...

Hola Alejandro, muy buen post. Quería preguntarte que, una vez realizado lo que indicas, ¿cómo podemos acceder a la auditoría?. ¿Sale una opción nueva en el panel de administración?.

Perdona mi torpeza, pero estoy empezando en este mundo de Alfresco.

Un saludo y muchas gracias.

Alejandro Ugartondo dijo...

Hola Manué

Para acceder a la herramienta de administración tienes dos opciones: desde el panel de administración de Alfresco Explorer o accediendo directamente a la aplicación en el contexto /auditsurf

JP dijo...

Muchas gracias Alejandro por el post. Logré configurar el sistema tal como lo describes en el post, sin embargo no logro hacer que el auditsurf funcione. Ingreso mi usuario y contraseña y conecta perfectamente, sin embargo el sistema no muestra ningún gráfico y tampoco ninguna información.

Aparece la típica pantalla de auditsurf pero con el siguiente mensaje:
Error 404 : No Encontrada
El recurso solicitado no está disponible.

Y si ingreso en el dashboard, todos los items tienen el siguiente mensaje:

Error while retrieving data

Yo tengo Alfresco Comunity 3.2r ¿funciona con esta versión de Alfresco?

Si me puedes ayudar te lo agradecería

Saludos

Juan Pablo Cisternas

Alejandro Ugartondo dijo...

Hola JP

Hasta donde yo sé la versión disponible de AuditSurf funciona con Alfresco 3.3.

El módulo de auditoría ha cambiado de la versión 3.2 a la 3.3 y por eso no te debe funcionar bien.

JP dijo...

Ufff muchas gracias Alejandro.. ¿conoces algun otro sistema, programa o algo para auditar alfresco comunity 3.2r?

Gracias por tu ayuda

Fernando dijo...

Gracias por la información, he logrado instalar el addon y el error del 404 lo solucione borrando los archivos temporales de Tomcat. Lo que no veo que hace es auditar los archivos cuando son eliminados, como activo esa opción? gracias.

Alejandro Ugartondo dijo...

Hola Fernando, la configuración que necesitas, para qué versión de Alfresco es? El sistema de auditoría cambió en la versión 3.4 y es muy diferente al de las versiones anteriores

Unknown dijo...

Hola Alejandro,
Yo soy una de las Raras en este mundillo, ya que tengo una version 4.1.2 enterprise y en "Windows!!" por lo que el 90% de las cosas no las puedo usar. Sabes si podría usar AuditSuf para esta plataforma? conoces algun otro programa de auditoria que me pueda servir?

Mil gracias!

Alejandro Ugartondo dijo...

Hola Susana

Puedes probar con alguno de los addons que hay disponibles en la web de Alfresco, como este: http://addons.alfresco.com/addons/alfresco-audit-analysis-and-reporting-aaar