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的功能來講已經完成夠用了。