開發環境:Net Core 3.1、webapi
發布環境:Centos7.x、Rancher2.x、Docker
操作步驟:
1、在應用程序中Nuget程序包:SkyAPM.Agent.AspNetCore v0.9.0
2、在Startup中的ConfigureServices方法中添加注入
services.AddSkyApmExtensions();
3、根目錄添加skyapm.json文件,內如如下:
{ "SkyWalking": { "ServiceName": "Elaotech_Parking_PayGateway", //服務名稱 "Namespace": "", "HeaderVersions": [ "sw6" ], "Sampling": { "SamplePer3Secs": -1, "Percentage": -1.0 }, "Logging": { "Level": "Information", "FilePath": "logs/skyapm-{Date}.log" }, "Transport": { "Interval": 3000, "ProtocolVersion": "v6", "QueueSize": 30000, "BatchSize": 3000, "gRPC": { "Servers": "127.0.0.1:11800", //Skywalking服務地址,生產環境替需替換成生產skyapm發布后的地址 "Timeout": 10000, "ConnectTimeout": 10000, "ReportTimeout": 600000 } } } }
4、添加Dockerfile文件,內容如下:
FROM mcr.microsoft.com/dotnet/core/runtime:3.1 WORKDIR /app COPY . . RUN sed -i 's/TLSv1.2/TLSv1.0/g' /etc/ssl/openssl.cnf ENV ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore ENV SKYWALKING__SERVICENAME=Elaotech_Parking_PayGateway ENTRYPOINT ["dotnet", "Elaotech.Parking.PayGateway.dll"]
核心是里面的兩個ENV變量及內容,一個是skyapm包名,一個是服務名稱。
5、本地運行需在launchSettings.json文件中的environmentVariables節點下添加系統變量,內容如下:
"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore", "SKYWALKING__SERVICENAME": "Elaotech_Parking_PayGateway"
6、發布生產環境build打包上傳,Rancher重新啟動服務節點。