SkyWalking的安裝和簡單使用已經在前面一篇介紹過了,本篇咱們將在商城中添加SkyWalking構建調用鏈監控。web
順帶一下怎麼把ES設置爲Windows服務,cd到ES的bin文件夾,運行elasticsearch-service.bat install。json
首先咱們須要在每一個服務裏經過NuGet引用SkyAPM.Agent.AspNetCore,完成以後咱們添加配置文件skyapm.json,能夠經過SkyWalking的腳本命令自動生成,也能夠手動新建,這裏貼一下:elasticsearch
{ "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中設置下環境變量,這裏設置環境變量有兩種方式:ui
(1)發佈的文件裏會有web.config,咱們須要在web.config中添加環境變量:spa
<?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裏顯示。3d
(2)經過IIS配置code
選中相應項目,點擊配置編輯器orm
節點選擇圖中標記的,而後選中標記的選項,點擊最右邊的編輯項:xml
而後點擊添加,配置上面的兩個環境變量,經過IIS方式配置完成後web.config也會被自動修改:
OK,若是不出什麼意外到這裏咱們就算配置完成了,啓動全部服務查看:
能夠看待對應的服務請求已經有了調用數據,分別是Identity服務請求Token和其它兩個服務的健康檢查請求。