net core下链路追踪skywalking安装和使用方法

发布时间:2021-10-19 20:00:30 作者:柒染
来源:亿速云 阅读:172

这期内容当中小编将会给大家带来有关net core下链路追踪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:

net core下链路追踪skywalking安装和使用方法

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

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

net core下链路追踪skywalking安装和使用方法

net core下链路追踪skywalking安装和使用方法

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

2.1.新增第一个netcore程序,我这里是net5。

net core下链路追踪skywalking安装和使用方法

2.2 安装依赖

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

net core下链路追踪skywalking安装和使用方法

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配置下面。如下:

net core下链路追踪skywalking安装和使用方法

2.5 运行起来后监控画面是这样的:

net core下链路追踪skywalking安装和使用方法

3 再新增一个程序

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

后面设置不再赘述,启动的地址我改了,比较懒第一个启动后第二个的地址不能用一样的。程序如下:

net core下链路追踪skywalking安装和使用方法

3.2 这里新增了一个controller控制器做测试

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

net core下链路追踪skywalking安装和使用方法

3.3 监控结果是这样的:

net core下链路追踪skywalking安装和使用方法

net core下链路追踪skywalking安装和使用方法net core下链路追踪skywalking安装和使用方法

说完了,这里只是一个简单的安装和演示,有实际需要需要自己再做进一步的研究,因为实际项目需要的可多了。

上述就是小编为大家分享的net core下链路追踪skywalking安装和使用方法了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. 2019,.Net开发者的高光时刻
  2. 使用 .NET 平台,如何玩转 Universal Windows 应用?

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

net core skywalking

上一篇:C语言编程中常见的五种错误及对应解决方法

下一篇:python光学仿真实现光线追迹的空间关系是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》