内容目录
- 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.支持告警
- Skywalking Agent:链路数据采集tracing(调用链数据)和metric(指标)信息并上报,上报通过HTTP或者gRPC方式发送数据到Skywalking Collector
- Skywalking Collector : 链路数据收集器,对agent传过来的tracing和metric数据进行整合分析通过Analysis Core模块处理并落入相关的数据存储中,同时会通过Query Core模块进行二次统计和监控告警
- 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
标签:接入,配置,json,SkyWalking,Net6,Skywalking,skywalking From: https://www.cnblogs.com/chenshaojun2008/p/182115223.2 打开skywalking地址,https://sw-web.aaa.com/general 查看效果
这里,我们可以看到.NET Core应用的服务为 net6.demo.web1调用接口及使用时间