一舞蔽、Sleuth
1.1)Sleuth概述
訂單服務有orderId卡乾,庫存服務有stockId虐唠,支付服務有paymentId,作為這一整套流程Sleuth用traceId作為全鏈路唯一標識進行跟蹤,鏈路中每一個小的調(diào)用單元稱Span(記錄日志)
1.2)普通日志輸出
1.3)引入Sleuth的日志輸出
一個TraceId對應一個或多個SpanId
1.4)跟蹤原理
SpanId可以用來統(tǒng)計某個單元花費的時長
ParentSpanId表示當前SpanId的上一個工作單元的SpanId
1.5)抽樣收集
一般來說日志會全部收集到數(shù)倉中叛复,然后針對業(yè)務信息和重點日志信息進行提取存儲到我們的NoSQL(比如ES)
二、Elastic Stack
2.1)概述
ES負責存儲搜索扔仓,Logstash根據(jù)配置將指定路徑的日志收集起來褐奥,Kibana負責展示(大部分公司不用Kibana按自己想要的方式去展示)
2.2) Elastic Stack的產(chǎn)生歷史
2.3) Elastic Stack的應用方式
Filebeat選擇將采集日志輸出到Kafka是因為直接采集到Logstash和ES容易壓力過大,中間加一個彈性較大的異步MQ
Zookeeper配置概述
Kafka配置概述
演示1:下載翘簇、啟動撬码、配置Filebeat
Ps:最新版本中已移除輸出到Kafka
win啟動
查看Kafka是否成功創(chuàng)建名為filebeat的Topic
監(jiān)聽名為filebeat的Topic
修改采集日志路徑下的log文件
Kafka的consumer端已經(jīng)獲取到了
演示2:下載、啟動版保、配置Elasticsearch
演示3:下載呜笑、啟動、配置Kibana
演示4:下載彻犁、啟動叫胁、配置Logstash
啟動Logstash
修改日志文件
ElasticSearch-head插件中查看ES已經(jīng)存儲了日志的修改信息
演示5:配置服務日志輸出
三、Zipkin
3.1)概述
3.2)Zipkin基礎架構(gòu)
3.3)重要組件解釋
3.4)Zipkin的使用
jar包啟動Zipkin
點擊show查看詳情
查看請求時間
3.5)Zipkin配置外部MySQL
下載mysql.sql文件在本地數(shù)據(jù)庫中引入相關表