NetCore 3.1集成SkyApm


開發環境: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重新啟動服務節點。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM