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.

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:

   <appender name="consola" class="org.apache.log4j.ConsoleAppender">
     <param name="Target" value="System.out" />
     <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="${pattern_console}" />
     </layout>
   </appender>
 
   <appender name="fichero" class="org.apache.log4j.rolling.RollingFileAppender">
      <rollingPolicy name="file" class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
        <param name="FileNamePattern" value="${log.directory.path}/${log.rolled.directory.path}/${log.file.name}.%d{yyyy-MM-dd}.log.gz" />
        <param name="ActiveFileName" value="${log.directory.path}/${log.file.name}.log" />
       </rollingPolicy>
       <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%d{DATE} [%X{session}] %3p %c{1}:%M:%L - Usuario: %X{username} - %m%n" />
	</layout>
   </appender>

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

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).

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.


Ramón Ginel Gea 04/01/2021

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: <code> 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 — Tu Nombre dd/mm/yyyy

  • fdw2.0/fundeweb2.0/gt/configurar_lagar_fundeweb.txt
  • Última modificación: 23/03/2021 10:04
  • por RAMON GINEL GEA