- Creado por Ramón Ginel Gea, actualizado por última vez el jun 08, 2021 3 min de lectura
Estás viendo una versión antigua de esta página. Ve a la versión actual.
Comparar con el actual Ver el historial de la página
« Anterior Versión 23 Siguiente »
En esta página se pretende identificar los distintos tipos de log que podemos encontrar en los index-pattern de cada aplicación FundeWebJS en LAGAR, así como describir cada campo para poder conocer en profundidad la estructura de dichos logs.
Además, se enumerará el listado de objetos predeterminados (consultas, visualizaciones y paneles) que se proporciona desde MNCS cuando se realiza el alta de la aplicación en LAGAR.
Por último se explicará cómo loggear en nuestro backend java para que aparezcan en LAGAR automáticamente nuevos campos por los que poder consultar y filtrar de manera más ágil y eficiente.
1. Descripción de LOGS
Lo primero que hay que mencionar a la hora de hablar de los logs en FundeWebJS es que nuestras aplicaciones pueden tener parte front en VUE (aplicación UI) y parte backend en Java/Spring Boot (aplicación API).
Esto implica que tenemos dos servidores web (uno para la parte UI y otro para API) que están mandando logs al mismo index-pattern de nuestra aplicacion en LAGAR.
Un index-pattern en LAGAR es la colección de todos los índices de nuestra aplicación en un mismo entorno. Por ejemplo, si tenemos un index-pattern k8s-consultaexp-ns-desa@*, este index-pattern contendrá todos los logs de la aplicación "Consulta de Expedientes" en el entorno de desarrollo.
Dicho esto, podemos distinguir los siguientes tipos de log.
Tipos de LOGS:
Logs de peticiones HTTP (Accesslog). El típico log access de apache que podemos encontrar en nuestras aplicaciones FundeWeb normales. Por ejemplo: Fichero accesslog de Portalfundeweb.
Ejemplo Accesslog155.54.228.21 - - [07/Jun/2021:17:32:55 +0000] "GET /consultaexpedientes/rest/v1.0/private/titulaciones/XXXXXXX HTTP/1.1" 200 769 "https://micampusdesa.um.es/consulta/expedienteacademico/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36" "155.54.67.188" 340
Logs del backend Java/Spring-Boot (Log4j2). El log java habitual de nuestros servicios en la parte API, configurados como se indica en la página: 12. Logs en Spring Boot. En equivalente FundeWeb, el habitual log application de nuestra aplicación.
Ejemplo log backend java{ "line_number": 377, "class": "es.um.atica.consultaexpedientesbackend.rest.RestExpedientes", "@version": 1, "source_host": "consultaexp-api-deployment-desa-5499587c9f-kx8gs", "message": " ############################################### titulaciones: XXXXXXX", "thread_name": "http-nio-8080-exec-10", "_@timestamp": "2021-06-07T17:32:54.983+00:00", "level": "INFO", "file": "RestExpedientes.java", "method": "getTitulaciones", "logger_name": "es.um.atica.consultaexpedientesbackend.rest.RestExpedientes" }
Tanto UI como API mandan a LAGAR logs de tipo Accesslog.
Solo API manda a LAGAR logs de tipo Log4j2.
-"Vale, pero ¿cómo se yo de qué tipo es cada log de forma rápida?"
En cada registro de LAGAR para aplicaciones FundeWebJS tenemos dos campos que nos indicarán rápidamente el tipo de log con el que estamos trabajando:
- kubernetes.log.type: Tiene los valores:
- kube_apli => El log es de tipo Log4j2 (backend java)
- kube_acces_log => El log es una petición HTTP (acesslog)
- kubernetes.container_name: Tiene los valores:
- api => El log proviene del servicio API
- ui => El log proviene del servicio UI
Con la combinación de estos campos podemos saber el tipo de log y el servicio que está generando el log.
Ejemplo: "Quiero ver todos los logs de mi servicio en el backend java" => Establecemos el filtro kubernetes.log.type: kub
Desde MNCS se proporcionan varias consultas guardadas donde están configurados filtros sobre estos campos. Se mostrarán en el siguiente apartado.
-"Vale, pero cada log tiene muchos campos ¿cómo se yo a qué corresponde cada campo?"
Efectivamente, los logs de aplicaciones FundeWebJS se almacenan en LAGAR como un gran documento JSON.
Este documento
- describir campos kubernetes
- describir campos access
- describir campos backend
2. Objetos predeterminados en LAGAR
- consultas desa
- consultas test
- consultas prod
- panel k8s
- panel backend
- panel access
3. Añadir campos automáticamente
Artículos Relacionados
No hay ningún contenido con las etiquetas especificadas
TIPOS DE LOGS EN LAGAR SEGÚN ORIGEN

- Sin etiquetas