自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用 Grafana Tempo 進(jìn)行分布式跟蹤

開源 分布式
Grafana Tempo 是一個(gè)新的開源、大容量分布式跟蹤后端。Grafana 的 Tempo 是出自 Grafana 實(shí)驗(yàn)室的一個(gè)簡單易用、大規(guī)模的、分布式的跟蹤后端。Tempo 集成了 Grafana、Prometheus 以及 Loki,并且它只需要對(duì)象存儲(chǔ)進(jìn)行操作,因此成本低廉,操作簡單。

[[389241]]

Grafana Tempo 是一個(gè)新的開源、大容量分布式跟蹤后端。

Grafana 的 Tempo 是出自 Grafana 實(shí)驗(yàn)室的一個(gè)簡單易用、大規(guī)模的、分布式的跟蹤后端。Tempo 集成了 Grafana、Prometheus 以及 Loki,并且它只需要對(duì)象存儲(chǔ)進(jìn)行操作,因此成本低廉,操作簡單。

我從一開始就參與了這個(gè)開源項(xiàng)目,所以我將介紹一些關(guān)于 Tempo 的基礎(chǔ)知識(shí),并說明為什么云原生社區(qū)會(huì)注意到它。

分布式跟蹤

想要收集對(duì)應(yīng)用程序請(qǐng)求的遙測(cè)數(shù)據(jù)是很常見的。但是在現(xiàn)在的服務(wù)器中,單個(gè)應(yīng)用通常被分割為多個(gè)微服務(wù),可能運(yùn)行在幾個(gè)不同的節(jié)點(diǎn)上。

分布式跟蹤是一種獲得關(guān)于應(yīng)用的性能細(xì)粒度信息的方式,該應(yīng)用程序可能由離散的服務(wù)組成。當(dāng)請(qǐng)求到達(dá)一個(gè)應(yīng)用時(shí),它提供了該請(qǐng)求的生命周期的統(tǒng)一視圖。Tempo 的分布式跟蹤可以用于單體應(yīng)用或微服務(wù)應(yīng)用,它提供 請(qǐng)求范圍的信息,使其成為可觀察性的第三個(gè)支柱(另外兩個(gè)是度量和日志)。

接下來是一個(gè)分布式跟蹤系統(tǒng)生成應(yīng)用程序甘特圖的示例。它使用 Jaeger HotROD 的演示應(yīng)用生成跟蹤,并把它們存到 Grafana 云托管的 Tempo 上。這個(gè)圖展示了按照服務(wù)和功能劃分的請(qǐng)求處理時(shí)間。

 

Gantt chart from Grafana Tempo

減少索引的大小

在豐富且定義良好的數(shù)據(jù)模型中,跟蹤包含大量信息。通常,跟蹤后端有兩種交互:使用元數(shù)據(jù)選擇器(如服務(wù)名或者持續(xù)時(shí)間)篩選跟蹤,以及篩選后的可視化跟蹤。

為了加強(qiáng)搜索,大多數(shù)的開源分布式跟蹤框架會(huì)對(duì)跟蹤中的許多字段進(jìn)行索引,包括服務(wù)名稱、操作名稱、標(biāo)記和持續(xù)時(shí)間。這會(huì)導(dǎo)致索引很大,并迫使你使用 Elasticsearch 或者 Cassandra 這樣的數(shù)據(jù)庫。但是,這些很難管理,而且大規(guī)模運(yùn)營成本很高,所以我在 Grafana 實(shí)驗(yàn)室的團(tuán)隊(duì)開始提出一個(gè)更好的解決方案。

在 Grafana 中,我們的待命調(diào)試工作流從使用指標(biāo)報(bào)表開始(我們使用 Cortex 來存儲(chǔ)我們應(yīng)用中的指標(biāo),它是一個(gè)云原生基金會(huì)孵化的項(xiàng)目,用于擴(kuò)展 Prometheus),深入研究這個(gè)問題,篩選有問題服務(wù)的日志(我們將日志存儲(chǔ)在 Loki 中,它就像 Prometheus 一樣,只不過 Loki 是存日志的),然后查看跟蹤給定的請(qǐng)求。我們意識(shí)到,我們過濾時(shí)所需的所有索引信息都可以在 Cortex 和 Loki 中找到。但是,我們需要一個(gè)強(qiáng)大的集成,以通過這些工具實(shí)現(xiàn)跟蹤的可發(fā)現(xiàn)性,并需要一個(gè)很贊的存儲(chǔ),以根據(jù)跟蹤 ID 進(jìn)行鍵值查找。

這就是 Grafana Tempo 項(xiàng)目的開始。通過專注于給定檢索跟蹤 ID 的跟蹤,我們將 Tempo 設(shè)計(jì)為最小依賴性、大容量、低成本的分布式跟蹤后端。

操作簡單,性價(jià)比高

