简介
SkyWalking项目的核心目标,是针对微服务、Cloud Native、容器化架构,提供应用性能监控(APM)和分布式调用链追踪能力。
版本
core2.1对应的skyapm是0.9的版本, 0.9的版本只能支持skywalking的7.0及以下的版本。
.Net Framework版本无法追踪内部链路,.Net Core可以追踪内部链路。
环境
SkyWalking + .net core 3.1
接入流程
1. Net Core Client
SkyAPM.Agent.AspNetCore 1.0.0
SkyAPM.Diagnostics.AspNetCore 1.0.0
SkyAPM.Utilities.DependencyInjection 1.0.0
2. 添加中间件
在startup.cs文件,添加中间件
services.AddSkyApmExtensions();
3. 环境变量
项目 Properties/launchSettings.json
"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore"
4. 配置文件
在项目根目录项目新建json文件(属性-复制),skyapm.json
{
"SkyWalking": {
"ServiceName": "asp-net-core-backend",
"Namespace": "",
"HeaderVersions": [
"sw8"
],
"Sampling": {
"SamplePer3Secs": -1,
"Percentage": -1.0
},
"Logging": {
"Level": "Information",
"FilePath": "logs/skyapm-{Date}.log"
},
"Transport": {
"Interval": 3000,
"ProtocolVersion": "v8",
"QueueSize": 30000,
"BatchSize": 3000,
"gRPC": {
"Servers": "192.168.200.165:11800",
"Timeout": 100000,
"ConnectTimeout": 100000,
"ReportTimeout": 600000
}
}
}
}
5. 启动API
6. SkyWalking跟踪数据
7. 通讯中断
net 程序与skyserver无法通讯时,程序正常运行,期间无法记录跟踪数据数据,将会写日志,目录在json文件中进行配置。
网络恢复,正常推送跟踪数据。