首頁  >  文章  >  web前端  >  開放遙測的基本概念

開放遙測的基本概念

WBOY
WBOY原創
2024-08-19 17:14:33726瀏覽

開放式遙測

在分散式系統和微服務猖獗的世界中,檢查系統操作或追蹤錯誤變得非常困難。在這種環境下,許多服務必須以通用格式發送資料並將其連接起來以分析系統。

Opentelemetry(以下簡稱 otel)是一個為了提高最新軟體趨勢的可觀察性而創建的框架。我們提供API、約定、工具包等

但即使只是一個單一的服務,查看日誌似乎更容易,而且設置起來也沒有那麼困難(只要你不做任何奇怪的事情...),所以它不是一個嘗試一下是個壞主意。

可觀測性

要了解otel,您需要了解可觀察性。
很難明確定義,但我認為可以將其定義為回答「為什麼會發生這種情況?」這個問題的能力

為了做到這一點,程式必須「裝備精良」。

儀器儀表

這是您在實作 Opentelementry 時會經常遇到的表達式。在韓語中,它的意思是“測量”,但您可以將其視為很好地測量事物並記錄它們

例如,有多個被測量的訊號(也稱為遙測資料),日誌、追蹤和指標都屬於這些訊號。 (這些訊號稍後會再次出現)

開放式遙測(續)

Otel 與供應商和工具無關,因此可以廣泛使用。沒有義務使用可觀察性後端。您可以使用符合 Otel 標準的開源。

要使用Otel,你只需要學習一點(?)概念和API。

關於 Opentelemetry 您需要了解的一些概念

你要學習構成Otel的元素。

  • 分散式追蹤

  • 日誌、跨度、追蹤

  • 上下文傳播

  • 訊號

  • 收集者

分散式追蹤

這是為了追蹤在分散式系統中發出請求時發生的情況。這是Otel非常重視的事情。分散式系統是指一個要求透過A服務、B服務、C服務完成的系統。

日誌、跨度、跟踪

紀錄

日誌與我們在編碼時總是取得的日誌相同。有時間戳,所以是在那個時間寫的。它對於解釋系統行為有很大幫助。

但是,從日誌本身很難理解程式碼。需要包含更多上下文資訊。 Log 與 Span 或 Trace 相關時更有用。

跨距

跨度是一個動作單位。 Span 中包含的特定操作的名稱、時間相關的資料和日誌都具有稱為 Span 屬性的特徵。

例如,它具有 http.request.method 和 url.path 等屬性。

痕跡

請求從開始到完成的過程稱為追蹤。此追蹤可能包括來自多個系統的跨度,而不僅僅是一個系統。

第一個跨度稱為根跨度。

通常描繪為瀑布圖。

Opentelemetry의 기본 개념

情境傳播

繼續傳播上下文訊息,以便可以連接相關訊號和跡線。

傳播序列化和反序列化這個上下文訊息對象,允許它在服務和進程之間移動。一般情況下,使用W3C TraceContext Propagator。

訊號

Signal是Otel的一個集合元素。總共有 4 個:Log、Metric、Trace 和 Baggage。

紀錄

這是上面提到的日誌。它包含在特定時間發送的訊息。

公制

這是測量服務中需要測量的數字的數據。例如,需要記錄這些內容來測量數字,例如呼叫了多少次以及隊列有多滿

痕跡

與上面提到的Trace相同。

行李

這是透過鍵值儲存像上下文一樣傳播的資訊。主要儲存用戶ID等附加資訊。

集電極

Opentelemetry의 기본 개념

它被稱為 Opentelemetry Collector。收集器負責從應用程式接收遙測數據,對其進行處理,然後將其匯出到遙測儲存。

不使用收集器將遙測資料直接從應用程式發送到儲存是可以的,但最好運行收集器並將遙測資料的處理留給收集器,應用程式做自己的事情。

使用收集器有很多優點,例如能夠在收集器中改變配置和跨尾過濾。

以上是開放遙測的基本概念的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn