.net core 接入 skywalking

1 创建 webapi 项目 (.net 5.0)

2 在项目中添加Skywalking配置文件  skyapm.json 文件,内容参考如下:

{
  "SkyWalking": {
    "ServiceName": "WebApi_Skywalking",
    "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": "175.178.218.96:11800",
        "Timeout": 10000,
        "ConnectTimeout": 10000,
        "ReportTimeout": 600000,
        "Authentication": ""
      }
    }
  }
}

 其中的  ServiceName 是服务名

其中的 Servers 是部署skywalking时 skywalking-oap-server 配置的地址加端口

 

 设置 skyapm.json 的文件属性

 

 

3 在项目的 launchSettings.json 添加2个环境变量

        "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore", // 必须配置
        "SKYWALKING__SERVICENAME": "WebApi_Skywalking" // 需要与 skyapm.json 配置的服务名一致

删除 launchSettings.json 的多余启动项,改成添加了skywalking的环境变量启动,配置完环境变量后 launchSettings.json 如下

{
  "profiles": {
    "WebApi_Skywalking": {
      "commandName": "Project",
      "dotnetRunMessages": "true",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "applicationUrl": "http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore", // 必须配置
        "SKYWALKING__SERVICENAME": "WebApi_Skywalking" // 需要与 skyapm.json 配置的服务名一致
      }
    }
  }
}

 launchSettings.json 复制到输出目录选择为 “如果较新则复制”

4 添加 SkyAPM.Agent.AspNetCore 包 然后在 Startup.cs 中的 ConfigureServices 添加注册代码   

services.AddSkyApmExtensions(); // 在 Startup.cs 中的 ConfigureServices 添加注册代码 添加Skywalking相关配置


注意 SkyAPM.Agent.AspNetCore 包的版本和 skywalking的版本,目前使用的 版本是 SkyAPM.Agent.AspNetCore 1.3.0,

skywalking 服务器部署的脚本有对应的skywalking组件的版本号
https://www.cnblogs.com/tomorrow0/p/16351368.html

5 测试
使用 launchSettins.json 配置了 skywalking 环境变量来启动方式来启动项目

 

 运行项目,调用一个接口,这时查看 skywalking ui 界面

 

 

备注如果发现没有效果:可以查看项目的 Logs 文件夹产生的日志 

 

posted @ 2022-06-08 13:43  温故纳新  阅读(609)  评论(0编辑  收藏  举报