Sleuth服务跟踪简介

前言
微服务架构下,服务之间的调用关心越来越复杂,通过Zuul转发到具体的业务接口,一个接口中会涉及到多个微服务的教化,只要其中某个服务出现问题,整个请求都将失败。这个时候我们想快速定位到问题所在,就需要用到链路跟踪。每个请求都是一条完整的调用链,通过调用链我们可以清楚地知道这个请求经过了哪些服务,哪个服务上耗时多上时间,进而实现快速定位问题的目的。
在需要跟踪的服务中集成Sleuth,所有需要跟踪的服务都加上依赖。
2019-12-03 22:50:13.823 INFO [app-test, 42e8fa2fbc91f83d, 42e8fa2fbc91f83d, false] 5404 一- [io-59156-exec-9] c.f.f.s.c.SubstitutionController : 获取置换信息
在方法中记录日志,我们会发现在日志的最前面加了一部分内容,这就是Sleuth为服务直接提供的链路信息:
格式由[ appname, traceId, spanId, exportable ]组成,含义如下:

  • appname:服务名称
  • traceId:整个请求唯一的ID,它标识整个请求的链路
  • exportable:决定是否导入数据到ZIPkin中
    (zipkin是Twitter开源项目,一个致力于收集所有服务的监控数据的分布式跟踪系统,提供收集数据和查询数据的两大接口服务)

前面的案例中,我们已经实现了服务调用之间的链路追踪,但是这些日志是分散在各
个机器上的,就算出现问题了,我们想快速定位,也得从各个机器把日志整合起来,再去
查问题。这个时候就需要引入日志分析系统了,比如ELK ,可以将多台服务器上的日志
信息统一收集起来,在出问题的时候我们可以轻松根据traceId 来搜索出对应的请求链路
信息。

ELK简介
ELK由三部分组成:

  • Elasticsearch 开源分布式搜索引擎,特点是分布式、零配置、自动发现、索引自动分片、索引副本机制、restful风格接口、多数据源、自动搜索负载等;
  • Logstash 开源工具,可以对日志进行收集、分析、并存储以供以后使用;
  • kibana 开源工具,可以为Logstash和ElasticSearch提供日志分析友好的web界面,可以汇总、分析和搜索重要的数据日志;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值