SpringCloud第12讲:调用链监控工具Sleuth+Zipkin

SpringCloud第12讲:调用链监控工具Sleuth+Zipkin,第1张

SpringCloud第12讲:调用链监控工具Sleuth+Zipkin

Sleuth是一个SpringCloud的分布式跟踪解决方案

一、术语
    Span(跨度):Sleuth的基本工作单元,他用一个64位的id唯一标识。除ID外,span还包含其他数据,例如:描述、时间戳事件、键值对的注解(标签)、spanID、span父ID等trace(跟踪):一组span组成的树状结构称为trace

Annotation(标注):
    CS(ClientSent客户端发送):客户端发起一个请求,该annotation描述了span的开始;
    SR(ServerReceived服务器端接收):服务器端获得请求并准备处理它;
    SS(ServerSent服务器端发送):该annotation表明完成请求处理(当响应发回客户端时);
    CR(ClientReceived客户端接收):span结束的标识。客户端成功接收到服务器端的响应。

 

二、Zipkin的搭建与整合

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

搭建ZipkinServer

参考:https://www.imooc.com/article/291572

启动ZipkinServer,命令:java -jar zipkin-server-2.12.9-exec.jar

 浏览器访问地址:http://localhost:9411

三、为用户中心整合Sleuth和Zipkin 3.1、在pom.xml中添加依赖

    org.springframework.cloud
    spring-cloud-starter-zipkin

3.2、 在application.yml中添加属性
spring:
  zipkin:
    base-url: http://localhost:9411/
  sleuth:
    sampler:
      #抽样率,默认0.1(10%),设置为1.0表示所有的数据都会上报给Zipkin
      probability: 1.0
3.3、测试:启动用户中心

http://localhost:8081/users/1

 3.4、整合Zipkin之后Nacos报错解决

参考:https://www.imooc.com/article/291578

只需要添加discoveryClientEnabled属性就可以解决问题

spring:
  zipkin:
    base-url: http://localhost:9411/
  sleuth:
    sampler:
      #抽样率,默认0.1(10%),设置为1.0表示所有的数据都会上报给Zipkin
      probability: 1.0
      #将Zipkin地址设置为绝对地址,nacos不会将其认作是一个服务名称,从而解决nacos报错
      discoveryClientEnabled: false
四、Zipkin数据持久化

Zipkin数据持久化依赖Elasticsearch数据库

下载地址:下载6.8.2

https://www.elastic.co/cn/downloads/past-releases#elasticsearch

启动Elasticsearch,在bin目录执行命令:./elasticsearch

 浏览器访问:http://localhost:9200/

启动Zipkin时需要指定STORAGE_TYPE和ES_HOSTS环境变量来完成持久化

命令:STORAGE_TYPE=elasticsearch ES_HOSTS=localhost:9200 java -jar zipkin-server-2.12.9-exec.jar

五、 Zipkin的环境变量 环境变量描述STORAGE_TYPE指定存储类型,可选项为elasticsearch、mysql、cassandra等ES_PIPELINE指定span被索引之前的pipeline(pipeline是Elasticsearch的概念)ES_TIMEOUT连接Elasticsearch的超时时间,单位是毫秒;默认10000(10秒)ES_INDEXZipkin所使用的索引(Zipkin会每天建索引)前缀,默认是zipkinES_DATA_SEPARATORZipkin建立索引的日期分隔符,默认是-ES_INDEX_SHARDSshard(shard是Elasticsearch的概念)个数,默认5ES_IMDEX_REPLICAS副本(replica是Elasticsearch的概念)个数,默认1ES_USERNAME/ES_PASSWORDElasticsearch账号密码ES_HTTP_LOGGING控制Elasticsearch API的日志级别,可选项为BASIC、HEADERS、BODY

 特别声明:本系列教程(SpringCloudAlibaba)参考自慕课网大目老师提供的网上视频课程,有需要的同学可以自行搜索学习

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5711330.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存