Skip to content

Xlinlin/spingcloud-zipkin-elk-demo

Repository files navigation

基于Springboot1.5.9+SpringCloud+Zipkin+ELK链路跟踪实现

  1. 思想实现:
    基于zipkin和feign结合,生成span数据,写到本地文件,然后通过logstash发送到es,通过zipkin-ui或Kibana来展示

  2. 工程包目录介绍:

    zipkin-common 公共组件包,主要实现logback过滤对中文的转义以及本demo重点核心:扩展Zipkin的span发送器
    zipkin-eureka 注册中心
    zipkin-provider-a/b 服务提供
    zipkin-consumer 服务消费
    zipkin-server zipkin链路跟踪UI展示

  3. 扩展Zipkin的span发送器说明:

    3.1 翻Spring-cloud-sleuth-zipkin源码,知道其工作主要线路:
    resources/META-INF/spring.factoires/[ZipkinAutoConfiguration] --> [ZipkinSpanReporter] -> [HttpZipkinSpanReporter] -> [RestTemplateSender]--> [AsyncReporter] -> [Sender.sendSpans]
    3.2 至于如何封装成Span的不在本文描述范围
    3.3 基于以上我们扩展一个Sender,实现sendSpans方法的实现,改为slf4j日志打印即可将feign产生的Span信息保存到本地文件
    3.4 详情请参考com.xiao.zipkin.common.zipkin包的内容实现
    3.5 logback-spring.xml参考

  4. logstash 配置(待补充):
    ELK环境搭建请自行查阅资料安装

     
    
  5. 更多参考资料:
    构建sleuth+zipkin全链路监控系统
    sleuth+zipkin+kafka+logstash链路追踪二次开发方案
    分布式链路追踪技术对比

  6. Github地址

About

Springcloud+zipkin+elk 链路跟踪

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages