Antes de revisar este artículo, necesitas desplegar un entorno Jaeger, de la siguiente manera:
Protocolo OpenTracing
OpenTracing es un protocolo de seguimiento distribuido que es independiente de la plataforma o lenguaje, con una interfaz unificada, lo cual resulta conveniente para el desarrollo y acceso a diferentes sistemas de seguimiento distribuidos.Zipkin y Jaeger siguen ambos el protocolo OpenTracing。
Sistema de seguimiento distribuido Jaeger
Jaeger es un sistema de seguimiento distribuido desarrollado por Uber que ya se está utilizando a gran escala en Uber. Y se unió a la organización de código abierto CNCF el 13 de septiembre de 2017. Usar Jaeger puede visualizar la cadena de llamadas de todo el sistema distribuido, lo que puede identificar y resolver fácilmente problemas:
función
- Difusión de información en un entorno distribuido
- Monitorización distribuida de transacciones
- Demuestra cadenas de llamadas entre procesos
- Optimización del rendimiento
- Localiza el problema
característica
- La ventaja de usar UDP para transmitir datos en comparación con HTTP es que no tienes que preocuparte por inactividad del servicio Jaeger ni por problemas de transmisión de red que afecten al negocio normal. La desventaja es la pérdida de paquetes, que afecta a toda la cadena de llamadas.
- Los datos se serializan mediante Thrift o protobuf (transmisión gRPC), que es el valor predeterminado: Thrift.
Estrategia de cobro
- ConstSampler, colección completa
- ProbabilisticSampler, colección de probabilidades, por defecto 1 de cada 10.000
- RateLimitingSampler es una adquisición limitante de velocidad que solo puede recopilar una cierta cantidad de datos por segundo
- RemotelyControlledSampler es una estrategia dinámica de recogida que ajusta la estrategia de recogida según el número de visitas al sistema actual
ASP.NET Core está conectado al trazado de enlaces Jaeger
El proyecto es un framework para .NET Core 3.1, y Nuget instala los siguientes paquetes:
Entre ellas, OpenTracing.Contrib.NetCore proporciona la herramienta OpenTracing para aplicaciones basadas en .NET Core, que es simplemente una extensión, y la monitorización principal es la siguiente:
- ASP.NET Núcleo
- Núcleo del Marco de Entidades
- System.Net.Http (HttpClient)
- System.Data.SqlClient
- Microsoft.Data.SqlClient
En el archivo de arranque, el método ConfigureServices se configura de la siguiente manera:
Llamar a ITracer en los registros del controlador de HomeController y el código que consume tiempo es el siguiente:
Abre la web, visita la página /Home/Index y luego consulta el enlace a través de la interfaz online de Jaeger para visitar:http://127.0.0.1:16686/, puedes buscar prime por etiquetas, como se muestra en la figura siguiente:
http.url=http://localhost:27138/ Como se muestra a continuación:
Descarga del código fuente:
Turistas, si queréis ver el contenido oculto de esta publicación, por favor Respuesta
Recursos:
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.
|