首页 > 其他分享 >netcore添加skywalking链式追踪

netcore添加skywalking链式追踪

时间:2023-01-06 15:14:18浏览次数:46  
标签:服务 netcore -- etc 链式 skywalking docker localtime

简介

  在分布式系统当中,想要监控服务与服务之间调用耗时,或者是查问题的时候,不能像向单机那种形式去查询.查找了一段时间发现目前市场上用的是skywalking,由华为大佬开源的项目。

摘自skywalking简介:一个开放源代码的可观察性平台,用于收集,分析,聚合和可视化来自服务云本机基础结构的数据

  SkyWalking为服务,服务实例,端点提供可观察性功能。服务,实例和端点这两个术语在今天到处都有使用,因此值得在SkyWalking的上下文中定义它们的特定含义

  • 服务:表示一组/一组工作负载,这些工作负载为传入请求提供相同的行为。您可以在使用乐器代理或SDK时定义服务名称。SkyWalking也可以使用您在Istio等平台中定义的名称。
  • 服务实例:服务组中的每个单独工作负载都称为实例。像pods在Kubernetes中一样,它不必是单个OS进程,但是,如果您使用仪器代理,则实例实际上是一个真正的OS进程。
  • 端点:服务中用于传入请求的路径,例如HTTP URI路径或gRPC服务类+方法签名。

  skywalking数据存储默认提供了H2内存存储,除此之外还支持如下几种

  • h2
  • ElasticSearch 6、7
  • MySQL
  • TiDB
  • InfluxDB

下载安装elasticSearch

  首先找到es的镜像,在获取镜像的时候必须输入版本号

docker pull elasticsearch:7.7.0

  通过镜像启动一个容器,并将9200和9300端口映射到本机。

docker run -tid --name es --network localnet -p 9200:9200 -p 9300:9300 --restart always elasticsearch:7.7.0



安装skywalking

  以下基于docker安装skywalking,先查找skywalking镜像,pull下来这两个镜像,一个是skywalking服务,一个是ui显示



docker pull apache/skywalking-oap-server

docker pull apache/skywalking-ui

运行skywalking-oap-server

  通过镜像启动skywalking服务镜像,此处一定要注意配置时区不然会出问题。

docker run  --name skywalking -tid -p 1234:1234 -p 11800:11800 -p 12800:12800 --restart=always  -e SW_STORAGE_ES_CLUSTER_NODES=es:9200 -e  -v /etc/localtime:/etc/localtime --network localnet  apache/skywalking-oap-server

命令:
    
    -v /etc/localtime:/etc/localtime:时区一定要配置不然显示有问题。



运行skywalking-ui

 docker run --name skywalking-ui -tid -p 8121:8080  --network localnet -v /etc/localtime:/etc/localtime  -e SW_OAP_ADDRESS=skywalking:12800 --restart always apache/skywalking-ui --security.user.admin.password=admin

netcore添加skywalking

  新建Webapplication1项目,并且在启动项添加如下配置.



  添加nuget包

  在项目目录上添加skywalking.json或者采用dotnet skywalking config exam_test localhost:11800命令自动生成。exam_test为你的服务名称

    {
  "SkyWalking": {
    "ServiceName": "exam_test",
    "ApplicationCode": "exam_test",
    "SpanLimitPerSegment": 300,
    "Sampling": {
      "SamplePer3Secs": -1
    },
    "Logging": {
      "Level": "Information",
      "FilePath": "logs\\SkyWalking-{Date}.log"
    },
    "Transport": {
      "Interval": 3000,
      "PendingSegmentLimit": 30000,
      "PendingSegmentTimeout": 1000,
      "gRPC": {
        "Servers": "替换你skywalking的IP地址:11800",
        "Timeout": 2000,
        "ConnectTimeout": 10000
      }
    }
  }
}

  添加完成后就可以启动你的服务来查看运行情况。注意在查看结果的时候需要选择时间范围,不然结果出不来不知道什么原因


  因为主要是服务和服务之间的调用,按照上面创建netcore方法在创建一个exam_test1,查看服务和服务之间的调用。



标签:服务,netcore,--,etc,链式,skywalking,docker,localtime
From: https://www.cnblogs.com/weihengblogs/p/17030525.html

相关文章

  • .NETCore Docker实现容器化与私有镜像仓库管理
    一、Docker介绍Docker是用Go语言编写基于Linux操作系统的一些特性开发的,其提供了操作系统级别的抽象,是一种容器管理技术,它隔离了应用程序对基础架构(操作系统等)的依赖。相......
  • 微服务(入门三):netcore ocelot api网关结合consul服务发现
    简介 api网关是提供给外部调用的统一入口,类似于dns,所有的请求统一先到api网关,由api网关进行指定内网链接。 ocelot是基于netcore开发的开源API网关项目,功能强大,使用......
  • 微服务(入门二):netcore通过consul注册服务
    基础准备1.创建asp.netcoreWeb应用程序选择Api2.appsettings.json配置consul服务器地址,以及本机ip和端口号信息 {"Logging":{"LogLevel":{"D......
  • 微服务(入门一):netcore安装部署consul(windows)
    环境准备 vs开发环境:vs2017 consul版本: 1.4.4 netcore版本:2.1安裝Consul 1.从官网下载consul到本地,选择系统对应的版本进行下载到本地,下载地址:https://www.consu......
  • asp.netcore Authentication signOut
    .net项目下面的写法会logout:publicclassLogoutController:ControllerBase{publicIActionResultIndex(){returnSignO......
  • netcore 使用apollo
    一、创建配置应用    ①、创建应用     ②、填写应用信息     ③、删除默认命名空间     ④、新增命名空间      ......
  • 【aspnetcore】Web服务中,使用Service来控制业务处理逻辑的版本和二次开发
    之所以有这个想法,起源于对于二开的需求和不想要动态加载的执念。起初的一种设计思路是将同一个Route的不同实现,放于不同的项目,进而发布为不同的dll,然后通过动态加载和IWeb......
  • ASP.NETCore异常Filter
    什么是FILTER1、切面编程机制,在ASP.NETCore特定的位置执行我们自定义的代码2、ASP.NETCore中的Filter的五种类型:Authorizationfilter、Resourcefilter、Actionfilter、E......
  • netcore下RabbitMQ队列、死信队列、延时队列及小应用
    关于安装rabbitmq这里一笔掠过了。下面进入正题:1.新建aspnetcorewebapi空项目,NormalQueue,删除controllers文件夹已经无关的文件,这里为了偷懒不用console控制台:public......
  • 线性表之链式存储
    目录初始化一个空线性表空链式表的抽象表达查找按序号按值在位序i前插入一个新元素X删除指定位序i的元素返回线性表L的长度n吐槽初始化一个空线性表空链式表的抽象表达/......