首页 > 技术文章 > .net core 使用SkyWalking

KQNLL 2020-08-19 15:16 原文

Skywalking简单介绍

  Skywalking是一个应用性能管理(APM)系统,具有服务器性能监测,应用程序间调用关系及性能监测等功能,Skywalking分为服务端、管理界面、以及嵌入到程序中的探针部分,由程序中的探针采集各类调用数据发送给服务端保存,在管理界面上可以查看各类性能数据。本文介绍服务端及管理界面的安装。

Docker 安装

需要安装ES、SkyWalking服务端、SkyWalking ui。

安装ES

修改系统参数

vim /etc/security/limits.conf
调整参数
vm.max_map_count=262144
刷新参数
sysctl -p
docker run -d --name=es7 \
-p 9200:9200 -p 9300:9300 \
-e ES_JAVA_OPTS="-Xms128m -Xmx512m" \
-e "discovery.type=single-node" elasticsearch:7.5.1

 

安装oap

注意:等待elasticsearch完全启动之后,再启动oap

docker run --name oap --restart always -d \
--restart=always \
-e TZ=Asia/Shanghai \
-p 12800:12800 \
-p 11800:11800 \
--link es7:es7 \
-e SW_STORAGE=elasticsearch \
-e SW_STORAGE_ES_CLUSTER_NODES=es7:9200 \
apache/skywalking-oap-server:6.6.0-es7
说明:这里指定elasticsearch 来存储数据

  

安装ui

docker run -d --name skywalking-ui \
--restart=always \
-e TZ=Asia/Shanghai \
-p 8088:8080 \
--link oap:oap \
-e SW_OAP_ADDRESS=oap:12800 \
apache/skywalking-ui:6.6.0

安装完毕后的界面如下:

 

 

在.net core中使用

我们新建一个.net core项目来使用。

1、项目中引用kyAPM.Agent.AspNetCore 这个 NuGet 包。这个包集成了SkyWalking的探针功能,选择0.9的版本。

2、在项目根目录添加skyapm.json文件,并添加下以内容,其中的Servers结点的IP地址根据实际情况换成自己的服务器IP

{
  "SkyWalking": {
    "ServiceName": "Demo01",
    "Namespace": "",
    "HeaderVersions": [
      "sw6"
    ],
    "Sampling": {
      "SamplePer3Secs": -1,
      "Percentage": -1.0
    },
    "Logging": {
      "Level": "Debug",
      "FilePath": "logs/skyapm-{Date}.log"
    },
    "Transport": {
      "Interval": 3000,
      "ProtocolVersion": "v6",
      "QueueSize": 30000,
      "BatchSize": 3000,
      "gRPC": {
        "Servers": "192.168.22.188:11800", 
        "Timeout": 10000,
        "ConnectTimeout": 10000,
        "ReportTimeout": 600000
      }
    }
  }
}

3、 将skyapm.json文件的属性”复制到输出目录“ 修改为 ”如果较新则复制”

4、展开项目的Properties,打开launchSettings.json文件,在其中的环境变量中加入  "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore",

 

 这样就配置完成了。访问本地接口,然后打开http://192.168.22.188:8088/页面,在skywalking看板界面可以查看接口的调用情况。

 

参考博客 

.NetCore从零开始使用Skywalking分布式链路追踪系统 https://www.cnblogs.com/sunyuliang/p/11424848.html

 https://github.com/SkyAPM/SkyAPM-dotnet

https://blog.csdn.net/shykevin/article/details/108115442

推荐阅读