.net core 使用SkyWalking
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看板界面可以查看接口的调用情况。
参考博客