本文从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分布式追踪系统相关推荐

  1. Linux下安装 SkyWalking 分布式追踪系统

    Linux下安装 SkyWalking 分布式追踪系统 1.SkyWalking简介 1.1 SkyWalking介绍 SkyWalking项目是由华为大牛吴晟开源的个人项目,目前已经加入Apache ...

  2. Apache skywalking分布式追踪系统

    apm性能调用别人 和zipking差不多,链路追踪工具: 安装部署 下载 https://skywalking.apache.org/downloads/ https://mirrors.bfsu. ...

  3. 从零开始使用Skywalking分布式链路追踪系统

    当我们用很多服务时,各个服务间的调用关系是怎么样的?各个服务单调用的顺序\时间性能怎么样?服务出错了,到底是哪个服务引起的?这些问题我们用什么方案解决呢,以前的方式是各个系统自己单独做日志,出了问题从 ...

  4. 40张图看懂分布式追踪系统原理及实践

    前言 在微服务架构中,一次请求往往涉及到多个模块,多个中间件,多台机器的相互协作才能完成.这一系列调用请求中,有些是串行的,有些是并行的,那么如何确定这个请求背后调用了哪些应用,哪些模块,哪些节点及调 ...

  5. 传递给系统调用的数据区域太小怎么解决_40张图看懂分布式追踪系统原理及实践...

    作 者:码海 原文链接:https://mp.weixin.qq.com/s/U-8ttlVCfYtjEPOWKBHONA 前言 在微服务架构中,一次请求往往涉及到多个模块,多个中间件,多台机器的相互 ...

  6. 传递给系统调用的数据区域太小怎么解决_一口气说出“分布式追踪系统”原理!...

    " 在微服务架构中,一次请求往往涉及到多个模块,多个中间件,多台机器的相互协作才能完成. 图片来自 Pexels 这一系列调用请求中,有些是串行的,有些是并行的,那么如何确定这个请求背后调用 ...

  7. 厉害!40 张图看懂分布式追踪系统原理及实践

    作者 | 码海 来源 | 码海 在微服务架构中,一次请求往往涉及到多个模块,多个中间件,多台机器的相互协作才能完成. 这一系列调用请求中,有些是串行的,有些是并行的,那么如何确定这个请求背后调用了哪些 ...

  8. 分布式追踪系统的对比、实现与使用—NodeTracing

    前言 现状 各类trace解决方案 各大厂商trace系统对比 NodeTracing概览 NodeTracing使用 下载 快速开始&单例启动 生产部署&集群启动 安装自动探针 探针 ...

  9. 这些图让你看懂分布式追踪系统原理及实践

    前言 在微服务架构中,一次请求往往涉及到多个模块,多个中间件,多台机器的相互协作才能完成.这一系列调用请求中,有些是串行的,有些是并行的,那么如何确定这个请求背后调用了哪些应用,哪些模块,哪些节点及调 ...

最新文章

  1. c7pro android7,三星c7pro和iphone7哪个值得买?三星Galaxy c7 pro和苹果iphone7区别对比详细评测...
  2. python3中文手册-Python3.4中文手册 chm版
  3. Linux内核ARM构架中原子变量的底层实现研究
  4. 03_Influxdb数据库的简单操作
  5. Python实现双端队列
  6. Maven构建项目 — 知识点梳理
  7. ubuntu启动配置ftp服务端
  8. 第一次作业:对于Linux2.6.0源码中进程模型的分析
  9. 第一篇论文:改进TCP及UDP的性能分析及比较
  10. matlab_一组数据元素随机排列
  11. ofbiz webservice 例解
  12. brew下载资源失败解决办法
  13. 找不到Office安装路径,如何导入MathType
  14. 电脑开机出现奇怪字符_电脑开机黑屏怎么办出现英文字符
  15. java http ipv6_Java支持IPv6研究
  16. firefox windows旧版本下载
  17. 通过js实现切换背景颜色
  18. 美国专利法中对于发生在专利公开日和授权日之间的侵权行为考量
  19. 时空AI核心技术:时空知识图谱 | 维智科技
  20. opera for windows 上的阿里旺旺调用

热门文章

  1. 如何重新打开Windows防火墙提示?
  2. hibernate自定义校验器使用(字段在in范围之内)
  3. instancing render
  4. 修改GIT的user.name和user.email
  5. OC之非ARC环境下循环retain问题
  6. IE6 IE8下背景图片不显示问题
  7. 我的邮局系统,欢迎大家注册!hotxf.com
  8. SQL Server的数据导入MySQL数据库方法简介
  9. WPF 使用DrawingVisual绘制高性能曲线图
  10. 技术分享 | CodeReview主要Review什么?