- 首先搭建skywalking环境(docker环境)参考https://www.cnblogs.com/xiao987334176/p/13530575.html
- 安装es
#首先修改系统参数 vim /etc/sysctl.conf #调整参数后保存 vm.max_map_count=262144 #刷新参数 sysctl -p
#首先启动 es docker run -d --name=es7 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.5.1 #等待30秒左右,查看docker日志,如果有出现 "publish_address {172.17.0.2:9300}, bound_addresses {0.0.0.0:9300}"说明启动成功了。
#创建持久化目录,并重启启动elasticsearch mkdir -p /data/elasticsearch docker cp es7:/usr/share/elasticsearch/data /data/elasticsearch/ docker cp es7:/usr/share/elasticsearch/logs /data/elasticsearch/ docker rm -f es7 docker run -d --name=es7 --restart=always -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -v /data/elasticsearch/data:/usr/share/elasticsearch/data -v /data/elasticsearch/logs:/usr/share/elasticsearch/logs elasticsearch:7.5.1
- 安装oap
#必须等es 启动之后再执行以下脚本 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
- 安装skywalking-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
- 安装es
- 编写测试demo 基于netcore3.1
- 首先新建一个api
- 添加nuget包 SkyAPM.Agent.AspNetCore (这里选择的不是最新版 是8.0版本)
- 添加环境变量
"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore", "SKYWALKING__SERVICENAME": "Frontend"
- 添加配置文件skyapm.json
{ "SkyWalking": { "ApplicationCode": "Frontend", "SpanLimitPerSegment": 300, "Sampling": { "SamplePer3Secs": -1 }, "Logging": { "Level": "Information", "FilePath": "logs\SkyWalking-{Date}.log" }, "Transport": { "Interval": 3000, "PendingSegmentLimit": 30000, "PendingSegmentTimeout": 1000, "gRPC": { "Servers": "192.168.3.10:11800", "Timeout": 2000, "ConnectTimeout": 10000 } } } }
- 运行项目之后在skywalking部署环境查看如下 (我这里部署的是局域网3.10 环境)http://192.168.3.10:8088/trace
- 一些注意的点
- skywalking环境不要安装最新版本。最新版本的探针貌似nuget包还不支持
- api的nuget包版本也不要使用最新的1.0.0 我这边使用的是0.8.0