Spring Cloud Alibaba 实战(十三) - Sleuth调用链监控
来源:     阅读:803
依创模板店
发布于 2020-11-08 01:00
查看主页

本文概要:大白话剖析调用链监控原理,而后学习Sleuth,Zipkin,而后将Sleuth整合Zipkin,最后学习Zipkin数据持久化(Elasticsearch)以及Zipkin依赖关系图

1 剖析调用链监控原理

假如我们的项目出现异常了,怎样办呢?

1.1 问题定位需求

◆ 跨微服务的API调用发生异常,要求快速定位(比方5分钟以内)出问题出在哪里,该怎样办?
◆ 跨微服务的API调用发生性能瓶颈,要求迅速定位(比方5分钟以内)出系统瓶颈,该怎样办?

对于这两种情况,传统方式很难处理,需要调用链监控工具排查(有点相似于Linux内核的调用栈日志哦)

调用链监控工具可谓分布式项目维护的必备工具!

1.2 监控的基本原理

2 优雅地使用 Sleuth

2.1 何为 Sleuth

2.2 术语条目

Span (跨度)

Sleuth的基本工作单元,它用一个64位的id唯一标识。
除ID外,span还包含其余数据,例如形容、时间戳事件、键值对的注解(标签)、span ID、span父ID等。

前面我们DB中的一条数据就是一个span

trace (跟踪)

一组span组成的树状结构称为trace

即DB中完整的四条数据

Annotation (标注)

● CS ( Client Sent用户端发送)
用户端发起逐个个请求,该annotation形容了span的开始。
●SR ( Server Received服务器端接收)
服务器端取得请求并准备解决它。
●SS( Server Sent服务器端发送)
该annotation表明完成请求解决(当响应发回用户端时)。
●CR( Client Received用户端接收)
span结束的标识。用户端成功接收到服务器端的响应。

2.3 为客户中心整合Sleuth

3 Zipkin搭建与整合

3.1 何为Zipkin

Zipkin是Twitter开源的分布式跟踪系统,主要用来收集系统的时序数据,从而追踪系统的调用问题

3.2 搭建 Zipkin Server

Zipkin Server的 API兼容性(微服务通过集成reporter模块,从而Zipkin Server通信) 非常好,对于Spring Cloud Greenwich,Zipkin Server只要安装2.x就可。

curl -sSL https://zipkin.io/quickstart.sh | bash -s之后 java -jar启动

可看到也是一个SpringBoot应用



http://localhost:9411/zipkin/

4 整合Zipkin之后Nacos报错处理

5 为所有微服务整合Zipkin

对内容中心和网关都按照前面客户中心的步骤整合就可

6 Zipkin数据持久化(Elasticsearch)

STORAGE_TYPE=elasticsearch ES_HOSTS=localhost:9200 java -jar zipkin.jar

7 依赖关系图

curl -sSL https://zipkin.io/quickstart.sh | bash -s io.zipkin.dependencies:zipkin-dependencies:LATEST zipkin-dependencies.jar
STORAGE_TYPE=elasticsearch ES_HOSTS=localhost:9200 java -jar zipkin-dependencies.jar

Zipkin Dependencies指定分析日期

#分析昨天的数据 (OS/X下的命令)STORAGE_ TYPE=elasticsearch java -jar zipkin-dependencies.jar`date -uv-ld +%F`#分析昨天的数据 (Linux下的命令)STORAGE_ TYPE=elasticsearch java -jar zipkin-dependencies.jar`date -u -d '1 day ago' +%F`#分析指定日期的数据STORAGE TYPE=elasticsearch java -jar zipkin-dependencies.jar 2019-12-25

参考

免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 系统环境 windows
相关推荐
Centos7 配置 TAR免安装版 MySQL5.7
强大apache提供的操作字符好工具「程序员学习下开发效率会飙升」
MAC安装Nginx 以及使用中遇到的坑
Spark SQL与DataFrame详解以及使用
云服务器 IPV6的配置文章
首页
搜索
订单
购物车
我的