前言
當我們直接跑 jaeger-all-in-one 時,預設將資料放在 memory 之中。
如果要長期監控的話,我們可以將資料存起來。
所以我們就將資料放到 Elasticsearch 之中。
實作
我們可以參考 SETTING UP ELASTICSEARCH AND KIBANA ON WINDOWS就可以了,如下,
安裝 Java Runtime Environment (JRE)
請到 Java SE Runtime Environment 8 Downloads 下載,筆者是下載 Java SE Runtime Environment 8u201 來安裝。
安裝完成後,檔案會放在 C:\Program Files\Java\jre1.8.0_201 。
設定 Java 環境變數
請設定環境變數 JAVA_HOME 為 C:\Program Files\Java\jre1.8.0_201 (依您安裝的路徑)。
並將 C:\Program Files\Java\jre1.8.0_201\bin 加入到 Path 之中 (請注意,在 Path 之中是否有別的 Java 路徑)。
在 Command 執行 java -version 看看是否為安裝的版本,
安裝 Elasticsearch
下載及安裝 Elasticsearch 6.7.0
請到 Elasticsearch 官網下載網頁,我的環境是 Windows ,所以我下載 MSI 檔來安裝。因為我是在本機上測試,所以安裝過程中,我不以 service 方式啟動。安裝完成後,程式會放在 C:\Program Files\Elastic\Elasticsearch\6.7.0 路徑(因為我裝的是 6.7.0 版本),而設定及 Log 則放在 C:\ProgramData\Elastic\Elasticsearch 路徑。
執行 Elasticsearch
開啟 Command 視窗,cd 到 C:\Program Files\Elastic\Elasticsearch\6.7.0\bin 目錄,執行 elasticsearch ,如下,
再開啟瀏覽器,在網址列輸入 http://localhost:9200/ 看看是否有正常的顯示資料。
安裝 Kibana
下載及安裝 Kibana
請到 Kibana 官網下載網頁,下載 Windows 平台的 zip 檔案。
下載完成後,請解壓縮到 C:\Program Files\Elastic 目錄,如下,
執行 Kibana
開啟 Command 視窗,cd 到 C:\Program Files\Elastic\kibana\kibana-6.7.0-windows-x86_64\bin 目錄,執行 kibana.bat ,如下,
註:如果 Elasticsearch 在別台的話,請更改 C:\Program Files\Elastic\kibana\kibana-6.7.0-windows-x86_64\config\kibana.yml 中 elasticsearch.hosts 的設定值。
再開啟瀏覽器,在網址列輸入 http://localhost:5601/ 看看是否有正常的顯示資料。
設定 Jaeger
Elasticsearch 正常執行後,就可以開啟 Command 視窗,執行 jaeger-all-in-one.exe ,設定 span-storage.type 為 elasticsearch,如下,
1 | jaeger-all-in-one --collector.zipkin.http-port=9411 --span-storage.type=elasticsearch --es.server-urls=http://localhost:9200/ --es.tags-as-fields.all=true |
當然,如果分別執行 jaeger-collector.exe 及 jaeger-query.exe 也可以哦!
當服務都起來後,啟動 訂便當 Bot 來測試,然後到 Kibana 建立 Index (Management -> Kibana -> Index Patterns),我們可以建立 jaeger-span-* ,如下,
再點選 Discover ,如果目前沒有資料的話,可以點右上方設定查詢的時間,
設定時間區間後,就可以看到從 Jaeger 送進來的資料,如下,
如果測試沒問題的話,就可以將它們設定為 Service 。
測試過程中,感謝 George 同事的幫忙。
參考資料
SETTING UP ELASTICSEARCH AND KIBANA ON WINDOWS
Elastic stack(安裝篇 via Docker)