OpenTelemetry 已成為可觀測性體驗的重要組成部分,隨著其持續發展,它日益滿足開發人員和運維人員的DevOps需求。然而,作為當前的主要開源項目之一,它仍需完善。它的功能——雖然可以說對于可觀測性來說已經必不可少——仍處于進行中,其成功取決于社區持續的支持和辛勤工作。它的實用性還取決于與OpenTelemetry結合使用的可觀測性工具和平臺。
譯自OpenTelemetry Is No ‘Magic Button’ for Observability,作者 B Cameron Gain。
“有些人將 OpenTelemetry 視為一個神奇按鈕,但最終,它應該幫助你更好地理解你的可觀測性數據——這取決于你將它與什么一起使用,”Ryan Perry,Grafana的工程總監告訴 The New Stack。“可觀測性的全部意義在于能夠詢問有關你的系統的問題并獲得答案,而無需添加新的孤島式檢測。”
來源:OpenTelemetry 文檔。
但在 OpenTelemetry 之前,甚至在可觀測性之前,就有監控。遙測數據包括日志、指標以及最近的跟蹤,提供需要審查或通過監控收集的數據。然而,一旦通過監控收集和觀察,如果數據未以適當的方式解析或引導以消除無關的遙測數據,那么它就沒有多大意義。
同時,作為一名使用不同遙測數據的運維人員,對事件或性能的觀察是有用的,并且在一定程度上一直是有用的。但它達不到可觀測性的要求,可觀測性涉及基于使用監控收集的數據進行推斷的分析和得出可操作的見解。
OpenTelemetry 為可觀測性提供了一個標準化流程。它可以看作三個主要組成部分:標準、SDK和收集器。標準確保互操作性,SDK 簡化應用程序檢測,收集器充當供應商中立代理。
它用于理解由指標、日志和跟蹤組成的遙測數據。它不僅僅是供應商中立,因為它旨在允許用戶將他們選擇的可觀測性工具集成到一個通用方法中,從而統一它們。
自 2019 年成立以來,OpenTelemetry 已可用于容納由跟蹤組成的遙測數據,隨后是指標,最近是 2023 年的日志。
這在實踐中意味著用戶將尋求可觀測性來獲得理解并執行其他操作。通常,你可以詢問有關你的系統的信息實時收集,例如為什么服務器內存不足、為什么跟蹤很慢、為什么請求很慢或為什么有錯誤日志,并且能夠在不執行新操作的情況下獲得該答案。收集器擅長以隨著時間推移越來越集成的形式獲取日志、指標、跟蹤和配置文件,為你指出正確方向,使用正確的工具來回答你的問題。但在實踐中,它是一種工具,例如 Grafana Cloud Profiles(由 OSS 數據庫Pyroscope提供支持),它可以補充你的可觀測性,以“更好地回答你使用日志、指標、跟蹤、配置文件或所有這些的某種組合提出的任何問題”,Grafana 的 Perry 說,他也是持續分析工具提供商Pyroscope的首席執行官兼聯合創始人,Grafana Labs 于 2023 年收購了該公司。
領先的可觀測性提供商提供 OpenTelemetry 的支持、維護和開發。其中包括 Grafana、
Honeycomb、Datadog、Dynatrace、Splunk 等組織。他們有一個共同的利益,那就是讓 OpenTelemetry 變得更好。
同時,他們還提供大量工作,在某些情況下,通過提供利用其功能的工具來讓 OpenTelemetry 變得更好。這些工具提供不同的分析,通常針對各種用例進行專門化,因為它們競爭提供獨特的功能。他們通過為項目本身做出貢獻以及創建和改進與 OpenTelemetry 結合使用的解決方案來實現這一點,即提供適當的可觀察性所需的深度分析。
對于 Grafana Labs 來說,當然,這是通過其對各種遙測數據的 Grafana 可視化來完成的。Grafana 在提高其可視化和應用程序的可用性方面發揮了至關重要的作用,并且作為其排名前十的貢獻者之一,為 OpenTelemetry 做出了重大貢獻。
Grafana 確實是大力支持 OpenTelemetry 的互操作性愿景和缺乏供應商鎖定機制的倡導者,Grafana 首席技術官Tom Wilkie在 4 月份于阿姆斯特丹舉行的年度用戶大會GrafanaCon期間告訴 The New Stack。“這與 Grafana 的‘大帳篷’理念和我們的開放思維文化產生共鳴。然而,OpenTelemetry 是一個龐大的項目,質量差異很大。一些領域,如指標,尚未完全兌現其承諾,”他說。
例如,在指標中,存在一些問題,例如一旦聲明指標就無法將其刪除,導致“如果大量流失”,則可能出現內存泄漏,Wilkie 說。“這些粗糙的邊緣阻止我們完全推薦將其用于指標的生產用途——但我們正在努力解決這些問題。我們認為消除這些問題是我們的責任。此外,至關重要的是要注意,所有這些都不是專有的,”他說。“我們為該項目做出貢獻,確保我們的改進使整個社區受益。我們有自己的 OpenTelemetry 組件發行版,這使我們能夠比等待上游批準更快地發布錯誤修復和安全更新。”
圖片
OpenTelemetry 集成,用于 Grafana Alloy 配置,與 Grafana 應用程序可觀察性一起使用。
Grafana Alloy 發行版的 OpenTelemetry Collector 是開源的,以及它相關的.NET和JavaSDK 的發行版。“客戶尋求可以依靠的東西,并提供支持和維護合同,我們提供這些,”Wilkie 說。
圖片
Grafana 的開源Beyla通過eBPF提供跟蹤,這是收集遙測跟蹤的另一種方式。它的開發與 OpenTelemetry 項目的分析器并行,Grafana Labs 作為主要貢獻者深度參與了該分析器的開發。分析器應該被證明對用戶很有用,因為它通過擴展到代碼級別來深入進行可觀察性分析。它通過擴展在統一流中提取的遙測數據來實現對指標、跟蹤和日志的更深入分析,該流擴展到整個網絡中的應用程序的代碼級別。代碼被分析并存儲。
Grafana 的工程總監Ryan Perry告訴 The New Stack,使用 Beyla,你正在更多地致力于分析,這與跟蹤密切相關。“分析可以告訴你你的代碼在特定時間段內實際做了什么,將跟蹤跨度與分析數據聯系起來,”Perry 說。“例如,Beyla 可能會告訴你你的代碼運行了七秒,而分析將分解這段時間在不同函數上花費的情況。”
本文鏈接:http://www.tebozhan.com/showinfo-26-91365-0.htmlOpenTelemetry并非可觀測性的“神奇按鈕”
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: Python 對象的行為是怎么區分的?