资讯专栏INFORMATION COLUMN

快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+g

DesGemini / 777人阅读

摘要:一系列组成的一个树状结构,例如,如果你正在跑一个分布式大数据工程,你可能需要创建一个。开发者或运维人员可以轻松地执行高级数据分析,并在各种图表表格和地图中可视化数据。

快速构建spring-cloud + sleuth + rabbit + zipkin + es + kibana + grafana日志跟踪平台 简介 Spring-Cloud-Sleuth

Spring-Cloud-Sleuth是Spring Cloud的组成部分之一,为SpringCloud应用实现了一种分布式追踪解决方案,其兼容了Zipkin, HTrace和log-based追踪

术语(Terminology)

Span: 基本工作单元,例如,在一个新建的span中发送一个RPC等同于发送一个回应请求给RPC,span通过一个64位ID唯一标识,trace以另一个64位ID表示,span还有其他数据信息,比如摘要、时间戳事件、关键值注释(tags)、span的ID、以及进度ID(通常是IP地址)

span在不断的启动和停止,同时记录了时间信息,当你创建了一个span,你必须在未来的某个时刻停止它。

Trace: 一系列spans组成的一个树状结构,例如,如果你正在跑一个分布式大数据工程,你可能需要创建一个trace。

Annotation: 用来及时记录一个事件的存在,一些核心annotations用来定义一个请求的开始和结束

cs - Client Sent -客户端发起一个请求,这个annotion描述了这个span的开始
sr - Server Received -服务端获得请求并准备开始处理它,如果将其sr减去cs时间戳便可得到网络延迟
ss - Server Sent -注解表明请求处理的完成(当请求返回客户端),如果ss减去sr时间戳便可得到服务端需要的处理请求时间
cr - Client Received -表明span的结束,客户端成功接收到服务端的回复,如果cr减去cs时间戳便可得到客户端从服务端获取回复的所有所需时间

将Span和Trace在一个系统中使用Zipkin注解的过程图形化:

https://gitee.com/toopoo/Spri...

Rabbitmq:

消息队列,主要用于传输日志

Zipkin:

服务调用链路追踪系统,聚合各业务系统调用延迟数据,达到链路调用监控与跟踪。

服务调用链路
https://gitee.com/toopoo/Spri...

服务调用链路详情
https://gitee.com/toopoo/Spri...

服务间的调用关系
https://gitee.com/toopoo/Spri...

ES + Kibana:

提供搜索、查看和与存储在 Elasticsearch 索引中的数据进行交互的功能。开发者或运维人员可以轻松地执行高级数据分析,并在各种图表、表格和地图中可视化数据。

https://gitee.com/toopoo/Spri...

Grafana:

可视化图表监控工具

https://gitee.com/toopoo/Spri...

zipkin-server搭建与使用
version: "3"
services:
  rabbitmq:
    image: rabbitmq:alpine
    container_name: sc-rabbitmq
    restart: always
    volumes:
      - ./data/rabbitmq:/var/lib/rabbitmq
    networks:
      - sc-net
    ports:
      - 5672:5672
      
  zipkin-server:
    image: openzipkin/zipkin
    container_name: sc-zipkin-server
    restart: always
    volumes:
      - ./data/logs/zipkin-server:/logs
    networks:
      - sc-net
    ports:
      - 9411:9411
    environment:
      - RABBIT_ADDRESSES=rabbitmq:5672
      - RABBIT_MQ_PORT=5672
      - RABBIT_PASSWORD=guest
      - RABBIT_USER=guest
    depends_on:
      - rabbitmq
networks:
  sc-net:
    external: false
