摘要:一系列組成的一個樹狀結構,例如,如果你正在跑一個分布式大數據工程,你可能需要創建一個。開發者或運維人員可以輕松地執行高級數據分析,并在各種圖表表格和地圖中可視化數據。
快速構建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...
消息隊列,主要用于傳輸日志
Zipkin:服務調用鏈路追蹤系統,聚合各業務系統調用延遲數據,達到鏈路調用監控與跟蹤。
服務調用鏈路
https://gitee.com/toopoo/Spri...
服務調用鏈路詳情
https://gitee.com/toopoo/Spri...
服務間的調用關系
https://gitee.com/toopoo/Spri...
提供搜索、查看和與存儲在 Elasticsearch 索引中的數據進行交互的功能。開發者或運維人員可以輕松地執行高級數據分析,并在各種圖表、表格和地圖中可視化數據。
https://gitee.com/toopoo/Spri...
可視化圖表監控工具
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測試 啟動服務
將以上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數據源,出可視化的圖表和監控
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27486.html
摘要:服務提供者提供一個接口,服務消費者通過消費服務。服務提供者服務提供者,對外提供一個,并向服務注冊中心注冊,這部分內容,不再講述,見源碼。 微服務架構是一個分布式架構,微服務系統按業務劃分服務單元,一個微服務系統往往有很多個服務單元。由于服務單元數量眾多,業務的復雜性較高,如果出現了錯誤和異常,很難去定位。主要體現在一個請求可能需要調用很多個服務,而內部服務的調用復雜性決定了問題難以定位...
摘要:那個配置文件將來自應用程序的信息以格式記錄到文件中。以下清單顯示了使用的集成測試設置代碼添加到項目本節介紹如何使用或將添加到項目中。以下示例顯示了如何為執行此操作建議你通過添加依賴關系管理,這樣你就無需自行管理版本。 Spring Cloud Sleuth介紹 Spring Cloud Sleuth為Spring Cloud實現了分布式追蹤解決方案。 術語 Spring Cloud S...
摘要:主要問題由于新版本新版本實現鏈路追蹤的一些新特性,使得我在實現的過程上踩了不少坑。同樣一些場景下需要保存鏈路追蹤的數據,以備后面觀察對比,所以同樣需要一個來存儲數據。方法一,通過修改基配置文件后啟動。 主要問題 ???? 由于springboot新版本(2.1.0)、springcloud新版本(Greenwich.M1)實現鏈路追蹤sleuth+zipkin的一些新特性,使得我在實...
閱讀 727·2021-11-24 10:30
閱讀 1261·2021-09-24 09:48
閱讀 3079·2021-09-24 09:47
閱讀 3596·2019-08-29 17:11
閱讀 2880·2019-08-29 15:38
閱讀 2277·2019-08-29 11:03
閱讀 3599·2019-08-26 12:15
閱讀 1015·2019-08-26 10:45