Skywalking服务端的搭建前一篇已经介绍过了,本篇咱们将在.net core客户端接入探针,监控.net core应用。web
本身新建一个webAPI项目或者拿之前的项目都行。在包管理器里面搜索nuget包:SkyAPM.Agent.AspNetCore,本次使用的是0.8.0版本sql
添加环境变量ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore,添加环境变量有如下几种方式json
直接添加系统环境变量,这样所有的项目都生效c#
在项目中添加,能够在launchSettings.json
或者是在启动项配置里面添加,两个效果都是同样的bash
这里也有几种添加配置的方式,从源码中发现,配置的加载顺序是先加载默认配置( 能够进入 AddSkyWalkingDefaultConfig 查看源码,里面含 skywalking.json 全部默认配置项 ),而后加载 appsettings.json、skywalking.json,全部 skywalking.json 的默认配置彻底能够先去掉,须要的时候再设置,更简洁点其实咱们并须要 skywalking.json ,只须要使用 appsettings.json 就能够。app
builder.AddSkyWalkingDefaultConfig(); builder.AddJsonFile("appsettings.json", true).AddJsonFile($"appsettings.{environmentProvider.EnvironmentName}.json", true); builder.AddJsonFile("skywalking.json", true).AddJsonFile($"skywalking.{environmentProvider.EnvironmentName}.json", true);
首先经过如下命令安装 SkyWalking DotNet CLIide
dotnet tool install -g SkyWalking.DotNet.CLI
这一步安装完成后,也能够选择将.net core Agent到当前机器上(可选,后面写怎么用)ui
dotnet skywalking install
这一步的安装须要注意如下几项:spa
安装可能会比较慢,可是必定要等到最终输出SkyWalking .NET Core Agent was successfully installed
才表明成功.net
接下来就可使用命令来生成skywalking.json
配置文件
dotnet skywalking config [application_code] [collector_server]
{ "SkyWalking": { "ServiceName": "your_service_name", "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 } } } }
这种方式就比较简单了,直接在项目里的appsettings.json里加入skywalking的配置节点就行
"SkyWalking": { //服务名 "ServiceName": "Aggreg_2", "Logging": { "Level": "Information", "FilePath": "logs\\skyapm-{Date}.log" }, "Transport": { "gRPC": { //采集的地址 "Servers": "192.168.1.219:11800" } } }
启动服务后,能够在项目文件下的log文件夹里面看到按照格式生成的日志
看到一下信息就表示接入成功了
接下来能够请求几回,去UI界面看效果了,从图中能够看到服务名,请求都有了
目前安装.net core Agent是经过引入nuget包,若是服务比较多的话,每个服务都须要引入探针,因为如今skywalking的发展很是迅速,若是到时候升级的话须要更换全部服务的nuget包,很是麻烦,因此这个时候就能够用到以前提到过的安装本地探针的方式来接入.net core应用(这个方式目前还没试过,不过参考了相关博客),赞成配置好环境变量和配置文件后,运行如下命令便可
set DOTNET_ADDITIONAL_DEPS=%PROGRAMFILES%\dotnet\x64\additionalDeps\skywalking.agent.aspnetcore dotnet run
固然,如今skywalking发展很是迅速,不少组件也会慢慢支持,不过目前就查询接口和sql的功能来讲已经完成够用了。