OpenTelemetry Java Getting Started 3

前篇Java Spring官方範例Java Code研究

ZONGRU Li
Jul 4, 2022

實際將上一篇的Code抓下來研究

其中endpoint打到的Restful API部分的SpringBoot:

BootOtelTempoApiApplication:

RestTemplateConfig:

Flight:

先看看application.properties:

FlightClient:

FlightController:

FlightService:

對應到Grafana-Loki看到的:

注意時間序是由下往上

對應Grafana-Tempo看到的部分就是以下紅框:

Jaeger長差不多:

並且其中有用到的pom.xml內容:

以上就是SpringBoot專案本身的內容,這包應該屬於Client端的部分

另外我嘗試在本機啟動,由於沒有另一包provider來提供被呼叫

所以log會看到:

接著再匯入被呼叫的provider專案:

結構大概是這樣:

這邊挑重點:

被呼叫的Restful

FlighController:

FlightService:

所以整段的Jaeger才會長成這樣:

最後兩包的log都會產生在:

然後透過虛擬的volume_exporter掛在三個PV:

特別注意到上述的exporterPrometheus官網也沒有的

功能大概就是把一般程式專案沒有暴露URI位置/metricsPrometheus

Prometheus抓資料來處理

則需要各種不同的exporter進行資料的轉換

再由exporter暴露/metricsPrometheus提供資料

後面Prometheus才開始運行:

其中Prometheus使用的設定:

看到./etc/prometheus.yaml內容如下

這樣大略知道這之間log如何傳遞

主要是應用程式->透過volume_exporter轉換暴露/metrics->Prometheus

後續有將該專案目前內容進行fork到我個人Github Repo內備份參考!

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet