===== Introducción =====
LAGAR es la aplicación/stack proporcionada por ATICA para la recolección, parseo, almacenamiento y análisis de ficheros de logs de aplicaciones.
Está basada en la pila de tecnologías ELK (ElasticSearch, Logstash y Kibana).
En esta Wiki vamos a tratar el primer paso para poder trabajar con LAGAR: configurar nuestra aplicación FundeWeb.
Solo se procesan los ficheros de log de **Producción**.
El coste de recursos que supone el almacenamiento y análisis de todos los ficheros de logs es elevado. Además, la utilidad de la herramienta es obtener información real de la interacción de los usuarios finales con cada aplicación.
===== Configurar Aplicación =====
Las clases para la integración con Lagar vienen incluidas en la librería fundeweb-log4j a partir de las versiones fundeweb-log4j-1.5.7 (para FundeWeb 1.X) y fundeweb-log4j-2.0.5 (para FundeWeb 2.X).
Si nuestra aplicación ya está trabajando con alguna de estas versiones de la librería, o con una versión posterior, solo es necesario modificar el patrón del log a escribir y realizar algunas comprobaciones:
**1**. Revisar los ficheros **filtro-desarrollo.properties**, **filtro-preproduccion.properties** y **filtro-produccion.properties** y comprobar que la propiedad **log.file.name** tiene el siguiente valor:
log.file.name=[nombreaplicacion]-application
¡ATENCIÓN! Hay que mantener [nombreaplicacion] como estuviera antes de la migración y prestar especial cuidado en el **guión** de la variable **log.file.name**. Debe ser un guión medio, p.ej.: **unica-application**
**2**. Modificar el fichero **log4j.xml**:
En el appender **fichero**, el valor del parámetro **ConversionPattern** debe ser:
%d{DATE} [%X{session}] %3p %c{1}:%M:%L - Usuario: %X{username} - %m%n
__Ejemplo de configuración:__
**3**. Una vez desplegados los cambios en cada entorno, hay que loguearse en nuestra aplicación y revisar que las líneas de log salen con el nuevo formato:
21 dic 2018 11:37:50,251 [KELQV7vT5Bl-oRvdv4OhdSZcvOLW5fUZuNhkzLiVOAZom8wXc_6x!-1551189648!1545388669907] INFO LagarEvents:45 - Usuario: ramon.ginel@ticarum.es - [155.54.67.188] - [Chrome-71.0.3578.98] - [Windows 7 - PC-AMD 64bits]
21 dic 2018 11:37:50,418 [KELQV7vT5Bl-oRvdv4OhdSZcvOLW5fUZuNhkzLiVOAZom8wXc_6x!-1551189648!1545388669907] WARN FacesMessages:77 - Usuario: ramon.ginel@ticarum.es - An empty message is ignored
**¡ATENCIÓN!** Si el despliegue en __producción__ **NO** se realiza a través de Jenkins o GitLab, hay que comprobar que el fichero **log4j.xml** del repositorio SVN de **web_prod** tiene el patrón correcto
** %d{DATE} [%X{session}] %3p %c{1}:%M:%L - Usuario: %X{username} - %m%n**
===== Configurar LAGAR =====
Una vez terminada la configuración de la aplicación y comprobado que los logs se están escribiendo con el formato nuevo, hay que poner un JIRA a MNCS (DJ-AT-MNCS) para que gestionemos el alta de la aplicación en LAGAR.
**Recordatorio:** Aunque el patrón de log4j se puede configurar en cualquier momento, solo debe solicitarse el alta para aplicaciones ya puestas en producción (o en su última fase de implantación).
===== WiKis Relacionadas =====
* [[https://wiki.um.es/wikis/lagar/doku.php?id=guia_desarrolladores|Guía Técnica para desarroladores para el uso de Kibana]]
* [[https://wiki.um.es/wikis/lagar/doku.php?id=guia_lagartest|Entorno de desarrollo LAGARTEST]]
===== FAQs =====
=== Carga de Logs BAJO DEMANDA ===
En ocasiones, para realizar alguna auditoria o un informe, es necesario realizar un análisis de logs antiguos que ya no aparecen en LAGAR.
**Solución** \\
Solicitar una **CARGA BAJO DEMANDA** a Telemática para que vuelquen la información deseada en LAGAR vía jira con los siguientes datos:
* **Proyecto**: DJ-AT-Telemática \\
* **Componente**: LAGAR \\
* **Título**: [LAGAR] Carga BAJO DEMANDA de la aplicación [NUESTRA_APLICACION] \\
* **Descripción**: \\
* [NUESTRO_GRUPO_DE_DESARROLLO] - [NUESTRA_APLICACION] \\
* [Fecha Inicio Carga] - [Fecha Fin Carga] (Rango de fechas a cargar) \\
* Enriquecimiento de Logs: No/Sí (Elegir una opción, por defecto **NO**. Sí para añadir información del directorio sobre los usuarios)
\\
La información cargada __no es permanente__. Pasado un tiempo razonable Telemática borrará la carga.
\\
//[[ramon.ginel@ticarum.es|Ramón Ginel Gea]] 04/01/2021 //
===== Solicitud/Registro de FAQ =====
Pon aquí tus propuestas de FAQs, indicando qué problema tienes, y buscaremos la solución lo antes posible. Si además lo has resuelto, puedes indicar cómo lo has hecho.
Formato de petición de FAQ:
**Título**
//Descripción del problema//
//Tecnología afectada (Fundeweb 1/2)//
//Cómo reproducir el error//
**Solución**
//Descripción de la solución//
Tus datos de contacto --- //[[correo@umOticarum.es|Tu Nombre]] dd/mm/yyyy //