浅尝Spring Cloud Sleuth
2021-06-17 10:03
标签:image spring 应用程序 logger with ima XML local span Spring Cloud Sleuth提供了分布式追踪(distributed tracing)的一个解决方案。其基本思路是在服务调用的请求和响应中加入ID,标明上下游请求的关系。利用这些信息,可以方便地分析服务调用链路和服务间的依赖关系。 在Spring Tool Suite的文件菜单中,点击新建Spring Starter Project。 在请求处理方法内加上一行日志代码。 设定应用程序端口及名称。 启动程序并浏览页面后,可以看到日志信息里多了点东西。 [sleuth-demo-without-zipkin,6c00dba1679ee164,6c00dba1679ee164,false] 这一串数据里包含四个部分 要想把追踪数据发送到Zipkin上,首先需要建立一个Zipkin Server应用程序,在pom.xml里加上如下依赖: 然后在启动类加上@EnableZipkinServer标记。 application.properties文件中可修改默认端口, 打开相关页面,如下: 再新建一个应用程序。 启动程序代码基本一样。 application.properties文件里加上Zipkin Server的地址,同时为了每次都将数据传入Zipkin,需要把spring.sleuth.sampler.probability的值改为1.0。 启动Zipkin Client后,可以看到Zipkin Server页面上多了一条追踪数据。 再次刷新Zipkin Client页面,又会有条新的数据。 在看控制台的日志记录,exportable项变成了true,说明数据已传入Zipkin。 浅尝Spring Cloud Sleuth 标签:image spring 应用程序 logger with ima XML local span 原文地址:https://www.cnblogs.com/kenwoo/p/9716282.htmlOnly Sleuth
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
public class SpringcloudSleuthApplication {
private static Logger log = LoggerFactory.getLogger(SpringcloudSleuthApplication.class);
@RequestMapping("/")
public String home() {
log.info("Handling home");
return "Hello World";
}
public static void main(String[] args) {
SpringApplication.run(SpringcloudSleuthApplication.class, args);
}
}
server.port=10001
spring.application.name=sleuth-demo-without-zipkin
Sleuth + Zipkin
Zipkin Server
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import zipkin2.server.internal.EnableZipkinServer;
@EnableZipkinServer
@SpringBootApplication
public class SpringcloudZipkinServerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringcloudZipkinServerApplication.class, args);
}
}
server.port=10000
。Zipkin Client
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
public class SpringcloudZipkinApplication {
private static Logger log = LoggerFactory.getLogger(SpringcloudZipkinApplication.class);
@RequestMapping("/")
public String home() {
log.info("Handling home");
return "Hello World";
}
public static void main(String[] args) {
SpringApplication.run(SpringcloudZipkinApplication.class, args);
}
}
server.port=10002
spring.application.name=sleuth-demo-with-zipkin
spring.zipkin.base-url=http://localhost:10000
spring.sleuth.sampler.probability=1.0