Jaeger

Jaeger es un sistema de seguimiento distribuido. Supervise y solucione problemas de transacciones en sistemas distribuidos complejos. Use el protocolo OpenTelemetry estándar de Devprime.

La integración con Open Telemetry es completamente nativa, en la plataforma Devprime, simplificando el viaje del desarrollador de software con el uso de este recurso, lo que agrega mucho valor en el escenario de sistemas distribuidos, permitiendo rastrear un proceso de negocio en todos los microservicios involucrados.

Las principales plataformas en la nube del mercado ya son compatibles con OpenTelemetry, lo que facilita la adopción en el entorno de producción. Existe la opción de usarlo en kubernetes o cualquier otra solución administrada.

En el contexto de nuestra demostración, usaremos un contenedor docker local para tener el recopilador de datos y la herramienta Jaeger.

Siga los pasos a continuación:

  1. Instale la Devprime CLI.

  2. Inicialice el contenedor Jaeger proporcionado en la documentación de docker.

  3. Clonar el repositorio con los dos microservicios (ms-order/ms-payment) o implemente manualmente.
    git clone https://github.com/devprime/devprime-microservices-order-payment.git.

a) Abra el archivo en Visual Studio Code dentro de la carpeta de microservicios
code src/App/appsettings.json

b) Abra el interruptor Observabilidad y verifique que la opción Habilitar sea verdadera. A continuación, vaya a la opción Trace y establezca Enable en true, Type en zipkin y Endpoint con la url del servicio. En docker local, la dirección URL tiene el valor predeterminado de “http://localhost:9411/api/v2/spans”.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 "Devprime_Observability": {
    "Enable": "true",
    "Log": {
      "Enable": "true",
      "Save": "false",
      "Type": "text",
      "FileSize": "5242880",
      "HideDetails": "false",
      "HideDateTime": "false",
      "ShowAppName": "false",
      "Path": "",
      "ShowHttpErrors": "400",
      "Export": {
        "Enable": "false",
        "Type": "seq",
        "Host": "http://localhost:5341",
        "ApiKey": "your api key",
        "ControlLevelSwitch": "Information"
      }
    },
    "Metrics": {
      "Enable": "false"
    },
    "Trace": {
      "enable": "true",
      "Type": "Jaeger",
      "Host": "localhost",
      "Port": "6831",
      "Endpoint": "http://localhost:14268",
      "Protocol": "UdpCompactThrift"
    }
  },
  1. Actualice la pila ejecutándola en la carpeta principal para detectar ambos microservicios
    dp stack

  2. Ejecute el microservicio “ms-order” y observe en el registro que la información de Open Telemetry configurada ya estará en funcionamiento. El registro ya muestra que el seguimiento está establecido en Habilitar y el tipo está establecido en “Jaeger”.

1
2
[App][Observability]["Enable"][Log "Enable"][Export "Disable"]
[Trace "Enable"][Type "jaeger"][Metrics "Disable"]

Seguimiento del seguimiento de dos o más microservicios

  1. Ejecute el microservicio ms-order y ms-payment
  2. Abra en el navegador en http://localhost:5000 y haga una o más publicaciones en /v1/order
  3. Abra Jaeger en el navegador en http://localhost:16686 y vea

Bienvenido Jaeger

  1. Revisa todos los detalles del procesamiento

Bienvenido Jaeger

Información legal:
Jaeger es una herramienta de código abierto que es compatible con el estándar Open Telemetery. Para cualquier información sobre licencias y uso, recomendamos al fabricante.

Última modificación January 10, 2024 (967dcac3)