首页 > 其他分享 >Net6 接入Skywalking

Net6 接入Skywalking

时间:2024-05-24 18:41:47浏览次数:25  
标签:接入 配置 json SkyWalking Net6 Skywalking skywalking

内容目录

  • 1.SkyWalking介绍
  • 2.Net6 接入Skywalking方法指引
  • 3.查看运行监控

1.SkyWalking介绍

1.1. SkyWalking介绍

skywalking是国产开源框架,一款分布式观察性分析平台和应用性能管理系统,提供分布式追踪,服务网格遥测分析,量度集合和可视化;对于一个大型的几十个,上百个微服务,skywalking能解决什么问题:
  1.串联整个调用链路,快速定位问题
  2.缕清各个微服务之间的关系
  3.进行各个微服务之间的性能分析
  4.跟踪整个业务流程的调用处理顺序

skywalking的主要功能特性
  1.多种监控手段,开源通过语言探针和service mesh获得监控的数据;
  2.支持多种语言自动探针,包括Java,net core等;
  3.轻量级
  4.模块化,ui,存储,集群管理多种机制可选
  5.支持告警

  1. Skywalking Agent:链路数据采集tracing(调用链数据)和metric(指标)信息并上报,上报通过HTTP或者gRPC方式发送数据到Skywalking Collector
  1. Skywalking Collector : 链路数据收集器,对agent传过来的tracing和metric数据进行整合分析通过Analysis Core模块处理并落入相关的数据存储中,同时会通过Query Core模块进行二次统计和监控告警
  2. Storage: Skywalking的存储,支持以ElasticSearch、Mysql、TiDB、H2等主流存储作为存储介质进行数据存储,H2仅作为临时演示单机用。

2.Net6 接入Skywalking方法指引

2.1 新建一个.NET6站点,安装Nuget包

SkyAPM.Agent.AspNetCore

2.2 Properties下launchSettings.json增加配置

 "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore", //必须配置
 "SKYWALKING__SERVICENAME": "Service1" // 必须配置,在skywalking做标识,服务名称

或者在Program.cs增加配置环境变量

      public static void Main(string[] args)
      {
	      //必须配置
          Environment.SetEnvironmentVariable("ASPNETCORE_HOSTINGSTARTUPASSEMBLIES", "SkyAPM.Agent.AspNetCore");
		  //必须配置,在skywalking做标识,服务名称
          Environment.SetEnvironmentVariable("SKYWALKING__SERVICENAME", "aaa-net6-webapi");

          System.Threading.ThreadPool.SetMinThreads(1024, 512);
          CreateHostBuilder(args).Build().Run();
      }

2.3 添加配置文件skyapm.json

在根目录生成skywalking.json文件,修改2个配置项,其他默认,将skyapm.json文件的属性”复制到输出目录“ 修改为 ”如果较新则复制”
{
  "SkyWalking": {
    "ServiceName": "Service1", //服务名称,同launchSettings.json SKYWALKING__SERVICENAME 一致
    "Namespace": "",
    "HeaderVersions": [
      "sw8"
    ],
    "Sampling": {
      "SamplePer3Secs": -1,
      "Percentage": -1.0
    },
    "Logging": {
      "Level": "Error",
      "FilePath": "logs\\skyapm-{Date}.log"
    },
    "Transport": {
      "Interval": 3000,
      "ProtocolVersion": "v8",
      "QueueSize": 30000,
      "BatchSize": 3000,
      "gRPC": {
        "Servers": "10.10.10.10:11800", //skywalking 服务器Ip,端口
        "Timeout": 10000,
        "ConnectTimeout": 10000,
        "ReportTimeout": 600000,
        "Authentication": ""
      }
    }
  }
}

2.4 在program.cs 的var app=builder.Build();之前增加 Skywalking相关配置

builder.Services.AddSkyApmExtensions(); //添加Skywalking相关配置

3.运行监控

3.1 运行测试的项目:net6.demo.web1

