当前位置: 首页 > 知识库问答 >
问题:

禁用与Sleuth的AMQP集成

燕星鹏
2023-03-14

我有一个基于Java Spring-Cloud的微服务,使用Spring Boot Starter AMQP与RabbitMQ集成(摘自下面的pom.xml):

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

现在我想使用Sleuth将此服务连接到Zipkin监控。根据文档,当启用AMQP支持时,Sleuth通过RabbitMQ队列发送其所有数据。出于某种原因,我想禁用这个默认行为,并通过HTTP发送数据。可能有一个魔法属性我找不到。您知道我如何强制应用程序通过HTTP向Zipkin服务器(也是带有@enablezipkinserver注释的Spring Boot应用程序)发送与Sleuth相关的数据吗?

此外,我想提到的是,在删除了AMQP支持之后,一切都运行良好,即Zipkin通过HTTP接收跟踪数据。

此外,同时设置spring.zipkin.collector.http.enabled:truespring.zipkin.collector.amqp.enabled:false(以及spring.zipkin.collector.rabbitMQ.enabled:false)也没有帮助。

共有1个答案

岳枫
2023-03-14

如果您使用的是Edgware release train,只需设置spring.zipkin.sender.type=web。这样就可以强制执行基于HTTP的span发送

 类似资料:
  • 寻找一个示例,展示将spring cloud sleuth与spring boot amqp(rabbit)发布者和订阅者集成在一起。 我确实在日志中看到以下消息 另外,在接收服务上应该做些什么?

  • 当使用并在本地运行集成测试时,我会得到以下错误消息: 这是完全可以理解的,因为这个环境变量在本地不存在,而且我不想在运行测试时使用Sleuth/StackDriver跟踪。我已经查看了参考文档,但似乎只能找到如何针对特定集成点禁用Sleuth的信息,如RxJava、RestTemplate等,但如何完全禁用Sleuth呢? 我尝试设置,但这似乎没有什么不同。

  • 我第一次使用Spring Boot,正在为我的应用程序设置分布式跟踪。我已经将Spring Cloud Slueth添加到我的应用程序中,当调用我的endpoint时,我可以看到生成的跨度和跟踪,但是我很难让它与Aws Sdk 2. x集成(使用Dynamo异步客户端)。我有几个关于集成的问题: 通过aws sdk跟踪http调用的最佳方式是什么。我能做到这一点的唯一方法是实现ExecutionI

  • 我找不到任何将Spring Cloud Sleuth与Spring Cloud Gateway集成的示例。想要一个成功集成的示例项目。

  • 我正在尝试将SpringCloudSleuth与使用jetty服务器的现有spring应用程序集成。 我补充说 和 启动应用程序时,我应该如何传递记录器属性、日志模式?现在,它不会读取/resources文件夹下的属性文件,也不会生成traceId或spanId。 大多数示例都使用了Spring Boot。需要帮助来弄清楚如何将此与带有码头服务器的Spring应用程序集成。

  • 当Spring Integration(Spring boot)应用程序调用Spring boot应用程序来侦测traceID和spanID的日志记录时,就会出现该问题。 URL调用-->Facade(用spring integration编写,spring boot并支持sleuth)-->spring boot微服务(支持sleuth) 微服务%1调用微服务%2 Microserice 1日志