鸡西市贴吧:『在微服务框架』Demo.MicroServer“中添加”SkyWalking+SkyApm-dotnet〖分布〗式链路追踪系统

2020-05-14 4 views 0

扫一扫用手机浏览

1.APM工具的选取

Apm监测工具许多,这里选用网上对照火的一款Skywalking。 Skywalking是一个应用性能监控(APM)系统,Skywalking分为服务端Oap、治理{界面}UI、【以及】嵌入到程序中的探针Agent部门,也许事情流程就是在程序中添加探针采集种种数据发送给服务端保留, 然后在[UI{界面}可以看到网络过来的种种监测数据,【来完成它的焦点使命】:性能监控和分布式挪用链追踪能力。下图是skywalking官方的一个图,也可以说明这三者之间的关联关系

2.服务端(OAP)和{界面}(UI)的安装

这里直接在apache地址:http://skywalking.apache.org/downloads/ 下载了一个6.6.0版本的zip文件,由于之前在内陆的windows(上安装过),发现安装包内里有两个启动文件,{划分为}:startup.bat和startup.sh,划分用于window上启动和linux启动,这里我直接将之前下载好的上传到linux上来安装。   上传后解压缩,就会获得以下截图的几个文件   进入到config【设置目录下面】,〖有一个名称叫〗application.yml的文件 sunbet  第1张   对这个设置文件举行编辑 vim application.yml sunbet  第2张   我们直接定位到数据存储部门,也就是节点storage,‘官方文档内里也’有说明,为了利便快速入门,设置文件默认接纳的是H2存储,然则推荐使用ElasticSearch存储,由于之前我安装过Exceptionless, 在这台机械[上已经安装过elasticsearch(若是没有安装过可以网上找下,有许多这方面的文章),以是我这里将H2部门注释掉,然后将elasticsearch部门铺开,并修改红色方框里的两个设置文件:
nameSpace: ${SW_NAMESPACE:"exceptionless"}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9300}
需要注重的是:第一个SW_NAMESPACE需要与ElasticSearch设置的cluster_name名称一致   启动skywalking会占用四个【端口】:8080,10800,11800,12800,由于我本机安装过apollo,8080ui【端口】已经被占用,以是这里我必须要先修改UI{界面}使用的8080(【端口】才)气启动它。 最先修改UI{界面}使用的8080【端口】(若是你的8080【端口】并没有被占用,可以跳过,‘不用修改’) 回到设置目录的上一级:cd .. 可以看到一个webapp的文件夹 sunbet  第3张   进入这个目录:cd webapp/ 然后对webapp.yml文件举行修改 sunbet  第4张   这里我将原来server{界面}下面的port从8080改到8088,然后保留 sunbet  第5张   『设置文』件修改完了,最先启动skywalking的服务端和UI{界面},启动剧本放在目录:apache-skywalking-apm-bin/bin 内里 sunbet  第6张   上面有说到startup.bat和startup.sh划分用在windows上和linux上启动,这里用./startup.sh sunbet  第7张   启动下令执行完成之后可以看到OAP和Web两个项目启动乐成的提醒,也就是我们说的服务端和UI{界面}。 验证一下,通过设置的ip+8088【端口】(若是没有修改则是默认的8080)来访问一下{界面},<如图>: sunbet  第8张 至此,“我们准备事情做完了”,下面我们在程序中安装探针,来采集数据.  

3.安装探针(Agent)采集数据

由于Skywalking『自己是接纳』java(编写的),以是SkyApm-dotnet这个项目就是专门为 .NET 开发的探针,现在支持 ASP.NET Core 【以及】 ASP.NET,下面我们将SkyApm-dotnet无侵入式的集成到.Net Core实现的微服务项目中   第一步:使用下面的下令来举行 Agent 的安装,『这里听说需要』以治理员身份运行
dotnet tool install -g SkyAPM.DotNet.CLI

 

第二步:添加环境变量,可以直接在launchSettings.json文件中添加以下代码来设置
"environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore",
        "SKYWALKING__SERVICENAME": "Demo.MicroServer.UserService"
      }

 

第三步:在程序中安装NuGet包:SkyAPM.Agent.AspNetCore

 

第四步:在应用程序根目录下使用以下下令天生skyapm.json的设置文件,[service name]替换为服务的名称,[server]替换为Skywalking安装的计器ip

dotnet skyapm config [service name] [server]:11800

sunbet  第9张执行完成之后可以看到目录下面已经天生了一个skyapm.json的文件,将其属性复制到输出目录设置为若是较新则复制,我这里是用之前公布在github上的微服务框架中的一个实例来测试的,所有代码均已上传, 需要的可以通过页面又[上角Github地址获取代码

 

4.采集数据并查看

在Swagger中随便挪用几个接口来测试数据的采集情形,然后到UI{界面}查看数据,流程顺遂的话,可以看到数据已经都有采集到 sunbet  第10张

sunbet  第11张 

基本事情都已经完成,这个内里另有许多玩法,快着手试试吧。

 

,

进入sunbet亚洲官网

欢迎进入sunbet亚洲官网!Sunbet 申博提供申博开户(sunbet开户)、SunbetAPP下载、Sunbet(客户端下载)、Sunbet代理合作等业务。

Sunbet内容转载自互联网,如有侵权,联系Sunbet删除。

本文链接地址:http://www.18hao-soso.com/post/1314.html

相关文章