微服務閘道器從零搭建——(六)ocelot配置追蹤功能
阿新 • • 發佈:2018-11-16
butterfly 準備工作
解壓並通過命令啟動:dotnet Butterfly.Web.dll --EnableHttpCollector=true
可以採用bat檔案的方式
cd C:\Users\Lenovo\Desktop\butterfly-web-preview-0.0.8 dotnet Butterfly.Web.dll --EnableHttpCollector=true
其中進入路徑需要自行替換
程式碼配置
測試demo中 12.0和 7.0 使用方法不完全一致
7.0的ocelot 使用時 只需要在 startup中的 ConfigureServices
新增如下程式碼
services.AddOcelot(Configuration) .AddOpenTracing(option => { //this is the url that the butterfly collector server is running on... option.CollectorUrl = "http://192.168.66.241:9618"; option.Service= "Ocelot"; });
而 12.0 的時候如果這麼寫 會出現 找不到AddOpenTracing 方法的問題
需要新增nuget包 Butterfly.Client.AspNetCore
引用0.0.8時可能會出現無法追蹤到請求的問題 引用0.0.7時 可能出現 依賴檢視無法顯示問題 具體使用哪個需要自行權衡
使用程式碼依然在startup中配置
services.AddButterfly(option => {//增加日誌 //this is the url that the butterfly collector server is running on... option.CollectorUrl = Configuration.GetSection("Setting:Butterfly:CollectorUrl").Value; option.Service = Configuration.GetSection("Setting:Butterfly:Service").Value; });
然後在appsettings.json 中加入
//Butterfly日誌追蹤 "Butterfly": { "CollectorUrl": "http://localhost:9618", //追蹤地址 "Service": "OcelotButterfly" //顯示名稱 }
如圖 :
最後在 configuration.json 中 ReRoutes內
為每個服務 增加內容
"HttpHandlerOptions": { "UseTracing": true // use butterfly to tracing request chain }
如圖所示:
測試效果
訪問 http://localhost:9618即可