1. 程式人生 > 實用技巧 >docker部署skywalking,以及.NETCore專案IIS部署整合

docker部署skywalking,以及.NETCore專案IIS部署整合

之前寫過一篇基於Linux下的Skywalking的部署,關於skywalking的介紹可以看這個https://www.cnblogs.com/shook/p/10852691.html

因為這次換了下環境,在docker下部署skywalking,以及.NETCore專案整合

一、所需映象拉取

docker pull elasticsearch:7.5.1
docker pull apache/skywalking-oap-server:6.6.0-es7
docker pull apache/skywalking-ui:6.6.0

二、安裝部署

安裝es

docker run -d --name=es7 \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" elasticsearch:7.5.1

安裝oap

docker run --name oap --restart always -d \
-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

安裝ui

docker run -d --name skywalking-ui \
-e TZ=Asia/Shanghai \
-p 8080:8080 \
--link oap:oap \
-e SW_OAP_ADDRESS=oap:12800 \
apache/skywalking-ui:6.6.0

看一下容器

訪問一下ip:8080就OK啦

三、.NETCore專案整合

還是先看官方文件https://github.com/SkyAPM/SkyAPM-dotnet

Examples
On windows
dotnet new mvc -n sampleapp
cd sampleapp
dotnet add package SkyAPM.Agent.AspNetCore
set ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore
set SKYWALKING__SERVICENAME=sample_app
dotnet run
On macOS/Linux
dotnet new mvc -n sampleapp
cd sampleapp
dotnet add package SkyAPM.Agent.AspNetCore
export ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore
export SKYWALKING__SERVICENAME=sample_app
dotnet run
Configuration
Install SkyAPM.DotNet.CLI

dotnet tool install -g SkyAPM.DotNet.CLI
Use dotnet skyapm config [your_service_name] [your_servers] to generate config file.

dotnet skyapm config sample_app 192.168.0.1:11800

我這裡是在jenkins裡放了下命令,做了自動部署,也可以直接在vs裝nuget包省了麻煩

D:
cd D:\Jenkins_workspace\test\Project\test
dotnet add package SkyAPM.Agent.AspNetCore
set ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore
set SKYWALKING__SERVICENAME=t_netcore

在目標伺服器的部署資料夾下執行,會生成skyapm.json檔案

dotnet tool install -g SkyAPM.DotNet.CLI
dotnet skyapm config sample_app 192.168.1.1:11800

最後說一下在IIS下執行的配置

SKYWALKING_SERVICENAME
project_name

ASPNETCORE_HOSTINGSTARTUPASSEMBLIES
SkyAPM.Agent.AspNetCore

然後重啟站點,回收一下就OK了~