如何做網(wǎng)站的優(yōu)化網(wǎng)絡(luò)營銷好找工作嗎
應(yīng)用可觀測性O(shè)penTelemetry簡介
- OpenTelmetry遙測方案
- 可觀測性三支柱
- 日志 Logs
- 指標(biāo)
- 跟蹤
- 什么是OpenTelemetry
- OpenTelemetry架構(gòu)和組件
- OpenTelemetry與OpenCensus、OpenTracing是什么關(guān)系
OpenTelmetry遙測方案
可觀測性三支柱
日志 Logs
日志是特定事件在特定時(shí)間點(diǎn)發(fā)生的文本記錄。生成日志條目的觸發(fā)器是應(yīng)用程序代碼的一部分,因此當(dāng)執(zhí)行相關(guān)代碼時(shí),系統(tǒng)會(huì)重復(fù)產(chǎn)生日志條目。日志條目記錄了事件發(fā)生的時(shí)間,并提供了一個(gè)載荷,包括描述事件性質(zhì)、事件上下文以及其他后續(xù)分析可能有用的元數(shù)據(jù)。
根據(jù)日志的創(chuàng)建方式、使用的格式化規(guī)則以及自動(dòng)化邏輯處理的難度,日志可以廣泛分為以下幾類:
- 無結(jié)構(gòu)化日志:包括供人類處理的文本,可能不包含易于機(jī)器處理的元數(shù)據(jù)。通常被認(rèn)為是記錄的最常見方式,不幸的是通常難以解析以進(jìn)行分析。
- 結(jié)構(gòu)化日志:包括以易于其他代碼解析的標(biāo)準(zhǔn)格式組織的數(shù)據(jù)(例如JSON)。它包括使查詢?nèi)罩靖菀?#xff08;尤其是過濾和分組)的附加元數(shù)據(jù)。
日志提供了有關(guān)應(yīng)用程序行為的可靠且易于理解的信息源。開發(fā)人員在故障排除代碼并驗(yàn)證其執(zhí)行時(shí)常依賴于日志。當(dāng)故障位于整體應(yīng)用程序的特定組件中時(shí),此數(shù)據(jù)可能提供了識(shí)別系統(tǒng)故障和其他問題根本原因所需的細(xì)粒度信息,但它不一定足以理解故障在分布式系統(tǒng)中的起源以及實(shí)際產(chǎn)生的副作用。
指標(biāo)
指標(biāo)是與時(shí)間戳關(guān)聯(lián)的一系列數(shù)據(jù)點(diǎn),這導(dǎo)致了“時(shí)間序列”通常被認(rèn)為是“指標(biāo)”的同義詞。數(shù)據(jù)點(diǎn)的值通常是數(shù)字,例如在某個(gè)時(shí)間段內(nèi)提供的請(qǐng)求數(shù)的計(jì)數(shù),但在某些監(jiān)控系統(tǒng)中,它也可以是字符串(例如,Prometheus的“INFO”指標(biāo))或布爾值。
為了減少存儲(chǔ)和處理長時(shí)間跨度內(nèi)的指標(biāo)所需的計(jì)算資源量,通常慣例是“聚合”它們的值,例如將指標(biāo)的粒度從每秒一個(gè)數(shù)據(jù)點(diǎn)減少到一分鐘或十分鐘內(nèi)的數(shù)據(jù)點(diǎn)的平均值、均值和(在某些情況下,百分位數(shù))。由于指標(biāo)往往包含比日志更不敏感的數(shù)據(jù),因此基礎(chǔ)設(shè)施提供商和第三方服務(wù)更常見地提供有關(guān)他們代表用戶執(zhí)行的操作的指標(biāo),而不是日志。
跟蹤
跟蹤描述了請(qǐng)求在分布式系統(tǒng)中的整個(gè)路徑。隨著請(qǐng)求進(jìn)入系統(tǒng),處理它們的組件創(chuàng)建跨度(spans),這些跨度記錄了操作,比如“接收請(qǐng)求XYZ”或“發(fā)出數(shù)據(jù)庫查詢ABC”,操作開始的時(shí)間點(diǎn)以及完成所花費(fèi)的時(shí)間。
跨度根據(jù)它們的跟蹤標(biāo)識(shí)符進(jìn)行分組,并鏈接到它們的前身跨度,有效地創(chuàng)建了跨度的有向無環(huán)圖,展示了在分布式系統(tǒng)中如何進(jìn)行請(qǐng)求處理。根據(jù)在跟蹤中收集的信息的細(xì)粒度程度,通常可以一目了然地看到處理一個(gè)請(qǐng)求的錯(cuò)誤和延遲從何處起源,以及它們?nèi)绾卧诜植际较到y(tǒng)中傳播。跨度通常包括以下數(shù)據(jù):
- 跟蹤標(biāo)識(shí)符
- 跨度標(biāo)識(shí)符
- 操作的名稱
- 開始和結(jié)束時(shí)間戳
- 以鍵值格式編碼的元數(shù)據(jù),包括有關(guān)基礎(chǔ)設(shè)施的信息(例如,哪個(gè)容器處理了此請(qǐng)求)等。
- 事件(例如,日志、異常和錯(cuò)誤)
跟蹤的價(jià)值不僅限于故障排除單個(gè)請(qǐng)求。例如,通過匯總多個(gè)跟蹤中的數(shù)據(jù),可以生成關(guān)于速率、錯(cuò)誤和持續(xù)時(shí)間(RED)等指標(biāo)的數(shù)據(jù),這些指標(biāo)是站點(diǎn)可靠性工程(SRE)實(shí)踐中的所謂“黃金信號(hào)”的重要組成部分,正如Google最初定義的那樣。
什么是OpenTelemetry
OpenTelemetry架構(gòu)和組件