Apache SkyWalking 为.NET Core带来开箱即用的分布式追踪和应用性能监控
在大型网站系统设计中,随着分布式架构,特别是微服务架构的流行,我们将系统解耦成更小的单元,通过不断的添加新的、小的模块或者重用已经有的模块来构建复杂的系统。随着模块的不断增多,一次请求可能会涉及到十几个甚至几十个服务的协同处理,那么如何准确快速的定位到线上故障和性能瓶颈,便成为我们不得不面对的棘手问题。
为解决分布式架构中复杂的服务定位和性能问题,Google在论文《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》中提出了分布式跟踪系统的设计和构建思路。在这样的背景下,Apache SkyWalking创建于2015年,参考Dapper论文实现分布式追踪功能,并逐渐进化为一个完整功能的Application Performance Management系统,用于追踪、监控和诊断大型分布式系统,尤其是容器和云原生下的微服务系统。
今年初我在尝试使用.NET Core构建分布式追踪系统Butterfly时接触到SkyWalking团队,开始和SkyWalking团队合作探索SkyWalking对.NET Core的支持,并于4月发布SkyWalking .NET Core探针的第一个版本,同时我也有幸加入SkyWalking团队共同进行SkyWalking在多语言生态的推动。在.NET Core探针v0.1版本发布之后,得到了一些同学的尝鲜使用,也得到诸多改进的建议。经过几周的迭代,SkyWalking .NET Core探针于今天发布v0.2 release,在v0.1的基础上增加了稳定性和HttpClient及数据库驱动的追踪支持。
在使用SkyWalking对.NET Core应用追踪之前,我们需要先部署SkyWalking Collector收集分析Trace和Elasticsearch作为Trace数据存储。SkyWalking支持5.x的ES,所以我们需要下载安装对应版本的ES,并配置ES的cluster.name
为CollectorDBCluster
。然后部署SkyWalking 5.0 beta或更高版本(下载地址:http://skywalking.apache.org/downloads/)。更详细的Collector部署文档,请参考Deploy-backend-in-standalone-mode和Deploy-backend-in-cluster-mode。
最后我们使用示例项目来演示在.NET Core应用中使用SkyWalking进行追踪和监控,克隆SkyWalking-NetCore项目到本地
git clone https://github.com/OpenSkywalking/skywalking-netcore.git
进入skywalking-netcore目录
cd skywalking-netcore
还原nuget package:
dotnet restore
启动示例项目:
dotnet run -p sample/SkyWalking.Sample.Backend
dotnet run -p sample/SkyWalking.Sample.Frontend
访问示例应用 http://localhost:5001/api/values
打开SkyWalking WebUI即可看到我们的应用监控面板 http://localhost:8080
Dashboard视图
TopologyMap视图
Application视图
Trace视图
TraceDetails视图
SkyWalking Github Repo: https://github.com/apache/incubator-skywalking
SkyWalking-NetCore Github Repo: https://github.com/OpenSkywalking/skywalking-netcore
相关文章:
ApacheSkyWalking APM 生态衍生多语言监控, 支持 .NET Core
可观测性与原生云监控
听云支持.NET Core的应用性能监控
原文地址: http://www.cnblogs.com/liuhaoyang/p/skywalking-dotnet-v02-release.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
Apache SkyWalking 为.NET Core带来开箱即用的分布式追踪和应用性能监控相关推荐
- 美女同事的烦恼:如何配置 Apache SkyWalking 告警?
小婉 技术部基本上是一个和尚庙,女生非常少,即使有女生也略微有点抽象,小婉就不一样,她气质绝佳. 上午,同事小婉刚才从老板办公室里出来,看上去一脸不悦的样子.为了表示对同事的关(ba)心(gua),我 ...
- 实锤被抓包!字节跳动违反Apache 2.0许可证,在火山引擎里违规重新发布Apache SkyWalking!...
点击上方蓝色字体,选择"标星公众号" 优质文章,第一时间送达 整理自:云头条 火山引擎公司的Application Performance Monitoring - Distrib ...
- 安装-apache skywalking (java 应用性能监控)
官网:http://skywalking.apache.org/ 服务器:10.30.31.28 centos 7 jdk 1.8.x ES 5.x 5.0.0-bet a2版本 . http://s ...
- Alibaba微服务整合SkyWalking实现应用性能监控
1. 概述 SkyWalking是一个国产的开源框架,用于分布式系统应用程序的性能监控,专门为微服务.云原生架构和基于容器(Docker.K8s.Mesos)架构而设计,包括了分布式追踪.性能指标分析 ...
- Apache SkyWalking入门学习笔记
文章目录 1.概念与设计 1.1 SkyWalking是什么 1.2 为什么使用SkyWalking和核心概念 1.3 架构 1.4 设计目标 1.5 探针Probe 2. 搭建服务 Quick St ...
- Apache SkyWalking的架构设计【译文】
Apache SkyWalking提供了一个功能强大并且很轻量级的后端.在此,将介绍为什么采用以下方式来设计它,以及它又是如何工作的. 架构图 对于APM而言,agent或SDKs仅是如何使用libs ...
- Apache SkyWalking Java Agent 05-插件加载机制(下)
基于 SkyWalking Java Agent 8.8.0 版本 上一篇文章中我们重点分析了自定义类加载器 AgentClassLoader.initDefaultLoader() 部分,Agent ...
- 火山引擎被谴责不尊重开源规则,非法重新发布Apache SkyWalking
关注ITValue,看企业级最新鲜.最价值报道! 钛媒体App 1月29日消息,火山引擎不尊重开源规则,非法重新发布Apache SkyWalking 的消息受到业界关注.Apache SkyWal ...
- Apache Skywalking 视频教程
Apache Skywalking 原创视频教程,于2018年在哔哩哔哩平台发布.持续更新中. Skywalking 定位于一款专为微服务.云原生架构和基于容器(Docker.K8s.Nesos)架构 ...
最新文章
- 卷积神经网络(CNN)张量(图像)的尺寸和参数计算(深度学习)
- 【一步步学小程序】3. 使用自定义组件(component)
- 15 个 JavaScript Web UI 库
- ASP.NET用户登录模块代码
- linux网络设备驱动结构体,Linux网络设备驱动之设备驱动的注册与注销(二)
- Excel 设定密码保护特定的内容
- ngnix之lnmp环境搭建及Dvbbs搭建
- Docker最全教程之Ubuntu下安装Docker(十五)
- Bootstrap表单
- html基本标签练习
- c语言sizeof输出单位,急,求大神!C语言中sizeof问题
- java发送电子邮件以qq邮箱为例
- 老年人健康管理系统技术开发
- 【爱心】JAVA表白代码——属于程序员的浪漫
- 树莓派 python驱动蜂鸣器
- 会matlab的简历怎么写,算法工程师简历项目经验填写样本
- 【imx6ul】imx6ul上电boot rom启动过程
- printf()中%n格式说明符
- 数据库,计算机网络、操作系统刷题笔记20
- ChatGPT真的像媒体宣传的那样“四平八稳”吗?
热门文章
- 7.16 10.19-10.22
- java多线程编程——锁优化
- 第 133 章 FAQ
- 使用WebSocket绕过广告屏蔽插件
- JQuery上传插件Uploadify使用详解
- wpf 可以取消的单选checkbox
- DateOnly和TimeOnly类型居然不能序列化!!! .Net 6下实现自定义JSON序列化
- 【DotNetMLLearn】.NET Core 人工智能系列-.NET Interactive环境介绍
- 宠粉老鱼皮带你 “入坑” GitHub!
- 如何在 C# 中使用 Exceptionless