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

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

分享圖片 部署 dap get time 發布 head ria 節點

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,如果不出什麽意外到這裏我們就算配置完成了,啟動所有服務查看:

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