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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

Asp.Net Core使用Skywalking实现分布式链路追踪

發(fā)布時間:2023/12/4 asp.net 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp.Net Core使用Skywalking实现分布式链路追踪 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

介紹

Skywalking 是 Apache 基金會下面的一個開源 APM 項目,是一套(APM)分布式追蹤系統(tǒng),提供了很多數(shù)據(jù)存儲列如:Mysql,H2,Elasticsearch7 等。其中APM 全稱是應用性能監(jiān)測軟件,主要是用來處理以及追蹤分布式系統(tǒng)中的應用程序的性能問題,從而快速找出問題的根源,進而可以讓開發(fā)者定位問題從而提升應用程序性能。

當我們用很多服務相互調(diào)用時,各個服務單調(diào)用的順序\時間性能怎么樣?這些問題我們怎么監(jiān)測,以前的方式是各個系統(tǒng)自己單獨做日志,出了問題在一個一個服務的排查,有點刀耕火種的感覺。好在現(xiàn)在有Skywalking鏈路追蹤系統(tǒng),可以不用寫任何代碼,就追蹤到各個服務間的調(diào)用關(guān)系和性能狀態(tài)等。

ASP.NET Core 集成

1、安裝Skywalking,搭建好后的Skywalking服務器地址為:127.0.0.1:11800

2、新建項目SkyWalkingA,為項目添加NuGet程序包SkyAPM.Agent.AspNetCore的引用

3、在項目根目錄添加skyapm.json文件

{"SkyWalking": {"ServiceName": "WebApplication4","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": "127.0.0.1:11800","Timeout": 10000,"ConnectTimeout": 10000,"ReportTimeout": 600000}}} }

4、打開launchSettings.json文件,在其中的環(huán)境變量中加入?"SKYWALKING__SERVICENAME"

{"$schema": "http://json.schemastore.org/launchsettings.json","iisSettings": {"windowsAuthentication": false,"anonymousAuthentication": true,"iisExpress": {"applicationUrl": "http://localhost:20467","sslPort": 0}},"profiles": {"IIS Express": {"commandName": "IISExpress","launchBrowser": true,"launchUrl": "api/values","environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development","SKYWALKING__SERVICENAME": "WebApplication4","ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore"}},"WebApplication4": {"commandName": "Project","launchBrowser": true,"launchUrl": "api/values","applicationUrl": "http://localhost:5000","environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development","SKYWALKING__SERVICENAME": "WebApplication4","ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore"}}} }

5、新建項目SkyWalkingB,重復上面步驟2、3、4

在A項目訪問B項目

// GET api/values[HttpGet]public async Task<ActionResult<IEnumerable<string>>> Get(){var client = new HttpClient();await client.GetStringAsync("http://localhost:20467/api/values/1");await client.GetStringAsync("http://localhost:20467/api/values");return new string[] { "value1", "value2" };}

跑起來,可以看到對應的鏈路調(diào)用關(guān)系

源碼地址:

https://github.com/conanl5566/mydemo/tree/master/SkyWalking

總結(jié)

以上是生活随笔為你收集整理的Asp.Net Core使用Skywalking实现分布式链路追踪的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。