flash网站设计,新乡优化,单位网站 单位网页 区别吗,o2o网站建设行情前言大家好#xff0c;今天给大家介绍一下如何在 ASP.NET Core 项目中集成 Skywalking#xff0c;Skywalking 是 Apache 基金会下面的一个开源 APM 项目#xff0c;有些同学可能会 APM 是干什么用的还不是太了解#xff0c;那么下面我就简单的来说一下。APM 全称是 #x… 前言大家好今天给大家介绍一下如何在 ASP.NET Core 项目中集成 SkywalkingSkywalking 是 Apache 基金会下面的一个开源 APM 项目有些同学可能会 APM 是干什么用的还不是太了解那么下面我就简单的来说一下。APM 全称是 Application Performance Monitor应用性能监测软件主要是用来处理以及追踪分布式系统中的应用程序的性能问题从而快速找出问题的根源进而可以让开发者定位问题从而提升应用程序性能。Skywalking 是一个APM系统为微服务架构和云原生架构系统设计它通过客户端探针自动收集追踪性能所需的指标并进行分布式追踪。通过这些调用链路以及指标Skywalking 可以感知应用间关系和服务间关系并进行相应的指标统计及展示。.NET 探针为了能够让APM的服务端正确的收集到追踪及分析所需的指标就需要有客户端程序附属到你的应用程序上进行数据的上报那么这个附属的程序就叫做探针Agent。Skywalking 使用 Java 程序开发默认提供了 Java 探针那么在 .NET 系统中就需要有 .NET 相关的探针才能够正确的将数据上报的服务端所以 skywalking-netcore 这个项目就是专门为 .NET 开发的探针目前支持 ASP.NET Core 以及 ASP.NET下面我具体的来说一下这个项目吧。.NET 探针项目https://github.com/OpenSkywalking/skywalking-netcore这个项目位于 OpenSkywalking 组织下是由 Skywalking 作者 吴晟 大佬发起的主要开发者是 Lemon 同学虽然我也是组织成员之一但是只做了一些打杂的工作以及对 CAP 消息追踪的支持工作感兴趣的同学欢迎 Github Star 一波...好了我们还是主要说一下怎么在 ASP.NET Core 中集成 Skywalking 吧。ASP.NET Core 集成在新版本的 Skywalking .NET Agent 中我们实现了对 ASP.NET Core 应用程序无入侵的集成方式这使得你可以更加方便的开启或者关闭探针数据的收集而不用修改任何代码。比如你可以在生产环境遇到性能问题时候启动它快速的定位问题而在问题处理完成之后再关掉非常的方便下面我们来说一下集成的步骤。Step 1我们提供给了dotnet 的扩展 CLI 工具以供开发者使用从而进行集成首先使用下面的命令来进行 Agent 的安装dotnet tool install -g SkyWalking.DotNet.CLI安装完成之后你可以在命令行中使用 dotnet skywalking 或者是 dotnet-skywalking 提供的命令来安装 .NET Agent 到你的本机或者容器中。// 注意需要在管理员权限下运行dotnet skywalking installStep 2接下来我们需要向环境变量中添加几个参数Windowsset DOTNET_ADDITIONAL_DEPS%PROGRAMFILES%\dotnet\x64\additionalDeps\skywalking.agent.aspnetcoreset ASPNETCORE_HOSTINGSTARTUPASSEMBLIESSkyWalking.Agent.AspNetCoreLinuxexport DOTNET_ADDITIONAL_DEPS/usr/local/share/dotnet/x64/additionalDeps/skywalking.agent.aspnetcoreexport ASPNETCORE_HOSTINGSTARTUPASSEMBLIESSkyWalking.Agent.AspNetCoreStep 3然后你需要给你要集成的应用取一个名字例如我使用以下方式创建一个示例程序:dotnet new mvc -n mvcdemo以上命令会生成一个名为 mvcdemo 默认的 ASP.NET MVC 项目我们需要给项目搞一个代号以便让服务端识别就取代号名为 mvc_sample 吧然后把这个代号使用下面的命令也添加到环境变量里面。**Windows**set SKYWALKING__APPLICATIONCODEmvc_sample**Linux**export SKYWALKING__APPLICATIONCODEmvc_sampleStep 4最后一步就是我们需要第一步的 CLI 工具生成一个配置文件从而配置各种参数使用以下命令生成一个配置文件// mvc_sample 为上面 step 3 的代号, localhost:11800 为 Skywalking 服务端的地址dotnet skywalking config mvc_sample localhost:11800上面的命令会在你的项目文件夹下生成一个名为 skywalking.json 的json文件里面是配置信息你可以酌情修改如下skywalking.json{ SkyWalking: { ApplicationCode: Frontend, SpanLimitPerSegment: 300, Sampling: { SamplePer3Secs: -1}, Logging: { Level: Information, FilePath: logs\\SkyWalking-{Date}.log}, Transport: { Interval: 3000, PendingSegmentLimit: 30000, PendingSegmentTimeout: 1000, gRPC: { Servers: localhost:11800, Timeout: 2000, ConnectTimeout: 10000}}}
}以上就是所有的配置工作接下来就可以开始启动了。启动你的项目启动很简单按照你习惯的常规方式使用 dotnet run 或者 dotnet mvcdemo.dll 来运行你的项目即可。然后你就可以去 Skywalking 服务端 UI 上面看到 API 的追踪信息了。下面是Skywalking的几个追踪界面截图大家可以用 UI 上大致了解下最后最后当然是广告时间哈哈哈~~~你还在为了解消息队列的复杂机制而苦恼吗你还在为找不到一个顺手的 EventBus 搜遍百度谷歌吗你还在为项目中遇到的分布式事务问题而抱头痛哭吗不要慌不要急有了她让你少掉发早下班她就是 CAPhttps://github.com/dotnetcore/CAP一个分布式事务解决方案同时具有 EventBus 的所有功能什么你说价格不要99也不要9块9免费开源MIT重要的是有 手把手视频有了她让你多些时间陪陪家人会会朋友做做大保健~如果你觉得这个开源项目还不错给个Github Star 支持一下那就太好了。原文地址https://www.cnblogs.com/savorboard/p/asp-net-core-skywalking.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com