在微服務與雲原生架構普及的今日,Observability 已成為系統監控的核心議題。OpenTelemetry 作為 CNCF 結盟的開放標準,提供統一的 trace、log 與 metric 收集與處理能力。然而,面對複雜的資料轉換需求,開發者常需面對語句調試與結果驗證的挑戰。OTTL(OpenTelemetry Transformation Language)作為 OpenTelemetry 收集器內建的 DSL,提供強大的資料處理能力,而 OTTL Playground 則透過 Web-based 沙箱環境,為使用者帶來更直覺的調試體驗。本文將深入解析 OTTL Playground 的功能與應用場景,並探討其在實際開發中的價值。
OTTL 是 OpenTelemetry 收集器內建的領域特定語言(DSL),專為 log、trace 與 metric 資料的轉換與過濾設計。其語法支援條件語句、邏輯運算子與約 100 個內建函數,例如解析 JSON、設定 log 級別、轉換時間格式等。其語法結構包含:
set_severity_number
、parse_json
)。例如,可透過條件語句判斷 log 內容是否包含 error
字串,並設定 severity_number
為 error
。
OTTL Playground 是一個基於 Web 的沙箱環境,允許使用者在不啟動 OpenTelemetry 收集器的情況下,直接測試與驗證 OTTL 語句。其核心價值在於提供視覺化結果、執行日誌追蹤與即時分享功能,大幅降低調試門檻。
傳統調試方法包括:
OTTL Playground 則透過以下功能解決這些問題:
Playground 兼容 OpenTelemetry 收集器的多種處理器,包括:
body
)並提取 message
欄位。level
為 debug
的日誌。輸入資料包含 JSON 格式的 body
與 timestamp
,轉換步驟如下:
body
為獨立欄位。timestamp
從字串轉為時間格式。severity_text
為 error
。body
為 message
。
輸出結果:body
被替換為 message
,新增 severity_text
,timestamp
格式更新。輸入資料包含多筆日誌(level
為 debug
、info
等),過濾條件為移除 level
為 debug
的日誌。輸出結果僅保留 info
級別以上的日誌。
OTTL Playground 即將支援:
OTTL Playground 透過 Web-based 沙箱環境,為 OpenTelemetry 使用者提供了一個高效、直覺的資料轉換與調試工具。其視覺化結果、聚焦執行日誌與即時分享功能,大幅簡化了 OTTL 語句的驗證流程。對於需要處理 log、trace 與 metric 的開發者而言,OTTL Playground 不僅是調試的利器,更是提升 Observability 運維效率的關鍵工具。建議在實際專案中先透過 Playground 測試語句邏輯,再整合至 OpenTelemetry 收集器,以降低生產環境的風險。