.Net Core 商城微服務項目系列(十):使用SkyWalking構建調用鏈監控(2019-02-13 13:25)


SkyWalking的安裝和簡單使用已經在前面一篇介紹過了,本篇我們將在商城中添加SkyWalking構建調用鏈監控。

 

順帶一下怎么把ES設置為Windows服務,cd到ES的bin文件夾,運行elasticsearch-service.bat install。

 

首先我們需要在每個服務里通過NuGet引用SkyAPM.Agent.AspNetCore,完成之后我們添加配置文件skyapm.json,可以通過SkyWalking的腳本命令自動生成,也可以手動新建,這里貼一下:

{
  "SkyWalking": {
    "ServiceName": "MI.Web",
    "Namespace": "",
    "HeaderVersions": [
      "sw6"
    ],
    "Sampling": {
      "SamplePer3Secs": -1,
      "Percentage": -1.0
    },
    "Logging": {
      "Level": "Information",
      "FilePath": "logs\\skyapm-{Date}.log"
    },
    "Transport": {
      "Interval": 3000,
      "ProtocolVersion": "v6",
      "QueueSize": 30000,
      "BatchSize": 3000,
      "gRPC": {
        "Servers": "localhost:11800",
        "Timeout": 10000,
        "ConnectTimeout": 10000,
        "ReportTimeout": 600000
      }
    }
  }
}

需要注意的是gRPC的Servers需要指定SkyWalking的服務端地址,默認端口是11800,因為我部署在本地,所以寫的localhost,大家酌情修改。

 

然后編譯將項目發布到IIS,當然這個時候SkyWalking是不起作用的,我們需要在IIS中設置下環境變量,這里設置環境變量有兩種方式:

(1)發布的文件里會有web.config,我們需要在web.config中添加環境變量:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\MI.Web.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout">
                <environmentVariables>
                    <environmentVariable name="ASPNETCORE_HOSTINGSTARTUPASSEMBLIES" value="SkyAPM.Agent.AspNetCore" />
                    <environmentVariable name="SKYWALKING__SERVICENAME" value="MI.Web" />
                </environmentVariables>
            </aspNetCore>
    </system.webServer>
  </location>
</configuration>
<!--ProjectGuid: ad411527-fcc6-45bb-98e6-de8310002d81-->

圖中標藍的部分是我們需要配置的環境變量,SKYWALKING_SERVERNAME是應用名稱,會在UI里顯示。

 

(2)通過IIS配置

選中相應項目,點擊配置編輯器

 

 

節點選擇圖中標記的,然后選中標記的選項,點擊最右邊的編輯項:

 

然后點擊添加,配置上面的兩個環境變量,通過IIS方式配置完成后web.config也會被自動修改:

 

 

OK,如果不出什么意外到這里我們就算配置完成了,啟動所有服務查看:

 

 

 

 

 

可以看待對應的服務請求已經有了調用數據,分別是Identity服務請求Token和其它兩個服務的健康檢查請求。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM