分布式跟踪
概述
可观测性microservice-oriented应用的一个重要方面。可观测性的关键因素之一分布式跟踪。
提供额外的预防措施是必要的,当一个应用程序将记录写入数据库,由Debezium后加工。开云体育官方注册网址开云体育电动老虎机积极跟踪被写入到数据库有效地划分。开云体育电动老虎机如果我们想要Debez开云体育官方注册网址ium加入更大范围应用示踪剂,我们需要通过跟踪Debezium元数据。
添加到Debezium通过跟踪支持开云体育官方注册网址OpenTracing规范。还需要提供一个客户端实现规范。开云体育官方注册网址Debezium测试与Jaeger实现。
ActivateTracingSpan SMT
主要实现Debezium的跟踪点开云体育官方注册网址ActivateTracingSpan
SMT。在这种情况下,应用程序写入数据库负责提供跟踪时间上下文。开云体育电动老虎机作者必须注入时间上下文java.util.Properties
实例序列化并写入数据库作为一种独特的表的字段。开云体育电动老虎机
如果跨度上下文没有提供SMT将创建一个新的跨越。在这种情况下,Debeziu开云体育官方注册网址m业务元数据一起被追踪,但是不会将连接到端到端业务事务的痕迹来启用跟踪。
当这个SMT调用,那么它将:
提取父上下文消息中如果存在
创建事件
db-log-write
跨语境的开始时间戳将数据库日志写的时间戳开云体育电动老虎机插入字段
源
块的跨越标签创建处理
开云体育官方注册网址debezium-read
作为一个孩子的db-log-write
span设置了开始时间戳的处理时间从信封中插入字段等
人事处
处理时间标签注入处理跨上下文消息头
卡夫卡生产跟踪
选择可以在卡夫卡生产商级别启用跟踪。如果启用,当消息被写入卡夫卡代理生产商将提取Debezium的处理从卡夫卡跨度上下文消息头,创建一个新的子跨度和记录信息写入到代理。开云体育官方注册网址然后它注入新的跨越到消息报头消息的消费者可以恢复跟踪和简历的端到端跟踪。
配置选项
配置属性 |
类型 |
默认的 |
|
字符串 |
tracingspancontext |
|
字符串 |
开云体育官方注册网址debezium-read |
|
布尔 |
假 |
发件箱扩展
的Deb开云体育官方注册网址eziumQuarkus扩展实现所需的发件箱模式提供了额外的功能跟踪上下文传播开箱即用的。具体地说,它提供了tracingspancontext
发件箱表中的字段,用于通过跟踪跨语境从服务使用发件箱扩展Debezium连接器。开云体育官方注册网址
发件箱发送事件时,扩展将:
创建一个新的
outbox-write
跨度作为当前活动的孩子注入时间上下文
java.util.Properties
实例序列化的tracingspancontext
列写记录到数据库中开云体育电动老虎机
发件箱中的跟踪集成扩展是自动启用如果也smallrye-opentracing
Quarkus扩展。如果你想禁用跟踪支持扩展,尽管发件箱smallrye-opentracing
Quarkus扩展,你可以通过设置一个选项禁用它quarkus.开云体育官方注册网址debezium-outbox.tracing.enabled = false
在Quarkusapplication.properties
文件。
活动路由器SMT
的活动路由器SMT作为发件箱扩展,它执行相同的步骤ActivateTracingSpan
SMT,用来代替它。