iT邦幫忙

2024 iThome 鐵人賽

DAY 15
1
DevOps

全端監控技術筆記---從Sentry到Opentelemetry系列 第 15

Day15---談到Opentelemetry,我們在談論什麼

  • 分享至 

  • xImage
  •  

前言

在上一篇文章中,我們簡單介紹了 OpenTelemetry,並且探討了Sentry 如何整合它來增強對應用的監控能力。而當我們深入了解 OpenTelemetry 時,會發現它其實是圍繞著三大支柱進行數據收集和觀測的:tracemetriclog。這三者共同構成了現代應用觀測性的核心。這一篇,我們將逐一解析這三個觀測性概念。

trace

Trace 是 OpenTelemetry 中最常見的觀測數據形式之一,它主要用來追蹤請求在分佈式系統中的流轉路徑。每個 trace 都會包含許多 spans,而每個 span 代表應用中一個操作的執行階段。

image
image from What are Spans in Distributed Tracing? | Ataus

透過 trace,我們可以非常清楚地看到一個請求從前端到後端、再到資料庫、再到其他服務等等的整個路徑。在有異常時間發生時,這樣的觀測數據可以幫助我們快速找出是錯誤是從哪個鏈路拋出的;或者一個請求耗時過長,我們也可以透過觀測全鏈路來定位那些耗時操作。

metric

metric 在 Opentelemetry中,是設計為多功能、支援各種類型數據的觀測指標,可以依據工程團隊的需求,從簡單的Http請求計數、到複雜的系統資源利用率都可以採集。

在 Opentelemetry中的 metric 類型,主要有

  • Counter---計數器,主要是捕捉累積總數的metic,如事件發生的次數。
  • Gauge---儀表,主要是測量特定數據當下瞬間的值,例如Memory使用情況。
  • Histogram---直方圖(?),主要是會將特定metric再分類成不同的bucket,實現該metric的分佈情況,例如對Http請求的延遲分佈記錄。

通過分析 metrics,開發者可以評估應用的整體性能,並在系統過載或其他異常情況發生前,提前進行警告和修復。

log

在 Opentelemetry 中的log,主要是提供了一個定義框架,如timestampsresource identifiersattributes等,確保日誌的跨工具和跨平台性。

同時,這樣做的目標也是為了讓log 能夠和 trace 、 metric 聯繫起來,實現全面的可觀測性。

小結

OpenTelemetry 為我們提供了 trace、metric 和 log 這三大核心數據,讓我們能夠從不同維度觀測應用的健康狀態和性能。這三者並非孤立存在,而是互相補充,幫助開發者全面掌控應用的運行狀況。

接下來幾篇,我們將會先demo每個觀測數據是如何在 Opentelemetry 中採集並呈現,然後探究其中的邏輯,最後手動實現看看。

ref

ChangeLog

  • 20240929--完成內文
  • 20240922--大綱

上一篇
Day14---Sentry 與 Opentelemetry
下一篇
Day16--簡單demo看看 Opentelemetry tracing data + Jaeger
系列文
全端監控技術筆記---從Sentry到Opentelemetry30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言