摘要:一系列組成的一個(gè)樹狀結(jié)構(gòu),例如,如果你正在跑一個(gè)分布式大數(shù)據(jù)工程,你可能需要?jiǎng)?chuàng)建一個(gè)。開發(fā)者或運(yùn)維人員可以輕松地執(zhí)行高級(jí)數(shù)據(jù)分析,并在各種圖表表格和地圖中可視化數(shù)據(jù)。
快速構(gòu)建spring-cloud + sleuth + rabbit + zipkin + es + kibana + grafana日志跟蹤平臺(tái) 簡(jiǎn)介 Spring-Cloud-Sleuth
Spring-Cloud-Sleuth是Spring Cloud的組成部分之一,為SpringCloud應(yīng)用實(shí)現(xiàn)了一種分布式追蹤解決方案,其兼容了Zipkin, HTrace和log-based追蹤
術(shù)語(yǔ)(Terminology)
Span: 基本工作單元,例如,在一個(gè)新建的span中發(fā)送一個(gè)RPC等同于發(fā)送一個(gè)回應(yīng)請(qǐng)求給RPC,span通過一個(gè)64位ID唯一標(biāo)識(shí),trace以另一個(gè)64位ID表示,span還有其他數(shù)據(jù)信息,比如摘要、時(shí)間戳事件、關(guān)鍵值注釋(tags)、span的ID、以及進(jìn)度ID(通常是IP地址)
span在不斷的啟動(dòng)和停止,同時(shí)記錄了時(shí)間信息,當(dāng)你創(chuàng)建了一個(gè)span,你必須在未來的某個(gè)時(shí)刻停止它。
Trace: 一系列spans組成的一個(gè)樹狀結(jié)構(gòu),例如,如果你正在跑一個(gè)分布式大數(shù)據(jù)工程,你可能需要?jiǎng)?chuàng)建一個(gè)trace。
Annotation: 用來及時(shí)記錄一個(gè)事件的存在,一些核心annotations用來定義一個(gè)請(qǐng)求的開始和結(jié)束
cs - Client Sent -客戶端發(fā)起一個(gè)請(qǐng)求,這個(gè)annotion描述了這個(gè)span的開始
sr - Server Received -服務(wù)端獲得請(qǐng)求并準(zhǔn)備開始處理它,如果將其sr減去cs時(shí)間戳便可得到網(wǎng)絡(luò)延遲
ss - Server Sent -注解表明請(qǐng)求處理的完成(當(dāng)請(qǐng)求返回客戶端),如果ss減去sr時(shí)間戳便可得到服務(wù)端需要的處理請(qǐng)求時(shí)間
cr - Client Received -表明span的結(jié)束,客戶端成功接收到服務(wù)端的回復(fù),如果cr減去cs時(shí)間戳便可得到客戶端從服務(wù)端獲取回復(fù)的所有所需時(shí)間
將Span和Trace在一個(gè)系統(tǒng)中使用Zipkin注解的過程圖形化:
https://gitee.com/toopoo/Spri...
消息隊(duì)列,主要用于傳輸日志
Zipkin:服務(wù)調(diào)用鏈路追蹤系統(tǒng),聚合各業(yè)務(wù)系統(tǒng)調(diào)用延遲數(shù)據(jù),達(dá)到鏈路調(diào)用監(jiān)控與跟蹤。
服務(wù)調(diào)用鏈路
https://gitee.com/toopoo/Spri...
服務(wù)調(diào)用鏈路詳情
https://gitee.com/toopoo/Spri...
服務(wù)間的調(diào)用關(guān)系
https://gitee.com/toopoo/Spri...
提供搜索、查看和與存儲(chǔ)在 Elasticsearch 索引中的數(shù)據(jù)進(jìn)行交互的功能。開發(fā)者或運(yùn)維人員可以輕松地執(zhí)行高級(jí)數(shù)據(jù)分析,并在各種圖表、表格和地圖中可視化數(shù)據(jù)。
https://gitee.com/toopoo/Spri...
可視化圖表監(jiān)控工具
https://gitee.com/toopoo/Spri...
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測(cè)試 啟動(dòng)服務(wù)
將以上docker-compose腳本保存為docker-compose.yml,并在當(dāng)時(shí)目錄下執(zhí)行docker-compose up -d
spring-cloud集成請(qǐng)參考:https://github.com/zhoutaoo/S... 例子
應(yīng)用集成開發(fā)好后,請(qǐng)求應(yīng)用的接口
查看日志zipkin訪問地址:http://localhost:9411,可以看到請(qǐng)求的耗時(shí)與路徑
kibana訪問地址:http://localhost:5601,可以看到請(qǐng)求打印的日志
grafana訪問地址:http://localhost:3000,可以新增es數(shù)據(jù)源,出可視化的圖表和監(jiān)控
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/27486.html
摘要:服務(wù)提供者提供一個(gè)接口,服務(wù)消費(fèi)者通過消費(fèi)服務(wù)。服務(wù)提供者服務(wù)提供者,對(duì)外提供一個(gè),并向服務(wù)注冊(cè)中心注冊(cè),這部分內(nèi)容,不再講述,見源碼。 微服務(wù)架構(gòu)是一個(gè)分布式架構(gòu),微服務(wù)系統(tǒng)按業(yè)務(wù)劃分服務(wù)單元,一個(gè)微服務(wù)系統(tǒng)往往有很多個(gè)服務(wù)單元。由于服務(wù)單元數(shù)量眾多,業(yè)務(wù)的復(fù)雜性較高,如果出現(xiàn)了錯(cuò)誤和異常,很難去定位。主要體現(xiàn)在一個(gè)請(qǐng)求可能需要調(diào)用很多個(gè)服務(wù),而內(nèi)部服務(wù)的調(diào)用復(fù)雜性決定了問題難以定位...
摘要:那個(gè)配置文件將來自應(yīng)用程序的信息以格式記錄到文件中。以下清單顯示了使用的集成測(cè)試設(shè)置代碼添加到項(xiàng)目本節(jié)介紹如何使用或?qū)⑻砑拥巾?xiàng)目中。以下示例顯示了如何為執(zhí)行此操作建議你通過添加依賴關(guān)系管理,這樣你就無需自行管理版本。 Spring Cloud Sleuth介紹 Spring Cloud Sleuth為Spring Cloud實(shí)現(xiàn)了分布式追蹤解決方案。 術(shù)語(yǔ) Spring Cloud S...
摘要:主要問題由于新版本新版本實(shí)現(xiàn)鏈路追蹤的一些新特性,使得我在實(shí)現(xiàn)的過程上踩了不少坑。同樣一些場(chǎng)景下需要保存鏈路追蹤的數(shù)據(jù),以備后面觀察對(duì)比,所以同樣需要一個(gè)來存儲(chǔ)數(shù)據(jù)。方法一,通過修改基配置文件后啟動(dòng)。 主要問題 ???? 由于springboot新版本(2.1.0)、springcloud新版本(Greenwich.M1)實(shí)現(xiàn)鏈路追蹤sleuth+zipkin的一些新特性,使得我在實(shí)...
閱讀 783·2021-11-24 10:30
閱讀 1325·2021-09-24 09:48
閱讀 3125·2021-09-24 09:47
閱讀 3671·2019-08-29 17:11
閱讀 2958·2019-08-29 15:38
閱讀 2356·2019-08-29 11:03
閱讀 3664·2019-08-26 12:15
閱讀 1072·2019-08-26 10:45