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)
原文地址:https://www.cnblogs.com/weiBlog/p/10447945.html