调用链监控

Posted ityannic

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调用链监控相关的知识,希望对你有一定的参考价值。

一、背景

  以前都是单体应用,都在一个系统内完成。而现在都是微服务,一个请求进来,需要调用多个服务才能完成。出了问题,我们很难定位到底在哪个环节出了问题。

二、作用

  1.快速定位问题。通过调用链监控系统,我们能很快定位到哪个服务出了问题。

  2.项目拓扑图。当服务越来越复杂时,我们都无法准确知道服务之间都依赖关系。通过调用链监控系统,我们能清晰的生成项目的网络拓扑图。

  3.优化系统。通过调用链监控系统,我们可以随时监控哪些请求慢了,在哪个环节慢了,系统的瓶颈等等,从而作出相应的优化。

三、原理

  我们需要了解调用链监控几个核心概念:

    trace:一次分布式调用的链路踪迹

    span:一个局部方法的调用踪迹

    annotation:附属在span上的日志信息

    sampling:采样率。

技术图片

 

 

  我们看一次链路追踪,其中有几个参数需要注意一下:

    tid:一次链路请求的id,通过tid我们知道一次请求完整的调用路径。

    sid:每个局部方法的id

    pid:parent id,当前局部方法的父id。

四、常用调用链监控产品

  我们现在市场上常用的链路监控系统有zipkin,点评的CAT,skywalking等。

以上是关于调用链监控的主要内容,如果未能解决你的问题,请参考以下文章

java微服务分布式调用链APM监控

云原生分布式应用性能监控实践-天眼全流程调用链

云原生分布式应用性能监控实践-天眼全流程调用链

springboot 项目添加jaeger调用链监控

zipkin微服务调用链分析

链路监控工具pinpoint的安装和配置