教程 > spring boot 中文教程 > 阅读:244

spring boot 跟踪微服务日志——迹忆客-ag捕鱼王app官网

如果发生任何问题,大多数开发人员都会面临追踪日志的困难。 这可以通过 spring cloud sleuth 和用于 spring boot 应用程序的 zipkin 服务器来解决。


spring cloud sleuth

spring cloud sleuth 日志使用以下格式打印

[application-name,traceid,spanid,zipkin-export]
  • application-name : 应用程序的名称
  • traceid : 调用同一个服务或一个服务到另一个服务时,每个请求和响应的 traceid 都是相同的。
  • spanid : span id 与 trace id 一起打印。 span id 是不同的每个请求和响应调用一个服务到另一个服务。
  • zipkin-export : 默认为假。 如果为真,日志将被导出到 zipkin 服务器。

现在,在构建配置文件中添加 spring cloud starter sleuth 依赖项,如下所示

maven 用户可以在您的 pom.xml 文件中添加以下依赖项


   org.springframework.cloud
   spring-cloud-starter-sleuth

gradle 用户可以在 build.gradle 文件中添加以下依赖项

compile('org.springframework.cloud:spring-cloud-starter-sleuth')

现在,将日志添加到 spring boot 应用程序 rest controller 类文件中,如下所示

package com.jiyik.sleuthapp;
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;
import java.util.logging.level;
import java.util.logging.logger;
@springbootapplication
@restcontroller
public class sleuthappaopplication {
    private static final logger log = logger.getlogger(sleuthappaopplication.class.getname());
    public static void main(string[] args) {
        springapplication.run(sleuthappaopplication.class, args);
    }
    @requestmapping("/")
    public string index() {
        log.log(level.info, "index api 正在被访问");
        return "欢迎访问 sleuth!";
    }
}

现在,在 application.properties 文件中添加应用程序名称,如图所示

spring.application.name = tracinglogs

现在,我们可以创建一个可执行的 jar 文件,并使用以下 maven 或 gradle 命令运行 spring boot 应用程序。

对于 maven,使用下面给出的命令

$ mvn clean install

成功之后,我们可以在 target 目录下找到 jar 文件。

对于 gradle,使用下面给出的命令

$ gradle clean build

这里我们使用 idea 来启动服务(读者也可以使用上面两种方式中的一种生成可执行 jar 包)

现在,应用程序已在 tomcat 端口 8080 上启动。

spring boot sleuth 启动成功

现在,在 web 浏览器中访问 url 并在控制台日志中查看输出。

http://localhost:8080/

spring boot 访问 sleuth

我们可以在控制台窗口中看到以下日志。 观察日志以以下格式打印 [application-name, traceid, spanid, zipkin-export]

spring boot sleuth 日志


zipkin 服务

zipkin 是一个监控和管理 spring boot 应用程序的 spring cloud sleuth 日志的应用程序。 要构建 zipkin 服务器,我们需要在构建配置文件中添加 zipkin ui 和 zipkin server 依赖项。

maven 用户可以在 pom.xml 文件中添加以下依赖项


   io.zipkin.java
   zipkin-server


   io.zipkin.java
   zipkin-autoconfigure-ui

gradle 用户可以在 build.gradle 文件中添加以下依赖项

compile('io.zipkin.java:zipkin-autoconfigure-ui')
compile('io.zipkin.java:zipkin-server')

现在,在应用程序属性文件中配置 server.port = 9411

对于属性文件用户,在 application.properties 文件中添加以下属性。

server.port = 9411

对于 yaml 用户,在 **application.yml **文件中添加以下属性。

server:
   port: 9411

在主 spring boot 应用程序类文件中添加 @enablezipkinserver 注解。 @enablezipkinserver 注解用于使我们的应用程序充当 zipkin 服务器。

package com.jiyik.zipkinapp;
import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;
import zipkin.server.enablezipkinserver;
/**
 * @author jiyik.com
 */
@springbootapplication
@enablezipkinserver
public class zipkinappapplication {
    public static void main(string[] args) {
        springapplication.run(zipkinappapplication.class, args);
    }
}

现在,我们可以创建一个可执行的 jar 文件,并使用以下 maven 或 gradle 命令运行 spring boot 应用程序。

对于 maven,使用下面给出的命令

$ mvn clean install

成功之后,我们可以在 target 目录下找到 jar 文件。

对于 gradle,使用下面给出的命令

$ gradle clean build

然后,在客户端服务应用程序中添加以下依赖项,并指出 zipkin server url 以通过 zipkin ui 跟踪微服务日志。

现在,在构建配置文件中添加 spring cloud starter zipkin 依赖项,如下所示

maven 用户可以在 pom.xml 文件中添加如下依赖


   org.springframework.cloud
   spring-cloud-sleuth-zipkin

gradle 用户可以在 build.gradle 文件中添加以下依赖项

compile('org.springframework.cloud:spring-cloud-sleuth-zipkin')

现在,在 spring boot 应用程序中添加 always sampler bean 从而将日志导出到 zipkin 服务器。】

@bean
public alwayssampler defaultsampler() {
   return new alwayssampler();
}

如果添加 alwayssampler bean ,则 spring sleuth zipkin export 选项会自动从 false 更改为 true。

接下来,在客户端服务 application.properties 文件中配置您的 zipkin server 基本 url。

spring.zipkin.baseurl = http://localhost:9411/zipkin/ 

然后,提供跟踪 id 并在 zipkin ui 中查找跟踪。

这里我们使用 idea 来启动服务(读者也可以使用上面两种方式中的一种生成可执行 jar 包)

spring boot zipkin 服务启动成功

spring boot zipkin 服务访问

查看笔记

扫码一下
查看教程更方便
网站地图