本地部署Sleuth与Zipkin时日志缺失export标识问题求助
解决Sleuth日志无Zipkin Export标识且追踪信息无法发送的问题
针对你遇到的问题,核心原因集中在配置错误、依赖缺失和日志格式三个方面,以下是具体解决方案:
1. 修正配置文件语法错误
你的bootstrap.properties中spring.zipkin.base-url包含多余的括号,这会导致Zipkin地址解析失败,直接修正为:
spring.zipkin.base-url=http://localhost:9411/ spring.sleuth.sampler.probability=1.0 # 显式开启Zipkin导出(可选,但能避免隐式配置失效) spring.sleuth.zipkin.enabled=true
2. 确认依赖完整性
Spring Cloud 2021.0.4(Jubilee版本)中,Sleuth不再默认包含Zipkin导出依赖,需单独引入spring-cloud-starter-zipkin:
Maven依赖
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency> </dependencies>
Gradle依赖
dependencies { implementation 'org.springframework.cloud:spring-cloud-starter-sleuth' implementation 'org.springframework.cloud:spring-cloud-starter-zipkin' }
3. 确保日志格式包含Export标识
日志格式需要显式声明%X{export}变量才能显示Zipkin导出状态。以Logback为例,修改logback-spring.xml的日志pattern:
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level [%X{spring.application.name},%X{traceId},%X{spanId},%X{export}] - %msg%n</pattern> </encoder> </appender>
完成以上操作后重启服务,日志中会出现类似INFO [sleuthpoc,a3b11678e089f17b,a3b11678e089f17b,true]的内容,其中true即为Zipkin Export标识,同时追踪信息会正常发送到Zipkin服务器,你可以在Zipkin控制台查看请求链路。
内容的提问来源于stack exchange,提问作者win32trojan
相关产品推荐
相关产品推荐

