SpringCloud+zipkin+elasticserach

本文详细介绍了如何在项目中引入并配置Zipkin服务追踪,包括依赖添加、配置文件设置、Zipkin服务器启动及Elasticsearch服务集成,最后通过实例演示了如何查看追踪数据。

全文请注意标红部分配置:

1.项目A引入pom

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>

2.项目A配置yml

spring:
  application:
    name: zipkin-test
  zipkin:
    base-url: http://localhost:9411

3.下载zipkin-server.jar

https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/

4.启动elasticsearch服务(自行测试服务是否正确)

5.执行zipkin-server.jar

java -jar zipkin-server-2.10.1-exec.jar --STORAGE_TYPE=elasticsearch --DES_HOSTS=http://localhost:9200

6.启动项目A,并调用项目A接口

7.查看zipkin UI界面

http://localhost:9411/zipkin/

8.查看elasticsearch服务,查看是否持久化服务追踪

http://localhost:9200/_cat/indices 是否包含 

如下以 zipkin:日期 开头的节点,如果存在证明持久化成功

yellow open zipkin:span-2018-12-25 6oS1ckfdQFeBinstsY6I7A 5 1 6 0 29.2kb 29.2kb

 

 

 

### Spring Cloud Sleuth 集成 Zipkin 分布式追踪教程 在微服务架构中,分布式追踪对于了解请求在各个服务中的流转路径至关重要。Spring Cloud Sleuth 和 Zipkin 提供了一种解决方案,帮助开发者追踪请求的调用链并可视化展示。以下是实现分布式追踪的具体步骤。 #### 1. 添加依赖 在 Maven 项目中,需要添加以下依赖来集成 Spring Cloud Sleuth 和 Zipkin: ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-sleuth-zipkin</artifactId> </dependency> ``` 这些依赖分别用于启用分布式追踪功能和将追踪数据发送到 Zipkin 服务器[^5]。 #### 2. 配置文件设置 在 `application.yml` 或 `application.properties` 文件中,配置 Zipkin 的相关信息: ```yaml spring: zipkin: base-url: http://localhost:9411 # 替换为实际的 Zipkin 服务器地址 discoveryClientEnabled: false # 禁用服务发现机制 sleuth: sampler: probability: 1 # 设置采样率为 100%,确保所有请求都被追踪 ``` 上述配置指定了 Zipkin 服务器的地址,并禁用了服务发现机制以避免潜在冲突。同时,通过设置采样率 `probability` 为 1,确保所有请求都会被追踪[^4]。 #### 3. 启动 Zipkin 服务器 可以通过以下方式启动 Zipkin 服务器: - 使用官方提供的 Docker 镜像: ```bash docker run -d -p 9411:9411 openzipkin/zipkin ``` - 或者下载 Zipkin 的二进制文件并手动启动。 启动后,访问 `http://localhost:9411` 可以查看 Zipkin 的 Web 界面。 #### 4. 开启追踪功能 在主类或配置类上添加 `@EnableZipkinServer` 注解(如果需要自定义 Zipkin 服务器)或直接使用默认配置即可。Spring Boot 应用程序会自动将追踪信息发送到指定的 Zipkin 服务器。 #### 5. 测试与验证 运行微服务应用程序后,访问任意接口,系统会自动生成 Trace ID 和 Span ID,并将这些信息发送到 Zipkin 服务器。打开 Zipkin 的 Web 界面,可以查看请求的调用链路以及每个服务节点的耗时等详细信息[^3]。 --- ### 示例代码 以下是一个简单的 Spring Boot 应用程序示例: ```java @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } @RestController @RequestMapping("/api") public class ExampleController { @GetMapping("/test") public String test() { return "Hello, Sleuth and Zipkin!"; } } ``` 运行此应用程序后,访问 `/api/test` 接口,可以在 Zipkin 中查看对应的调用链路信息。 --- ### 注意事项 - 如果使用较新版本的 Spring Cloud,请确保依赖版本兼容。 - 在生产环境中,建议根据流量调整采样率,避免过多的数据对系统性能造成影响。 - 可以结合 ELK(Elasticsearch, Logstash, Kibana)等工具进一步分析日志数据[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值