您好,欢迎来到微智科技网。
搜索
您的当前位置:首页netcore下链路追踪skywalking安装和简单使用教程

netcore下链路追踪skywalking安装和简单使用教程

来源:微智科技网
netcore下链路追踪skywalking安装和简单使⽤教程

当我们⽤很多服务时,各个服务间的调⽤关系是怎么样的?各个服务单调⽤的顺序\\时间性能怎么样?服务出错了,到底是哪个服务引起的?这些问题我们⽤什么⽅案解决呢,以前的⽅式是各个系统⾃⼰单独做⽇志,出了问题从暴出问题的服务开始⼀个⼀个服务的排查,耗时耗⼒,有些⽇志不全的,还不⼀定查得出来。好在现在有Skywalking链路追踪系统,可以不⽤写任何代码,就追踪到各个服务间的调⽤关系和性能状态等。

本⽂将从0开始搭建两个webapi项⽬,使⽤Skywalking来追踪他们之间的调⽤关系及响应时间。开发环境为VisualStudio2019

1.1.安装skywalking

安装skywalking会遇到好多坑,⾸先安装不⼀定成功,访问8080端⼝监控页⾯会出现很多问题。即使监控页⾯正常了,netcore程序也有可能监控不到,因为链接11800会失败,多数因为skwwalking和elasticsearch版本的问题引起的。因为存储多数选择是elasticsearch,所以这⾥是以这个为主。像下⾯通过docker-compose来安装。⽂件如下:

version: '3.3'services:

elasticsearch:

image: docker.elastic.co/elasticsearch/elasticsearch:7.5.0 container_name: elasticsearch restart: always ports:

- 9200:9200 environment:

- discovery.type=single-node - bootstrap.memory_lock=true

- \"ES_JAVA_OPTS=-Xms256m -Xmx256m\" ulimits: memlock: soft: -1 hard: -1 oap:

image: apache/skywalking-oap-server:7.0.0-es7 container_name: oap depends_on: - elasticsearch links:

- elasticsearch restart: always ports:

- 11800:11800 - 12800:12800 environment:

SW_STORAGE: elasticsearch7

SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200 ui:

image: apache/skywalking-ui:7.0.0 container_name: ui depends_on: - oap links: - oap

restart: always ports:

- 8080:8080 environment:

SW_OAP_ADDRESS: oap:12800

安装完后查看⼀下服务是否正常,三个程序分别是elastic、skwwalking、skwwalkingui:

1.2 查看elastic和监控页⾯是否正常

,连接分别为 安装skwwalking服务器ip:9200、安装skwwalking服务器ip:8080,如果遇到端⼝占⽤,提前更换:

2.上netcore程序,这⾥先跑两个程序

2.1.新增第⼀个netcore程序,我这⾥是net5。

2.2 安装依赖

SkyAPM.Agent.AspNetCore,版本我选最好0.9.0。(有需要先保证安装服务正常,程序监控正常后再着⼿升级其他的各个版本。)

2.3 增加skyapm.json⽂件

,记得属性 复制到输出⽬录⾥⾯设置 始终复制,防⽌配置⽂件修改不⽣效踩坑。这⾥需要注意的两个地⽅是1.ServiceName应该是当前程序的名字,Services是skwwalking服务器ip:11800。

{

\"SkyWalking\": {

\"ServiceName\": \"SkyWalkingDemo\ \"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\": \"skywalking服务器ip:11800\ \"Timeout\": 10000,

\"ConnectTimeout\": 10000, \"ReportTimeout\": 600000 } } }}

2.4 程序launchSettings.json

⾥⾯加上⼀⾏ \"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES\": \"SkyAPM.Agent.AspNetCore\",如果⽤的iis express启动⼀样需要加到iis express配置下⾯。如下:

2.5 运⾏起来后监控画⾯是这样的:

3 再新增⼀个程序

3.1 新建程序步骤和2.1是⼀样的

后⾯设置不再赘述,启动的地址我改了,⽐较懒第⼀个启动后第⼆个的地址不能⽤⼀样的。程序如下:

3.2 这⾥新增了⼀个controller控制器做测试

⽐较随便代码如下,做什么很清楚了:

3.3 监控结果是这样的:

说完了,这⾥只是⼀个简单的安装和演⽰,有实际需要需要⾃⼰再做进⼀步的研究,因为实际项⽬需要的可多了。

到此这篇关于net core下链路追踪skywalking安装和简单使⽤的⽂章就介绍到这了,更多相关net core 链路追踪skywalking内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务