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

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

  • 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 探针

相关文章