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

Stella981
• 阅读 477

介绍

Skywalking 是 Apache 基金会下面的一个开源 APM 项目,是一套(APM)分布式追踪系统,提供了很多数据存储列如:Mysql,H2,Elasticsearch7 等。其中APM 全称是应用性能监测软件,主要是用来处理以及追踪分布式系统中的应用程序的性能问题,从而快速找出问题的根源,进而可以让开发者定位问题从而提升应用程序性能。

当我们用很多服务相互调用时,各个服务单调用的顺序\时间性能怎么样?这些问题我们怎么监测,以前的方式是各个系统自己单独做日志,出了问题在一个一个服务的排查,有点刀耕火种的感觉。好在现在有Skywalking链路追踪系统,可以不用写任何代码,就追踪到各个服务间的调用关系和性能状态等。

ASP.NET Core 集成

1、安装Skywalking,搭建好后的Skywalking服务器地址为:127.0.0.1:11800

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

3、在项目根目录添加skyapm.json文件

{

4、打开launchSettings.json文件,在其中的环境变量中加入 "SKYWALKING__SERVICENAME"

{

5、新建项目SkyWalkingB,重复上面步骤2、3、4

在A项目访问B项目

  // GET api/values

跑起来,可以看到对应的链路调用关系

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

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

源码地址:

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

本文分享自微信公众号 - dotNET跨平台(opendotnet)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Johnny21 Johnny21
3年前
服务追踪工具 SkyWorking 搭建使用
服务追踪工具SkyWorking搭建使用是用于对微服务,CloudNative,容器等提供应用性能监控和分布式调用链追踪的工具截图环境SkyWalking5.0.0beat2MacOSElasticSearch5.6.
DeepFlow开源 DeepFlow开源
1年前
利用 DeepFlow 为传统 APM 开启全栈追踪能力
传统APM聚焦在代码层面,不具备全栈多维度无盲点看问题的能力,同时由于插码的阻碍往往难以覆盖所有微服务,DeepFlow依靠eBPF零代码修改采集全栈追踪数据并聚合生成了调用关系,可以增强传统APM的数据,大大缩短问题定界时间。对于已经使用传统APM工具的用户,可以考虑使用DeepFlow提供的API来增强应用依赖拓扑及调用追踪,以获得全栈数据追踪能力。
Stella981 Stella981
2年前
Dubbo日志链路追踪TraceId选型
!mark(https://oscimg.oschina.net/oscnet/updd1ad9729fb807ee6dc473bdc283b1a4481.png)一、目的开发排查系统问题用得最多的手段就是查看系统日志,但是在分布式环境下使用日志定位问题还是比较麻烦,需要借助全链路追踪ID把上下文串联起来,本文主要分享基于
Stella981 Stella981
2年前
Skywalking是什么
Skywalking是一个分布式追踪(Trace)系统。除了Skywalking之外,比较出名的分布式追踪系统还有Dapper、鹰眼、Pinpoint、Zipkin等等。要是大家不了解Trace系统,可以先Google,基本上都是根据Google的论文(http://bigbully.github.io/Dappertransl
Stella981 Stella981
2年前
SkyWalking链路监控(一):SkyWalking快速搭建
简介当分布式系统服务比较多,特别是微服务,出现故障就很难排查。所以需要借助APM系统进行排查(ApplicationPerformanceManagement,即应用性能管理),SkyWalking是APM系统的一种,类似的产品还有CAT、Zipkin、Pinpoint。SkyWalking和Pinpoint相比其他系统,做到了无侵入性
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
2年前
SkyWalking 快速接入实践
分布式应用,会存在各种问题。而要解决这些难题,除了要应用自己做一些监控埋点外,还应该有一些外围的系统进行主动探测,主动发现。APM工具就是干这活的,SkyWalking是国人开源的一款优秀的APM应用,已成为apache的顶级项目。今天我们就来实践下SkyWalking下吧。实践目标:达到监控现有的几个系统,清
京东云开发者 京东云开发者
3个月前
分布式日志追踪ID实战 | 京东物流技术团队
本文通过介绍分布式应用下各个场景的全局日志ID透传思路,以及介绍分布式日志追踪ID简单实现原理和实战效果,从而达到通过提高日志查询排查问题的效率。背景开发排查系统问题用得最多的手段就是查看系统日志,相信不少人都值过班当过小秘吧:给下接口和出入参吧,麻烦看看
分布式系统中的分布式链路追踪与分布式调用链路
在分布式系统中,由于服务间的调用关系复杂,需要实现分布式链路追踪来跟踪请求在各个服务中的调用路径和时间消耗。这对问题排查和性能监控都很重要。常用的分布式链路追踪实现有基于日志的和基于分布式追踪系统的两种方式: