问题标签 [spring-cloud-sleuth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4999 浏览

logstash - Spring Sleuth Logback 集成日志不显示服务名称

在我的微服务中,我添加了 spring -sleuth 1.2.1 并且我收到了我预期的日志,如下所示

2017-08-16 09:58:51.864 INFO [microServiceName,9434118b965d573e,9434118b965d573e,true] 1328 --- [io-8081-exec-10] com.cibc.icap.MyController:有资格投票

根据我的要求,我需要将日志从我的应用程序传递到 logstash 服务器,因此我创建了 logback.xml 并添加了依赖项 logstash-logback-encoder-4.5.1 并在 logback.xml net.logstash.logback.appender 中添加了 appender .LogstashTcpSocketAppender 我的 logback.xml 看起来现在日志正在从我的应用程序传递到 logstash 但问题出在日志中我没有按预期获得我的微服务名称,添加 logback.xml 后日志如下所示

2017-08-17 12:35:27.781 信息 [bootstrap,0e26cf339a6e69bc,0e26cf339a6e69bc,true] 4884 --- [nio-8081-exec-7] com.cibc.icap.AssessmentController

我的 logback.xml 的链接

0 投票
1 回答
904 浏览

spring-cloud-stream - JSON MessageHeaders with headerMode=raw

我有一个配置了 Sleuth 的 Spring Cloud Stream (SCS) Kafka 生产应用程序以进行跟踪。我正在尝试发布一个spring-messaging 'GenericMessage' (即MessageHeaders + payload),需要通过以下方式使用:

  • SCS 消费者(应该继续自动添加到 MessageHeaders 的跟踪)
  • 应该跳过 MessageHeaders 并处理有效负载的非 SCS/Java 消费者。

使用 headerMode=embeddedHeaders(默认): MessageHeader 中的跟踪条目在消息发布之前由 EmbeddedHeaderUtils 附加到消息中。我的非 java 消费者无法处理这个问题,因为 EmbeddedHeaderUtils 不会序列化为纯 JSON,即

?\n invalid-json-headers { payload }

使用 headerMode=raw: 根本不发送 MessageHeaders,仅序列化有效负载。IE { payload }

我真的只想在创建时发布整个 GenericMessage,包括 Sleuth 添加的跟踪 + 跨度 ID,即:

{"headers": {"id": "x", "trace": "y", "span": "z"}, "payload": { ... }}

除了为 SCS 消费者发布到一个主题,而另一个仅使用有效负载发布之外,还有其他方法可以实现此目的吗?

0 投票
2 回答
3547 浏览

spring - 当我尝试在单元测试中模拟侦探时,spring cloud 失败了

如果我使用 Dalston.SR3 或 Dalston.Release 版本,当我尝试在单元测试中模拟 Tracer 和 Span 等对象时会遇到一些错误,但如果我使用 Camden.SR6 或 Camden.SR7 版本,则不会发生此问题。

在此处查找示例代码

微服务 msvc -a使用 Dalston 版本并有两个测试类,其中只有我试图模拟 Tracer 和 Span 对象的类失败。

微服务 msvc -b使用的是 Camden 版本,具有相同的测试类。

同时,当我在 STS 中处于调试模式时,我无法理解这种情况,以及为什么我看不到任何错误跟踪或类似的东西......只有 NullpointerException。

在此处输入图像描述

0 投票
1 回答
132 浏览

zipkin - 在我将 spring-cloud-sleuth-zipkin-stream 添加到 pom.xml 之后。该应用程序可以启动。但我无法调用我的控制器

首先,我想将zipkin+集成rabbitmq到我的项目中。所以我pom.xml的如下:

所以在我添加这个之后。我不能不调用我的控制器。但是如果controller和Application在同一个包里,能不能调用controller呢?

0 投票
2 回答
33 浏览

java - 动态 | 基于用户案例的日志记录

是否有任何日志记录框架,可以帮助我根据收到的请求参数动态更改日志记录级别?

如果请求有一个参数启用调试为真,那么只有它应该记录,否则不。

spring sleuth 是否在云环境中提供此功能?

0 投票
1 回答
779 浏览

spring-cloud-netflix - Spring Cloud Zipkin 服务器数据保留期

我正在使用 Spring cloud Zipkin 来跟踪样本百分比为 0.4 的调用。我没有使用任何持久性存储,例如 MySQL 或 Cassandra。请让我知道如何在 Zipkin 服务器中设置数据保留期,例如我只想检查 6 小时/1 天的数据。

或者如果我可以设置最大跨度计数

0 投票
1 回答
222 浏览

spring - spring-cloud-sleuth 服务与 3rd 方服务的集成

我有几个微服务:A 和 B。A 调用 B,B 调用一些外部服务。A 和 B 使用 Sleuth。Sleuth 定义了标头 X-B3-TraceId 和 X-B3-SpanId。

所以A会将标头传播到B和B到外部服务......

问题:服务 B 是否存储他的标头直到响应?如果外部服务以某种方式破坏了我的标头,并且作为响应,我将在标头中得到错误的 ID……会发生什么?定义我自己的标题以避免这种冲突会更好吗?与外部服务交互的最佳方式是什么?

0 投票
1 回答
215 浏览

java - 与 Spring Cloud Sleuth 一起使用时,Spring 集成错误通道处理中断

我创建了一个演示项目:https ://github.com/imram/si-errorhandling-sleuth 。

我遇到的问题是,当我在我的 Spring 集成应用程序中使用 Spring Cloud Sleuth 时,错误流会被破坏,即如果给出回复超时,网关会无限停止/直到超时,然后它将 null 返回给网关的调用者。

如果在没有 Sleuth Dependency 的情况下执行相同的应用程序,则没有问题。

如果我的 SI 设置有问题或其已知问题,有人可以帮忙吗?如果这是一个问题,那么有人可以建议解决方法吗?

仅供参考,我确实想使用 Sleuth 为每笔交易生成 Correlation Id,以实现可追溯性的目的。

谢谢!!

0 投票
2 回答
2056 浏览

spring-cloud-netflix - ZipkinSpanReporter 无法正常工作

我正在尝试评估 zipkin 以启用我们所有微服务的分布式跟踪功能。以下是我设置中的版本。

  1. 春季启动版本:1.5.7.RELEASE

  2. spring-cloud 版本: Camden.SR6

  3. zipkin 版本:2.2.1

    配置为 seluth inapplication.properties

spring.sleuth.sampler.percentage=1.0

spring.sleuth.web.skipPattern=(^cleanup. |.+favicon. )

我创建了 ZipkinSpanReporter bean,如下所示。请注意,我已将 Eureka 服务器设置为所有微服务,甚至将 zipkin 服务器注册到 Eureka 服务器,以便 Zipkin 客户端可以通过 eureka 解析 zipkin 服务器

我观察到的是,当我检查 zipkin 时,zipkin 客户端(书)没有将所有跨度报告回 zipkin 服务器。报告了一些,几乎所有的跨度都被丢弃了

在此处输入图像描述

我已启用日志记录

以下是记录信息:

但我无法找到book.log从 zipkin 控制台登录文件的 traceId

您能否解释一下为什么许多跨度没有报告给 zipkin 服务器?

提前致谢。

0 投票
2 回答
1032 浏览

kotlin - Spring sleuth zipkin 跨越不嵌套在 Kotlin 协程中

我可以从以下 Spring Boot 控制器代码中看到跨度记录在 Zipkin UI 中:

日志输出如下所示:

但跟踪在 UI 中是独立的。

我希望对 Google 和 Facebook url 的两个调用同时嵌套在对/concurrent1端点的调用下。

我怀疑这是由于执行协程的线程与启动 Spring 应用程序的线程不同,但我现在不知道如何继续使用 Spring Sleuth!