1. 程式人生 > >微服務閘道器從零搭建——(六)ocelot配置追蹤功能

微服務閘道器從零搭建——(六)ocelot配置追蹤功能

butterfly 準備工作

首先下載buterfly release版本 

解壓並通過命令啟動: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即可