搭建ES + Grafana
version: "3"
services:
  elasticsearch:
    image: elasticsearch:alpine
    container_name: sc-elasticsearch
    restart: always
    volumes:
      - ./data/elasticsearch/logs:/var/logs/elasticsearch
    networks:
      - sc-net
    ports:
      - 9200:9200

  kibana:
    image: kibana
    container_name: sc-kibana
    restart: always
    volumes:
      - ./data/kibana/logs:/var/logs/kibana
    networks:
      - sc-net
    ports:
      - 5601:5601
    environment:
      - ELASTICSEARCH_URL=http://elasticsearch:9200
    depends_on:
      - elasticsearch

  grafana:
    image: grafana/grafana
    container_name: sc-grafana
    restart: always
    volumes:
      - ./data/grafana/logs:/var/logs/grafana
    networks:
      - sc-net
    ports:
      - 3000:3000
测试 启动服务

将以上docker-compose脚本保存为docker-compose.yml,并在当时目录下执行docker-compose up -d

spring-cloud集成

请参考:https://github.com/zhoutaoo/S... 例子

应用集成开发好后,请求应用的接口

查看日志

zipkin访问地址:http://localhost:9411,可以看到请求的耗时与路径

kibana访问地址:http://localhost:5601,可以看到请求打印的日志

grafana访问地址:http://localhost:3000,可以新增es数据源,出可视化的图表和监控

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27486.html

相关文章

  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+g

    摘要:一系列组成的一个树状结构,例如,如果你正在跑一个分布式大数据工程,你可能需要创建一个。开发者或运维人员可以轻松地执行高级数据分析,并在各种图表表格和地图中可视化数据。 快速构建spring-cloud + sleuth + rabbit + zipkin + es + kibana + grafana日志跟踪平台 简介 Spring-Cloud-Sleuth Spring-Cloud-...

    ZoomQuiet 评论0 收藏0
  • Spring Cloud SleuthGreenwich版本全攻略

    摘要:服务提供者提供一个接口,服务消费者通过消费服务。服务提供者服务提供者,对外提供一个,并向服务注册中心注册,这部分内容,不再讲述,见源码。 微服务架构是一个分布式架构,微服务系统按业务划分服务单元,一个微服务系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性较高,如果出现了错误和异常,很难去定位。主要体现在一个请求可能需要调用很多个服务,而内部服务的调用复杂性决定了问题难以定位...

    PascalXie 评论0 收藏0
  • Spring Cloud 参考文档(Spring Cloud Sleuth介绍)

    摘要:那个配置文件将来自应用程序的信息以格式记录到文件中。以下清单显示了使用的集成测试设置代码添加到项目本节介绍如何使用或将添加到项目中。以下示例显示了如何为执行此操作建议你通过添加依赖关系管理,这样你就无需自行管理版本。 Spring Cloud Sleuth介绍 Spring Cloud Sleuth为Spring Cloud实现了分布式追踪解决方案。 术语 Spring Cloud S...

    impig33 评论0 收藏0
  • Spring Cloud 分布式链路跟踪 Sleuth + Zipkin + Elasticsear

    摘要:,启动服务查看启动生个,推荐自己新建个用户,然后登录查看。,启动,可以看到界面,注意集群健康值,要是未连接就是有问题,自己解决。如下图查看可视化界面,就能看到服务调用链路信息。如下图以上一个完成的分布式服务链路追踪系统完成。 随着业务越来越复杂,系统也随之进行各种拆分,特别是随着微服务架构的兴起,看似一个简单的应用,后台可能很多服务在支撑;一个请求可能需要多个服务的调用;当请求迟缓或不...

    _Suqin 评论0 收藏0
  • springboot(2.1.0)+springcloud(Greenwich.M1)实现链路追踪

    摘要:主要问题由于新版本新版本实现链路追踪的一些新特性,使得我在实现的过程上踩了不少坑。同样一些场景下需要保存链路追踪的数据,以备后面观察对比,所以同样需要一个来存储数据。方法一,通过修改基配置文件后启动。 主要问题      由于springboot新版本(2.1.0)、springcloud新版本(Greenwich.M1)实现链路追踪sleuth+zipkin的一些新特性,使得我在实...

    Joonas 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<