.NET Core集成SkyWalking+SkyAPM-dotnet实现分布式链路追踪

转自:Night-w

cnblogs.com/night-w/p/14102981.html

前言

 

 

SkyWalking是一款APM(应用性能管理),其他的还有Cat、Zipkin、Pinpoint等。

 

随着微服务架构的流行,一次请求会涉及多个服务的调用,并且服务本身也可能会依赖其他服务,整个请求路径会构成一个调用链,当某个节点发生异常时,整个调用链的稳定性都会受到影响,SkyWalking可以帮助理解系统行为和分析性能问题。

 

SkyWalking包括了分布式追踪、性能指标分析、应用和服务依赖分析等。

 

虽然目前市面许多APM系统,但目前.NET上只有SkyWalking可用,通过使用SkyAPM-dotnet,感觉大佬们无私的奉献。

 

一、SkyWalking安装

 

打开链接https://archive.apache.org/dist/skywalking,由于目前SkyAPM-dotnet最大仅支持7.0.0,因此最多仅能选择这个版本。

 

图片

 

选择此包进行下载,由于7.0.0版本目前还无镜像,下载较慢,可以通过百度网盘的离线下载功能进行下载,速度会快一点。默认占用8080, 10800, 11800, 12800端口。

 

下载完成后,解压,windows下,打开apache-skywalking-apm-bin\bin\startup.bat,会弹出两个框:

 

图片

 

浏览器打开http://localhost:8080/,出现SkyWalking管理界面既视为启动成功,关闭上面两框则会关闭SkyWalking服务。

 

图片

 

二、.NET Core项目集成SkyAPM-dotnet

 

新建一个web项目,安装nuget包SkyAPM.Agent.AspNetCore

 

图片

 

在我写博客的这会,刚刚更新了1.1.0版本,我用.NET Core 3.1试了1.1.0和1.0.0版本,虽然没有报错,但一直没捕捉到链接请求,最后用了0.9.0,有兴趣的博友们可以自己慢慢尝试。

 

新建配置文件skyapm.json,修改实际的ip地址

 

{
  "SkyWalking": {
    "ServiceName": "asp-net-core-aspnetcore",
    "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": "192.168.1.148:11800",
        "Timeout": 10000,
        "ConnectTimeout": 10000,
        "ReportTimeout": 600000
      }
    }
  }
}

 

新增环境变量

"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES":"SkyAPM.Agent.AspNetCore" 

 

可修改launchSettings.json文件

 

图片

 

也可在Program.cs中配置

 

Environment.SetEnvironmentVariable
("ASPNETCORE_HOSTINGSTARTUPASSEMBLIES", "SkyAPM.Agent.AspNetCore");

 

到此,配置完成,启动项目。

 

浏览器访问http://localhost:8080/,打开追踪Tab,时间范围那有点bug,需要调整下结束时间,不然数据出不来。

 

图片

 

详细的各位博友慢慢研究,附上SkyApm-dotnet示例代码:

https://github.com/SkyAPM/SkyAPM-dotnet/tree/master/sample

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值