Chuyển đến nội dung chính

第 34 課:TEMPO — 分散式追蹤

部署 Grafana Tempo 以實現分散式追蹤、OpenTelemetry 檢測、追蹤與日誌/指標的關聯、策略和追蹤感知監控。

🔒 DevSecOps — 第 34 课 第 34 课:节奏 — 分布式跟踪

使用 Kubernetes HA 在本地部署微服務

第 8 部分:可觀察性 — Prometheus、Loki、Tempo

xdev.asia

🎯 課程目標__HTMLTAG_66___
  • ✅ 分布式跟踪概念(跨度、跟踪、上下文传播)
  • ✅ 在 K8s 上部署 Grafana Tempo
  • ✅ OpenTelemetry 收集器和仪器 SDK__HTMLTAG_73___
  • ✅ 跟踪 → 日志 → 指标相关性
  • ✅ 采样策略(头、尾、自适应)
  • ✅ TraceQL 查询__HTMLTAG_79___

第 1 部分:分布式跟踪概念

程式碼區塊_0

___HTMLTAG_87__HTMLTAG_88___功能___HTMLTAG_89__HTMLTAG_90___節奏___HTMLTAG_91__HTMLTAG_92____Jaeger___HTMLTAG_93__HTMLTAG_94___拉鍊___MLG_95_____MLG_95_____ ___HTMLTAG_99__HTMLTAG_100___儲存後端___HTMLTAG_101__HTMLTAG_102___物件儲存(S3/GCS)___HTMLTAG_103__HTMLTAG_104_ __Elasticsearch/Cassandra___HTMLTAG_105__HTMLTAG_106___Elasticsearch/MySQL___HTMLTAG_107__HTMLTAG_108___ ___HTMLTAG_109__HTMLTAG_110___成本____HTMLTAG_111__HTMLTAG_112___非常低___HTMLTAG_113__HTMLTAG_114___高(索引所有內容)___HTMLTAG_115__HTMLTAG_116______HTML ___HTMLTAG_119__HTMLTAG_120___搜尋___HTMLTAG_121__HTMLTAG_122___TraceQL(強大)___HTMLTAG_123__HTMLTAG_124___基於標籤____HTMLTAG_125__HTMLTAGML_126124___基於標籤___128___ ___HTMLTAG_129__HTMLTAG_130___整合___HTMLTAG_131__HTMLTAG_132___Grafana 原生___HTMLTAG_133__HTMLTAG_134___獨立使用者介面___HTMLTAG_135__HTMLTAG_136___13HT7136___13HTHTML ___HTMLTAG_139__HTMLTAG_140___追蹤發現___HTMLTAG_141__HTMLTAG_142___指標 → 追蹤____HTMLTAG_143__HTMLTAG_144___手動搜尋____HTMLTAG_145__HTMLTAG_146144______手動搜尋____184U_____ ___HTMLTAG_149__HTMLTAG_150___協定____HTMLTAG_151__HTMLTAG_152___OTLP、Jaeger、Zipkin____HTMLTAG_153_ _HTMLTAG_154___Jaeger、OTLP____HTMLTAG_155__HTMLTAG_156___Zipkin、OTLP___HTMLTAG_157__HTMLTAG_158___

第 2 部分:部署 GRAFANA TEMPO

程式碼區塊_1

程式碼區塊_2


第 3 部分:開放式遙測收集器

程式碼區塊_3


第 4 部分:應用程式工具__HTMLTAG_170___

程式碼區塊_4

程式碼區塊_5


第 5 部分:TRACEQL 查詢

程式碼區塊_6


第 6 部分:追蹤-對數-度量相關性

程式碼區塊_7

程式碼區塊_8


💡 重點

    ___HTMLTAG_181__HTMLTAG_182___Tempo:物件儲存上的追蹤儲存 → 經濟高效 ___HTMLTAG_185__HTMLTAG_186___OpenTelemetry:供應商中立的儀器標準 ___HTMLTAG_189__HTMLTAG_190___OTel 收集器:中央管道,尾部採樣 ___HTMLTAG_193__HTMLTAG_194___TraceQL:依屬性、持續時間、狀態查詢追蹤 ___HTMLTAG_197__HTMLTAG_198___相關性__HTMLTAG_199___:追蹤 ↔ 日誌 ↔ 指標 = 快速根本原因 ___HTMLTAG_201__HTMLTAG_202___取樣:始終保持錯誤+緩慢,取樣正常

🎯 EXERCISE

練習 1:節奏 + OTel 設定

  • 部署 Tempo + OTel Collector
  • 儀器範例 Go/Node.js 應用
  • 在 Grafana 中查看追蹤__HTMLTAG_217___

練習 2:追蹤相關性__HTMLTAG_220___
  • 在 Grafana 中設定追蹤到日誌連結__HTMLTAG_223___
  • 注入錯誤,透過追蹤→日誌流查找根本原因
  • 編寫 TraceQL 查詢以取得緩慢/錯誤追蹤

📚 NEXT POST

在第35課:Grafana儀表板和SLO中,我們將建立統一的儀表板並實現SLO/SLI監控。