SkyWalking+Asp.Net Core 分布式追踪系统

  • SkyWalking 是一套(APM)分布式追踪系统,SkyWalking提供了很多数据存储列如:Mysql,H2,Elasticsearch7 等,我这里用的是Elasticsearch7 ,SkyWalking默认H2,H2是内存数据库,数据文件一旦损坏oapservice就启动不了,所以我这里用的是Elasticsearch7 。
    SkyWalking下载地址

    Elasticsearch下载地址

  • SkyWalking 安装的环境要求

    CentOS7
    JDK8+
    Elasticsearch7 做数据存储,9200端口不被占用
    SkyWalking 8080,10800,11800,12800 端口不被占用

  • 接下来安装

      yum -y list java*
      yum install java-1.8.0-openjdk.x86_64
      java -version
      wget SkyWalking下载连接
      wget Elasticsearch下载连接
      tar -zxvf SkyWalking和Elasticsearch
    
  • Elasticsearch需要创建用户不允许ROOT运行 参考

      sudo  useradd es
      sudo  passwd es
      #设置用户权限
      sudo  chown -R es [Elasticsearch tar 包目录]
    
  • SkyWalking 安装修改配置文件application.yml,在config文件夹下

     vi application.yml
     selector: ${SW_STORAGE:H2}把h2改成selector: ${SW_STORAGE:Elasticsearch7} 保存
    

  • SkyWalking 启动SkyWalking bin目录下的startup.sh,启动包括两部分,oapService和webappService,查看日志文件在logs文件夹下
    ./startup.sh
  • 正常的情况下就可以访问了端口8080,记得开放防火墙
  • 接下来接入 .net 项目
Install-Package SkyAPM.Agent.AspNetCore
设置环境变量ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore

  • 在根目录下创建skyapm.json配置,下面是官网的配置
{
  "SkyWalking": {
    "ServiceName": "[服务名字]",
    "Namespace": "",
    "HeaderVersions": [
      "sw6"
    ],
    "Sampling": {
      "SamplePer3Secs": -1,
      "Percentage": -1.0
    },
    "Logging": {
      "Level": "Information",
      "FilePath": "logs/skyapm-{Date}.log"
    },
    "Transport": {
      "Interval": 3000,
      "ProtocolVersion": "v6",
      "QueueSize": 30000,
      "BatchSize": 3000,
      "gRPC": {
        "Servers": "[IP]:11800",
        "Timeout": 10000,
        "ConnectTimeout": 10000,
        "ReportTimeout": 600000
      }
    }
  }
}

运行即刻,目前Dapper和SmartSql等ORM框架都支持SkyWalking 探针

原文地址:https://www.cnblogs.com/SuperDust/p/12580060.html