OpenTelemetry Java Getting Started 2

Java Spring官方範例搭配Prometheus,Loki,Tempo,Grafana,Jaeger,PostgreSQL

ZONGRU Li
Jul 4, 2022

首先找到官方路徑:

會連結到以下github專案(LINK),依據底下的README.md執行

所以首先就是先clone該專案:

#執行以下進行整包專案的clone:
git clone https://github.com/mnadeem/boot-opentelemetry-tempo.git

裝一下Maven工具...

#執行安裝Maven:
sudo apt install maven

看起來也要裝一下docker

#執行docker安裝指令:
sudo apt install docker.io

還要安裝docker-compose

#執行docker-compose安裝:
sudo apt install docker-compose

然後因應後面會掛一些觀測平台,需要額外PORT,所以另外開:

以上大概就是README.md執行前的前置作業

開始跑README.md流程試試實際的SpringBoot專案

大概專案結構有:

在Clone的根目錄執行

#在稍早clone得到的目錄下執行:
cd ~/boot-opentelemetry-tempo/
mvn clean package docker:build

後面卡在/var/run/docker.sock的目錄權限:

所以改用root跑,比較快!(或就還要設置權限)

#改以root執行前面指令:
cd ~/boot-opentelemetry-tempo/
sudo mvn clean package docker:build

後面就正常:

#執行指令確認透過mvn打包的docker image:
sudo docker image ls | grep mnadeem

再來是兩種運行方式擇一:

我改成完整一點執行方式:

#透過docker-compose執行:
cd ~/boot-opentelemetry-tempo/
sudo docker-compose -f docker-compose.yaml up -d

這時候可以打到endpoint,觸發一筆請求以利後面平台觀察數據:

http://localhost:8080/flights

接著連到Grafana,顯示Loki的log:

http://localhost:3000/explore

然後依據官方教學找到要看的log:

再開一個Grafana分頁,顯示tempo的log,並輸入剛剛的trace ID:

也可以透過Jaeger頁面查看:

http://localhost:16686/search

就會看到:

點開各段可以展開:

再來看看prometheus:

http://localhost:9090/

當然也可以透過Grafana來顯示Prometheus:

另外還有PostgreSQL DB:

http://localhost:7070/login?next=%2F

UI的帳密在docker-compose.yaml裡面:

背後DB連線資訊是:

以上就跑完了整個教學

下一篇可能細細看一下背後的Java Code怎麼寫的

了解背後運作方式

最後結束執行:

#透過docker-compose執行:
cd ~/boot-opentelemetry-tempo/
sudo docker-compose -f docker-compose.yaml down

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

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

No responses yet