Tempo 使用對(duì)象存儲(chǔ)后端,這是它唯一的依賴。它既可以被用于單一的二進(jìn)制下,也可以用于微服務(wù)模式(請(qǐng)參考倉庫中的 例子,了解如何輕松上手)。使用對(duì)象存儲(chǔ)還意味著你可以存儲(chǔ)大量的應(yīng)用程序的痕跡,而無需任何采樣。這可以確保你永遠(yuǎn)不會(huì)丟棄那百萬分之一的出錯(cuò)或具有較高延遲的請(qǐng)求的跟蹤。

與開源工具的強(qiáng)大集成

Grafana 7.3 包括了 Tempo 數(shù)據(jù)源,這意味著你可以在 Grafana UI 中可視化來自Tempo 的跟蹤。而且,Loki 2.0 的新查詢特性 使得 Tempo 中的跟蹤更簡單。為了與 Prometheus 集成,該團(tuán)隊(duì)正在添加對(duì)范例exemplar的支持,范例是可以添加到時(shí)間序列數(shù)據(jù)中的高基數(shù)元數(shù)據(jù)信息。度量存儲(chǔ)后端不會(huì)對(duì)它們建立索引,但是你可以在 Grafana UI 中檢索和顯示度量值。盡管范例可以存儲(chǔ)各種元數(shù)據(jù),但是在這個(gè)用例中,存儲(chǔ)跟蹤 ID 是為了與 Tempo 緊密集成。

這個(gè)例子展示了使用帶有請(qǐng)求延遲直方圖的范例,其中每個(gè)范例數(shù)據(jù)點(diǎn)都鏈接到 Tempo 中的一個(gè)跟蹤。

 

Using exemplars in Tempo

元數(shù)據(jù)一致性

作為容器化應(yīng)用程序運(yùn)行的應(yīng)用發(fā)出的遙測(cè)數(shù)據(jù)通常具有一些相關(guān)的元數(shù)據(jù)。這可以包括集群 ID、命名空間、吊艙 IP 等。這對(duì)于提供基于需求的信息是好的,但如果你能將元數(shù)據(jù)中包含的信息用于生產(chǎn)性的東西,那就更好了。   例如,你可以使用 Grafana 云代理將跟蹤信息導(dǎo)入 Tempo 中,代理利用 Prometheus 服務(wù)發(fā)現(xiàn)機(jī)制輪詢 Kubernetes API 以獲取元數(shù)據(jù)信息,并且將這些標(biāo)記添加到應(yīng)用程序發(fā)出的跨域數(shù)據(jù)中。由于這些元數(shù)據(jù)也在 Loki 中也建立了索引,所以通過元數(shù)據(jù)轉(zhuǎn)換為 Loki 標(biāo)簽選擇器,可以很容易地從跟蹤跳轉(zhuǎn)到查看給定服務(wù)的日志。

下面是一個(gè)一致元數(shù)據(jù)的示例,它可用于Tempo跟蹤中查看給定范圍的日志。

 

云原生

Grafana Tempo 可以作為容器化應(yīng)用,你可以在如 Kubernetes、Mesos 等編排引擎上運(yùn)行它。根據(jù)獲取/查詢路徑上的工作負(fù)載,各種服務(wù)可以水平伸縮。你還可以使用云原生的對(duì)象存儲(chǔ),如谷歌云存儲(chǔ)、Amazon S3 或者 Tempo Azure 博客存儲(chǔ)。更多的信息,請(qǐng)閱讀 Tempo 文檔中的 架構(gòu)部分

試一試 Tempo

 

如果這對(duì)你和我們一樣有用,可以 克隆 Tempo 倉庫試一試。

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2021-06-17 14:29:39

Linkerd 分布式跟蹤Linkerd 2.1

2022-02-18 09:30:48

分布式Spring應(yīng)用程序

2021-09-30 23:12:52

監(jiān)控分布式跟蹤

2017-01-16 14:51:26

京東分布式服務(wù)CallGraph

2012-05-21 16:28:29

LinuxHadoop

2023-11-01 18:02:33

RayPython分布式

2022-06-08 07:36:03

LocustKubernete微服務(wù)

2010-06-03 18:54:57

Hadoop

2019-10-28 10:10:01

技術(shù)研發(fā)分布式

2018-03-13 16:42:26

分布式服務(wù)跟蹤

2021-06-09 09:00:00

微服務(wù)架構(gòu)技術(shù)

2019-10-10 09:16:34

Zookeeper架構(gòu)分布式

2023-05-29 14:07:00

Zuul網(wǎng)關(guān)系統(tǒng)

2017-09-01 05:35:58

分布式計(jì)算存儲(chǔ)

2019-06-19 15:40:06

分布式鎖RedisJava

2018-03-02 16:11:29

Spring Clou分布式服務(wù)跟蹤

2018-09-29 08:44:24

開源分布式系統(tǒng)

2017-10-27 08:40:44

分布式存儲(chǔ)剪枝系統(tǒng)

2023-10-26 18:10:43

分布式并行技術(shù)系統(tǒng)

2015-08-04 15:47:39

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)