logging - 链接 log4j 日志和 zipkin 跟踪 id
问题描述
我有一个系统,我们有 2 个模块。
1) 模块 1 是一个具有多个端点的 webapp,部署在 Tomcat 上。2) 模块 2 是一个可执行的 jar,(不是 web 应用程序),它启动了 2 个 Kafka 消费者(K1 和 K2),分别监听 topic1 和 topic2。
Web 应用程序(模块 1)将消息推送到 topic1。K1 监听topic1。它接收消息,处理它们并将处理后的消息推送到topic2。K2 监听 topic2。消息由 K2 完全处理,不会进一步传播。
此流程中有多个可能发生错误的点。我想使用 Zipkin/ Jaegar 来跟踪整个流程,并将日志链接到 trace id,以便可以轻松快速地调查任何问题。
谁能建议我前进的道路?
解决方案
您可以在 logback.xml 中添加跟踪 ID
"request_id": {"trace_id":"%X{X-B3-TraceId}","span_id":"%X{X-B3-SpanId}","parent_span_id":"%X{X-B3-ParentSpanId }"},
推荐阅读
- email - com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 中继被 Java Mail API 拒绝
- android - 非生命周期类中的 Kotlin 协程范围和作业取消
- javascript - 如何在 Promise 中包装条件语句
- sql - 如何在 BLoC 模式中调用 sink.fromFuture?
- python - Pandas Series 使用字符串和嵌套列表访问值之间的区别
- javascript - 路由后引导模式不再工作
- reactjs - 反应情感CSS - 模板文字返回函数不是值
- python - 当变量等于 x 时触发事件 - python
- javascript - Safari 的 documentFragment.querySelector 问题
- python - PyYAML 不解析所有示例