日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

.NetCore从零开始使用Skywalking分布式追踪系统

發布時間:2023/12/4 windows 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NetCore从零开始使用Skywalking分布式追踪系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文從0開始搭建兩個webapi項目,使用Skywalking來追蹤他們之間的調用關系及響應時間。開發環境為VisualStudio2019

1:安裝Skywalking,可參考:https://www.cnblogs.com/sunyuliang/p/11422576.html,本列中搭建好后的Skywalking服務器地址為:192.168.150.134

2:打開VS創建一個demo1的webapi項目。

? ? ? ?2.1:為項目添加NuGet程序包SkyAPM.Agent.AspNetCore的引用? ? ? ? ? ? ? ? ? ??

  2.2,在項目根目錄添加skyapm.json文件,并添加下以內容,其中的Servers結點的IP地址根據實際情況換成自己的服務器IP

{
"SkyWalking": {
"ServiceName": "Demo01",
"Namespace": "",
"HeaderVersions": [
"sw6"
],
"Sampling": {
"SamplePer3Secs": -1,
"Percentage": -1.0
},
"Logging": {
"Level": "Debug",
"FilePath": "logs/skyapm-{Date}.log"
},
"Transport": {
"Interval": 3000,
"ProtocolVersion": "v6",
"QueueSize": 30000,
"BatchSize": 3000,
"gRPC": {
"Servers": "192.168.150.134:11800",
"Timeout": 10000,
"ConnectTimeout": 10000,
"ReportTimeout": 600000
}
}
}
}

  2.3: 修改skyapm.json文件的屬性”復制到輸入目錄“ 修改為 ”如果較新則復制”

? ? ? ?2.4:展開項目的Properties,打開launchSettings.json文件,在其中的環境變量中加入?"SKYWALKING__SERVICENAME":?"asp-net-core-frontend"?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

  2.5:到目前skywalking就已經成功引入到系統中了。接下來我們來驗證一下是否正常,直接Ctrl+F5啟動項目,訪問https://localhost:44313/api/values

      ?  

  2.6:訪問Skywalking管理后臺(記得替換一下IP)http://192.168.150.134:8080/trace 。手動選一下時間范圍,結束時間選明天(選當時時間會搜索不到數據,不知道是時區還是skywalking的bug),點擊搜索。可以看到本次訪問的追蹤信息已經同步到了Skywalking中。

   ? ? ? ? ? ? 

?以上單個系統的追蹤就完成了,接下來我們再創建一個項目,步驟和第2步基本一樣,看看多系統的追蹤,這個才是Skywalking的價值所在。

3:另外再打開一個VS創建一個demo02的webapi項目。

? ? ? ?3.1:為項目添加NuGet程序包SkyAPM.Agent.AspNetCore的引用? ? ?

  3.2,在項目根目錄添加skyapm.json文件,并添加下以內容,其中的Servers結點的IP地址根據實際情況換成自己的服務器IP。其中ServiceName結點設置為:Demo02

{
"SkyWalking": {
"ServiceName": "Demo02",
"Namespace": "",
"HeaderVersions": [
"sw6"
],
"Sampling": {
"SamplePer3Secs": -1,
"Percentage": -1.0
},
"Logging": {
"Level": "Debug",
"FilePath": "logs/skyapm-{Date}.log"
},
"Transport": {
"Interval": 3000,
"ProtocolVersion": "v6",
"QueueSize": 30000,
"BatchSize": 3000,
"gRPC": {
"Servers": "192.168.150.134:11800",
"Timeout": 10000,
"ConnectTimeout": 10000,
"ReportTimeout": 600000
}
}
}
}

  3.3: 修改skyapm.json文件的屬性”復制到輸入目錄“?修改為 ”如果較新則復制”

? ? ? ?3.4:展開項目的Properties,打開launchSettings.json文件,在其中的環境變量中加入?"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES":?"SkyAPM.Agent.AspNetCore"?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?  3.5:在將ValuesController.cs中不加引用:?using?Microsoft.AspNetCore.Mvc;?,通過HttpClient依次調用Demo01的兩個方法,里面的https://localhost:44313對應為我們的Demo01項目。具體Get方法代碼如下:

// GET api/values
[HttpGet]
public async Task<string> Get()
{
var client = new HttpClient();
await client.GetStringAsync("https://localhost:44313/api/values/1");
return await client.GetStringAsync("https://localhost:44313/api/values");
}

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? 3.6:Ctrl+F5啟動項目,訪問http://localhost:21143/api/values

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

?  3.7:訪問Skywalking管理后臺(記得替換一下IP)http://192.168.150.134:8080/trace 。手動選一下時間范圍,結束時間選明天(選當時時間會搜索不到數據,不知道是時區還是skywalking的bug),點擊搜索。可以看到本次訪問兩系統單的調用關系圖已經同步到了Skywalking中

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

?以上多個系統間的追蹤也就都完成了,完成不用寫代碼,配置一下就好了。

原文鏈接:https://www.cnblogs.com/sunyuliang/p/11424848.html


.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?

總結

以上是生活随笔為你收集整理的.NetCore从零开始使用Skywalking分布式追踪系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。