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

Spring Boot微服务中的Spring Cloud Sleuth日志跟踪

栾钟展
2023-03-14

我有2个使用Spring-Cloud-Stream和Kafka绑定的Spring Boot微服务。我正在使用Spring cloud sleuth依赖项进行日志跟踪。在微服务A中,当将事件发布到kafka中的主题时,我将trackId设置为

ExtraFieldPropagation.set("trackId","valueHeader");

我没有在微服务B中获得这个值作为baggage头。我获得TraceId、SpanID,但不是上面设置的baggage元素。

共有1个答案

步衡
2023-03-14

你读过这一节下的文档了吗?https://cloud.spring.io/spring-cloud-static/finchley.rc2/single/spring-cloud.html#_prefixed_fields

与以前版本的Sleuth的一个不同之处在于,使用Brave,你必须通过行李钥匙列表。有两个属性可以实现这一点。使用spring.sleuth.baggage-keys,您可以为HTTP调用设置前缀为baggage-baggage_的键,并为消息传递设置前缀为baggage_的键。您还可以使用spring.sleuth.propagation-keys属性传递一个前缀键的列表,这些前缀键是白名单的,没有任何前缀。

您是否明确提供了行李钥匙?例如。https://github.com/spring-cloud-samples/sleuth-documentation-apps/blob/master/service1/src/main/resources/application.yaml#l9-l11

spring:
  sleuth:
    # you have to explicitly provide baggage keys
    baggage-keys:
      - trackId
      - valueHeader
 类似资料:
  • 如果发生任何问题,大多数开发人员都难以跟踪日志。 这可以通过用于Spring Boot应用程序的Spring Cloud Sleuth和ZipKin服务器来解决。 春云侦探 Spring cloud Sleuth日志以下列格式打印 - [application-name,traceid,spanid,zipkin-export] Where, Application-name =应用程序的名称

  • 本章介绍如何配置istio去自动收集mesh中的TCP服务指标。本章结尾部分,一个新的监控指标可以用mesh去调用TCP服务。 BookInfo应用作为介绍本章的示例应用。 开始之前 在集群中安装istio并部署一个应用。 本章假定BookInfo中的示例应用被部署在default命名空间中。如果部署在不同的命名空间,你需要修改例子中的配置和命令。 安装Prometheus插件,Prometheu

  • 这个任务展示如何为Istio mesh中的服务生成图。作为这个任务的一部分,将安装ServiceGraph产检并使用基于web的接口来查看服务网格的服务图。 开始之前 在集群上安装Istio并部署应用。 安装Prometheus插件。 这个插件的安装指导作为查询度量任务的一部分提供。 Service Graph必须有Prometheus插件才能工作。 生成服务图 要查看Service Mesh的图

  • 问题:假设有两个服务 A 和 B,服务 A 对服务 B 进行 API 调用。一段时间后,服务A因网络错误而掉落或丢失。 另一个服务将如何猜测来自服务A的出站呼叫丢失/从未发生?我需要另一个并发应用程序,如果服务A出站呼叫丢失,它将自动响应(运行紧急代码)。 存在哪些尖端解决方案? 例如,我的想法: 服务 A 在某些中间件中注册调用事件(事件信息、“正在运行”状态、时间戳等)。 如果此调用在 N 秒

  • 描述演示如何从服务网格收集遥测信息的任务。 分布式跟踪。如何配置代理,以便向Zipkin或Jaeger发送跟踪请求 收集metrics和日志。这个任务展示如何配置Istio来收集metrics和日志。 收集TCP服务的Metrics。这个任务展示如何为TCP服务收集metrics和日志。 从Prometheus中查询Metrics。这个任务展示如何使用Prometheus查询metrics。 使用

  • MySQL服务日志 MySQL服务日志分类 慢查询日志 查看慢查询日志的定义 启动和设置慢查询日志 二进制日志 MySQL服务日志分类 错误日志(error):记录MySQL服务进程mysqld在启动/关闭或者运行过程中遇到的错误信息; 查询日志(query log),分为以下两类: 普通日志(general query log):记录客户端连接信息和执行的SQL语句信息( 生产环境中一般不开启