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

浙公网安备 33010602011771号