spring boot admin 日志查看404_Springboot(三十七)跟踪微服务日志

f8c365150e62a9b5253489e9205e7817.png

如果应用程序在运行过程发生问题,大多数开发人员都难以跟踪日志。 这可以通过用于Spring Boot应用程序的Spring Cloud Sleuth和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 = 默认情况下为false。 如果是,则将日志导出到Zipkin服务器。

现在,在构建配置文件中添加Spring Cloud Starter Sleuth依赖项,如下所示 -

org.springframework.cloud

spring-cloud-starter-sleuth

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

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

现在,将Logs添加到Spring Boot应用程序Rest Controller类文件中,如下所示 -

package com.felix.sleuthapp;

import java.util.logging.Level;

import java.util.logging.Logger;

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;

@SpringBootApplication

@RestController

public class SleuthappApplication {

private static final Logger LOG = Logger.getLogger(SleuthappApplication.class.getName());

public static void main(String[] args) {

SpringApplication.run(SleuthappApplication.class, args);

}

@RequestMapping("/")

public String index() {

LOG.log(Level.INFO, "Index API is calling");

return "Welcome Sleuth!";

}

}

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

spring.application.name = tracinglogs

构建配置文件的完整代码如下 -

Maven构建文件 - pom.xml

xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0

http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.felix

sleuthapp

0.0.1-SNAPSHOT

jar

sleuthapp

Demo project for Spring Boot

org.springframework.boot

spring-boot-starter-parent

1.5.9.RELEASE

UTF-8

UTF-8

1.8

Edgware.RELEASE

org.springframework.cloud

spring-cloud-starter-sleuth

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-test

test

org.springframework.cloud

spring-cloud-dependencies

${spring-cloud.version}

pom

import

org.springframework.boot

spring-boot-maven-plugin

Gradle构建文件:build.gradle -

buildscript {

ext {

springBootVersion = '1.5.9.RELEASE'

}

repositories {

mavenCentral()

}

dependencies {

classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")

}

}

apply plugin: 'java'

apply plugin: 'eclipse'

apply plugin: 'org.springframework.boot'

group = 'com.felix'

version = '0.0.1-SNAPSHOT'

sourceCompatibility = 1.8

repositories {

mavenCentral()

}

ext {

springCloudVersion = 'Edgware.RELEASE'

}

dependencies {

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

compile('org.springframework.boot:spring-boot-starter-web')

testCompile('org.springframework.boot:spring-boot-starter-test')

}

dependencyManagement {

imports {

mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"

}

}

可以创建可执行的JAR文件,并使用以下Maven或Gradle命令运行Spring Boot应用程序。

对于Maven,可以使用以下命令 -

mvn clean install

在“BUILD SUCCESS” 之后,可以在目标目录下找到JAR文件。

对于Gradle,可以使用以下命令 -

gradle clean build

在“BUILD SUCCESSFUL” 之后,可以在build/libs 目录下找到JAR文件。

现在,使用以下命令运行JAR文件 -

java –jar

现在,在Web浏览器中的URL => http://localhost:8080/ ,然后在控制台日志中查看输出。

beaae8650be4b466651fb2c75e77e759.png

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

6839e767aa5782bbc071bbe0a77a5b1f.png

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。

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

server.port = 9411

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

server:

port: 9411

在主Spring Boot应用程序类文件中添加@EnableZipkinServer注解。@EnableZipkinServer注释用于使应用程序充当Zipkin服务器。

package com.felix.zipkinapp;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import zipkin.server.EnableZipkinServer;

@SpringBootApplication

@EnableZipkinServer

public class ZipkinappApplication {

public static void main(String[] args) {

SpringApplication.run(ZipkinappApplication.class, args);

}

}

完整构建配置文件的代码如下所示。

Maven构建文件 - pom.xml -

xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0

http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.felix

zipkinapp

0.0.1-SNAPSHOT

jar

zipkinapp

Demo project for Spring Boot

org.springframework.boot

spring-boot-starter-parent

1.5.9.RELEASE

UTF-8

UTF-8

1.8

Edgware.RELEASE

io.zipkin.java

zipkin-server

io.zipkin.java

zipkin-autoconfigure-ui

org.springframework.boot

spring-boot-starter-test

test

org.springframework.cloud

spring-cloud-dependencies

${spring-cloud.version}

pom

import

org.springframework.boot

spring-boot-maven-plugin

Gradle构建文件 – build.gradle 的内容如下:

buildscript {

ext {

springBootVersion = '1.5.9.RELEASE'

}

repositories {

mavenCentral()

}

dependencies {

classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")

}

}

apply plugin: 'java'

apply plugin: 'eclipse'

apply plugin: 'org.springframework.boot'

group = 'com.felix'

version = '0.0.1-SNAPSHOT'

sourceCompatibility = 1.8

repositories {

mavenCentral()

}

ext {

springCloudVersion = 'Edgware.RELEASE'

}

dependencies {

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

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

testCompile('org.springframework.boot:spring-boot-starter-test')

}

dependencyManagement {

imports {

mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"

}

}

可以创建一个可执行的JAR文件,并使用下面的Maven或Gradle命令运行Spring Boot应用程序 -

对于Maven,请使用下面给出的命令 -

mvn clean install

在“BUILD SUCCESS”之后,可以在target目录下找到JAR文件。

对于Gradle,请使用下面给出的命令 -

gradle clean build

在“BUILD SUCCESSFUL”之后,可以在build/libs目录下找到JAR文件。

使用显示的命令运行JAR文件 -

java –jar

现在,应用程序已在Tomcat端口9411上启动。

现在,访问URL => http://localhost:9411/zipkin/ ,并查看Zipkin服务器UI。

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

3bf36f80c206be09037a35e4cad9343d.png

现在,在构建配置文件中添加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中查找跟踪。

http://localhost:9411/zipkin/traces/{traceid}/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值