1.部署Skywalking服務(wù)端
SkyWalking是開源的apm工具社付,服務(wù)器端使用java編寫承疲,所以依賴于jdk,jdk安裝略鸥咖。
以下步驟為安裝Skywalking服務(wù)端燕鸽,在官方文檔中有詳細(xì)記錄,下面我大概介紹下安裝步驟啼辣。
1.1下載安裝包
下載地址:http://skywalking.apache.org/downloads/啊研。Skywalking支持多種存儲(chǔ)系統(tǒng),es鸥拧、mysql党远、h2等,根據(jù)需要選擇相應(yīng)的版本富弦。
本次部署的是Skywalking的最新版本v7.0.0沟娱,存儲(chǔ)選擇的是mysql。
1.2配置
下載完后腕柜,解壓济似、配置。
1.2.1配置backend
大多數(shù)采用默認(rèn)配置就可以了媳握,主要配置application.yml文件碱屁,其中4個(gè)必須的模塊
- Core:默認(rèn)就可以了
- Cluster:因?yàn)槲沂菃螜C(jī)部署,所以也是默認(rèn)就可以了
- Storage:存儲(chǔ)采用mysql蛾找,所以selector改為mysql,其他的mysql用戶名赵誓、密碼等自行修改
- Query:默認(rèn)
1.2.2配置UI
默認(rèn)即可
1.3初始化
默認(rèn)的啟動(dòng)腳本/bin/oapService.sh(.bat)
打毛,除了默認(rèn)的啟動(dòng)腳本,還有兩種啟動(dòng)腳本oapServiceInit
俩功、oapServiceNoInit
幻枉。
- Default mode:做一些必要的初始化工作,例如監(jiān)聽诡蜓、啟動(dòng)服務(wù)
- Init mode:用這個(gè)模式初始化存儲(chǔ)熬甫,例如創(chuàng)建es、mysql蔓罚、TiDB的表和初始數(shù)據(jù)
- No-init mode:不做初始化工作椿肩,但是前提是ElasticSearch, MySQL和TiDB表已創(chuàng)建好, 然后監(jiān)聽、啟動(dòng)服務(wù)豺谈。這意味著需要另一個(gè)oap server做初始化工作
注意:mysql采用Init mode郑象,如果初始化報(bào)“no suitable driver found”錯(cuò)誤,需要下載mysql-connector-java-5.1.48.jar茬末,并放到oap-libs目錄
1.4啟動(dòng)
腳本:/bin/startup.sh(.bat)
驗(yàn)證是否啟動(dòng)成功:能打開ui就是啟動(dòng)成功了厂榛,我使用的是默認(rèn)的8080端口,瀏覽器打開http://localhost:8080
2.ASP.NET Core客戶端集成Skywalking
2.1項(xiàng)目中添加SkyAPM.Agent.AspNetCore包
dotnet add package SkyAPM.Agent.AspNetCore
2.2項(xiàng)目中添加skyapm.json配置文件
2.2.1安裝SkyAPM.DotNet.CLI工具
dotnet tool install -g SkyAPM.DotNet.CLI
2.2.2通過命令生成skyapm.json文件
dotnet skyapm config sample_app 192.168.0.1:11800
,把生成的skyapm文件放到項(xiàng)目中
2.3IIS發(fā)布
IIS發(fā)布需要通過web.config配置環(huán)境變量击奶,代碼如下:
<environmentVariables>
<environmentVariable name="ASPNETCORE_HOSTINGSTARTUPASSEMBLIES" value="SkyAPM.Agent.AspNetCore" />
<environmentVariable name="SKYWALKING__SERVICENAME" value="smaple_app" />
</environmentVariables>