如何使 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 一样?
我们想要:
- Wildfly 日志语句有一个 SpanID 和一个 TraceId。
- 传播包含相关信息的 Wildfly 传入请求。
- Wildfly 为不包含它的请求生成新的关联信息。
谢谢!
您必须在 Wildfly 项目中使用 https://github.com/apache/incubator-zipkin-brave 等项目,以确保相应地传播跟踪上下文。因此,如果不使用 Spring,您必须手动确保所有组件都包含在它们的跟踪表示中。
作为我们的内部 IDP,我们使用依赖于 Wildfly 16 的 Keycloak 6.0.1。
我们的大部分组件都是 spring 引导程序,其中我们使用 spring 云侦探 + 一些 gelf 配置将日志发送到我们的 ELK 堆栈。
这很有效,但问题在于无法跟踪到达 keycloak 的请求,因为它不会传播也不会考虑 sleuth 使用的 traceId/spanId headers。
发送日志语句已解决,因为我们在 keycloak 中配置了日志子系统以通过 gelf 将日志语句发送到我们的 ELK。
现在,问题是,是否有任何方法可以配置 Wildfly 使其表现得像使用 spring-cloud-sleuth 一样?
我们想要:
- Wildfly 日志语句有一个 SpanID 和一个 TraceId。
- 传播包含相关信息的 Wildfly 传入请求。
- Wildfly 为不包含它的请求生成新的关联信息。
谢谢!
您必须在 Wildfly 项目中使用 https://github.com/apache/incubator-zipkin-brave 等项目,以确保相应地传播跟踪上下文。因此,如果不使用 Spring,您必须手动确保所有组件都包含在它们的跟踪表示中。