如何使 Wildfly 的行为类似于 spring-cloud-sleuth

How to make Wildfly behave similar to spring-cloud-sleuth

作为我们的内部 IDP,我们使用依赖于 Wildfly 16 的 Keycloak 6.0.1。

我们的大部分组件都是 spring 引导程序,其中我们使用 spring 云侦探 + 一些 gelf 配置将日志发送到我们的 ELK 堆栈。

这很有效,但问题在于无法跟踪到达 keycloak 的请求,因为它不会传播也不会考虑 sleuth 使用的 traceId/spanId headers。

发送日志语句已解决,因为我们在 keycloak 中配置了日志子系统以通过 gelf 将日志语句发送到我们的 ELK。

现在,问题是,是否有任何方法可以配置 Wildfly 使其表现得像使用 spring-cloud-sleuth 一样?

我们想要:

  1. Wildfly 日志语句有一个 SpanID 和一个 TraceId。
  2. 传播包含相关信息的 Wildfly 传入请求。
  3. Wildfly 为不包含它的请求生成新的关联信息。

谢谢!

您必须在 Wildfly 项目中使用 https://github.com/apache/incubator-zipkin-brave 等项目,以确保相应地传播跟踪上下文。因此,如果不使用 Spring,您必须手动确保所有组件都包含在它们的跟踪表示中。