Zipkin

Zipkin es un sistema de seguimiento distribuido. Ayuda a recopilar los datos de tiempo necesarios para solucionar problemas de latencia en las arquitecturas de servicio. Las características incluyen la recopilación y búsqueda de estos datos. 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 Open Telemetry, 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 Zipkin.

Siga los pasos a continuación:

  1. Instale la Devprime CLI.

  2. Inicialice el contenedor Zipkin 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.

  4. Actualice la pila ejecutándola en la carpeta principal para detectar ambos microservicios
    dp stack

  5. Localice el archivo de configuración en la carpeta de cada microservicio que en este ejemplo mencionado en el ítem 2 usaremos “ms-order” y “ms-payment”.

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
 "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": "zipkin",
      "Endpoint": "http://localhost:9411/api/v2/spans"
    }
  },
  1. 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 “ZipKin”.
1
2
[App][Observability]["Enable"][Log "Enable"][Export "Disable"]
[Trace "Enable"][Type "zipkin"][Metrics "Disable"]

Seguimiento del seguimiento de un microservicio

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

Bienvenido Zipkin

  1. Revisa todos los detalles del procesamiento

Bienvenido Zipkin

Seguimiento del seguimiento de dos o más microservicios

  1. Ejecute ambos microservicios (ms-order / ms-payment)
  2. Publicar en el microservicio ms-order
  3. Ver detalles sobre Zipkin

Bienvenido Zipkin

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

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