3.2 打开skywalking地址,https://sw-web.aaa.com/general 查看效果
这里,我们可以看到.NET Core应用的服务为 net6.demo.web1调用接口及使用时间

标签:接入,配置,json,SkyWalking,Net6,Skywalking,skywalking
From: https://www.cnblogs.com/chenshaojun2008/p/18211522

相关文章

  • .Net6 web API (ResouceFilter-ActionFilter)
    前沿net中的ResouceFilter和ActionFilter 有啥主要区别呢其实2者都是过滤器 在ASP.NETCore中,ResourceFilter和ActionFilter是两种不同类型的过滤器,用于在请求处理过程中执行额外的逻辑。它们可以用于对请求和响应进行处理、修改或拦截,以实现诸如授权、日志记录......
  • 项目方案:社会视频资源整合接入汇聚系统解决方案(二)
    目录一、概述1.1应用背景1.2总体目标1.3设计原则1.4设计依据1.5术语解释二、需求分析2.1政策分析2.2业务分析2.3系统需求三、系统总体设计3.1设计思路3.1.1分级分类按需接入3.1.2可信可控安全联网3.1.3一机一档加强管控3.1.4视频资源共享3.2总体架构......
  • windows下使用redis解决.net6.0下人工调用接口时分配位置的并发问题
    使用了nuget包包括了:CSRedisCore,StackExchange.Redis,MyStack.DistributedLocking,Microsoft.Extensions.Configuration安装Redis并注册为windows服务 直接参考这位兄弟的成果:https://www.cnblogs.com/qingheshiguang/p/17952623注册服务:配置文件appsetting.json中加上Red......
  • 视频汇聚/云存储/安防监控EasyCVR接入GB28181设备未回复ack信息的原因排查
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。用户反馈,设备通过国标GB28181注册到平台后视频无法播放,于是请求我们排查情况。对用......
  • .Net6 web API (跨域请求 Vue项目)
    前沿在做新项目的时候跨域2中选择一种是,.net .net //添加跨域策略builder.Services.AddCors(options=>{options.AddPolicy("CorsPolicy",opt=>opt.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod().WithExposedHeaders("X-Pagina......
  • NET6 授权方式
    简单授权以下代码限制为仅允许经过身份验证的用户访问 AccountController:[Authorize]publicclassAccountController:Controller{publicActionResultLogin(){}publicActionResultLogout(){}}如果要将授权应用于操作而不是控制器,请......
  • .NET6中使用Log4net记录日志(二)记录日志到SqlServer数据库
    1、引用NuGet包(System.Data.SqlClient) 2、创建SqlServer数据库表(ProgramLog)CREATETABLEProgramLog(IdINTIDENTITY(1,1)PRIMARYKEY,[Date]DATETIME,--记录时间[Level]NVARCHAR(128),--日志级别[RunTime]VARCHAR(128),--执行时长[Thread]NVARCHAR(256),--线程号[Lin......
  • .net6中使用EF core多个上下文迁移方式
    正常上下文在复制一个一模一样的上下文appsettings.json添加两个数据库连接字符串 Program.cs里边一样添加两个 控制台迁移命令必须加上-Context后边跟的是我们上下文的名称Add-MigrationMyMigration-ContextMYDBContext222保存到数据库命令一样Update-Data......
  • .Net6 web API (Log日志)
    前言需要给项目打上日志可以查询哪里的信息 下面是步骤注意:不能允许没有任何监控的系统上线如何监控---日志记录需要日志信息的持久化-保存到文件中,保存到数据库中;11.11og4net日志记录1、Nuget引l入程序包Log4net+Microsoft.Extensions.Logging.Log4Net.AspNetcore2、......
  • SkyWalking 单机安装 + 集成springboot
    一、下载地址https://skywalking.apache.org/downloads/需下载安装包:SkyWalkingAPM(v9.6.0)(新版本BoosterUI已集成在SkyWalkingAPM中)apache-skywalking-apm-9.6.0.tarJavaAgent(v9.1.0)apache-skywalking-java-agent-9.1.0.tar二、安装2.1、安装SkyWalk......