Si has llegado aquí sin saber lo que es el Rastreo Distribuido ni Spring Cloud Sleuth, visita esta página, lee la introducción y vuelve.

En esta página se va a mostrar los campos que se añaden a nuestros logs en LAGAR cuando se ha configurado el rastreo distribuido con Sleuth, así como un ejemplo práctico de petición y visualización de logs.

Introducción

Como se mencionaba en la página de configuración, al trabajar con Sleuth se crean dos campos en nuestros logs:

Se puede ver un ejemplo de cómo funcionan los campos traceId y spanId en la siguiente imagen:

Ejemplo de propagación de trazas entre servicios.


De esta forma podemos tracear una misma petición entre todos los microservicios que se van invocando desde el origen.

LAGAR


En LAGAR, los logs de nuestra aplicación ahora tendrán estos dos campos:

log_processed.mdc.traceId

log_processed.mdc.spanId


Ejemplo de Rastreo Distribuido


  1. Pongamos que nos logueamos en https://micampus.um.es y accedemos a "Mis Certificados" - "Nuevo certificado".



  2. Vamos a https://lagar.um.es para ver los logs que se han generado en la aplicación aulavirtual/mis-certificados-api:





    Como se puede observar, en esta primera petición se han creado los campos log_processed.mdc.traceId y log_processed.mdc.spanId con el mismo valor: 0bc3a81f8efdcac5
  3. Si tenemos alguna incidencia, o creemos que hay algún error en alguno de los servicios que se invoca, podemos decirle a los responsables de ese servicio (o a MNCS):
    - Oye! mírame en el entorno X los logs con la traza log_processed.mdc.traceId=0bc3a81f8efdcac5, deben pertenecer al usuario log_processed.mdc.UMU-Token-Subject=ramon.ginel@ticarum.es  
    Por ejemplo, vamos a ver los logs de rrhh/serviciosrrhh-api:


    En los logs de rrhh/serviciosrrhh-api, podemos ver que para nuestra traza 0bc3a81f8efdcac5, tenemos dos bloques de logs con spanId diferentes.
    Esto es debido a que desde aulavirtual/mis-certificados-api, a partir de nuestro traza, se han realizado dos llamadas a serviciosrrhh-api:
    - Una llamada a  /rrhh/serviciosrrhh-api/private/v1/afiliacion/ (a través de la librería fundewebjs-serviciosrrhh-client), que genera el spanId = 06845fe6cda1109e
    -
    Una llamada a /rrhh/serviciosrrhh-api/private/v1/certificados/consultables, que genera el spanId = 6cbc8d8d68cc721e.

  4. Si queremos, podemos seguir "traceando", pidiendo a los responsables del resto de servicios los logs generados a partir de nuestra traza.

Artículos Relacionados

Aquí aparecen artículos relacionados sobre la base de las etiquetas que usted seleccione. Haga clic para editar la macro y añadir o modificar las etiquetas.



Incidencias similares