Odigos 安裝使用

circle-info

本文轉寫時間為 2023年11月20日,內容可能會有變動,僅記錄

Odigos結合了OpenTelemetry和eBPF,自動為應用程式進行instrument,不須修改任何程式。使用Odigos,可獲得分散式追蹤、metric和log。此外Odigos能夠檢測每個正在運行的應用程式的編程語言,並使用最適合該編程語言的instrument技術。

Odigos使用eBPF來instrument應用程式。eBPF是一種kernel技術,對應用程式幾乎沒有任何額外影響。

Odigos 架構

  1. 下載 odigos cli,請根據作業系統和架構選擇 https://github.com/keyval-dev/odigos/releases

  2. 解壓縮

  3. 確認kubeconfig 位置,此範例在預設位置 ~/.kube.config

  4. 部屬範例程式,這裡不跟官網一樣,我選sock-shop 為範例,請修改yaml 內的mongodb image為 mongo:5.0.11

  5. 安裝 Odigos

  6. 啟動UI頁面

    輸入IP port 即可看到網頁

  7. 部署範例

  8. 部署 all-in-one Jaeger

  9. 回到 odigos ui 重整頁面,namespace 選擇 sock-shop ,選擇要被 trace 的服務,這裡全選

  10. 下一步,選擇輸出的目的,這裡選擇剛剛建立的 jaeger

    並輸入 jaeger 位置

  11. 完成後可以看到所有服務透過 odigos 把trace 導入到 jaeger

  12. 回到範例程式頁面,並操作

  13. 連到jaeger 頁面, http://localhost:16686,即可看到trace 結果

結論

可以不用重啟程式,透過UI介面就可以設定那些應用程式可以trace,使用起來非常方便,但是目前專案剛起步,使用上還太少客製化設定,像是採樣率還有政策等等,還有透過UI操作時有時候會一直無法加入trace,這個專案可以持續關注未來的發展,個人覺得有淺,但是社群也需要大力支持才能更強壯。

Last updated