sleuth+zipkin+kafka+logstash链路追踪二次开发方案

Posted sharedCode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sleuth+zipkin+kafka+logstash链路追踪二次开发方案相关的知识,希望对你有一定的参考价值。

系统架构方案

方案一

架构说明:

1.应用接入zipkin客户端,将span的信息直接推送给kafka

2.zipkin-server定kafka中订阅主体为sleuth的消息,将span中的信息推送到elasticsearch中

3.zipkin-ui项目负责从elasticsearch读取信息,分析信息,呈现图标给用户。

方案二

sleuth+zipkin+kafka+logstash链路追踪二次开发方案

架构说明:

1.接入链路追踪的客户端,仅需对本地日志输出进行配置,输出span的信息到本地文件里面

2.部署logstash,读取应用的span日志信息,然后将span信息发送给kafka

3.zipkin-server通过消费kafka中,topic为“sleuth”的消息,将span信息存入elasticsearch

4.zipkin-ui项目负责从elasticsearch读取信息,分析信息,呈现图标给用户。

通过logstash分析本地日志的方式,对应用的侵入性,性能影响,高可用的影响 都是降到最低的。

比较


方案一 方案二
优点 部署复杂度较低,开发成本相对较低 应用的侵入性,性能影响,高可用的影响 都是降到最低的
缺点 当kafka或者zookeeper宕机时, 已经启动的应用没有影响,对于正在启动的应用会启动失败 部署复杂度较大







功能设计

首页

sleuth+zipkin+kafka+logstash链路追踪二次开发方案


总应用数

接入全链路追踪系统的总应用数

总接口数

链路追踪系统所监测到的总接口数

错误数

最近15分钟之内发生的接口调用错误数量

系统吞吐量

以应用为维度,计算15分钟内的总请求数,求出每秒钟处理的接口数量。当然也可以是前一分钟内的请求总数,然后求出每秒钟平均处理的请求数。

接口最慢TOP10

查询所追踪到的系统,根据相应时间,最近15分钟内,平均响应时间最慢的接口前10

应用最慢TOP10

以应用为维度,查询应用在这15分钟内,所有的请求数据,求出平均响应时间,得到最慢的10个应用。

接口分析

接口列表

sleuth+zipkin+kafka+logstash链路追踪二次开发方案

该页面,显示的是所有接口的调用次数,平均响应时间,错误次数等信息,可以看做是接口的全局预览。

接口调用链

当前接口的颜色要进行区分, 查询时间要进行限制,不可以查询所有数据,后期数量量较大 

sleuth+zipkin+kafka+logstash链路追踪二次开发方案

traceId管理

traceId列表

sleuth+zipkin+kafka+logstash链路追踪二次开发方案

traceId 详情

页面样式可以参考原生的,显示的就是这个traceId关联的调用链 

全局调用链


以上是关于sleuth+zipkin+kafka+logstash链路追踪二次开发方案的主要内容,如果未能解决你的问题,请参考以下文章

分布式链路跟踪sleuth(zipkin+kafka+elasticsearch)

Kubnernetes 集群部署 Zipkin+Kafka+ElasticSearch 实现链路追踪

Kubnernetes 集群部署 Zipkin+Kafka+ElasticSearch 实现链路追踪

Kubnernetes 集群部署 Zipkin+Kafka+ElasticSearch 实现链路追踪

Kubnernetes 集群部署 Zipkin+Kafka+ElasticSearch 实现链路追踪

在 docker 中与 Zipkin 和 kafka 一起使用时找不到 zipkin2.reporter.Sender bean