1. 程式人生 > 實用技巧 >.netcore3.1使用skywalking(docker-compose一鍵部署)

.netcore3.1使用skywalking(docker-compose一鍵部署)

1、安裝Skywalking環境

這裡我使用的是docker-compose一鍵安裝的方式,docker-compose有三種方式可安裝:

(我選擇的是第二種方式安裝)

1.1>參見官網:https://docs.docker.com/compose/install/

1.1.1>下載docker compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

1.1.2>新增可執行許可權

sudo chmod +x /usr/local/bin/docker-compose

1.1.3>將檔案copy到 /usr/bin/目錄下

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

1.1.4>檢視版本

docker-compose –version

1.2>通過pip進行安裝

1.2.1>安裝pip

yum -y install epel-release
yum -y install python-pip

檢視版本

pip –version

1.2.2>更新pip

pip install --upgrade pip

1.2.3>安裝docker-compose

pip install docker-compose

1.2.4>檢視docker compose的版本

docker-compose version

1.3>離線安裝

訪問https://github.com/docker/compose/releases,下載 docker-compose-Linux-x86_64,將docker-compose-Linux-x86_64重新命名為docker-compose

通過ssh工具MobaXterm,將剛才下載的docker-compose檔案上傳到centos7的/usr/local/bin/目錄下

輸入以下命令 新增可執行許可權和檢視docker compose版本:

# 新增可執行許可權
sudo chmod +x /usr/local/bin/docker-compose
# 檢視docker-compose版本
docker-compose -v

2、一鍵部署skywalking

2.1>建立資料夾skywalking,並切換到該目錄下:

mkdir skywalking
cd skywalking

2.2>建立檔案docker-compose.yml,寫入內容(見附件docker-compose.yml):

vi docker-compose.yml

Insert切換插入模式;按Esc,輸入:wq,儲存並退出vi編輯

2.3>執行docker-compose.yml

docker-compose up -d

(偶爾可能會因為網路原因失敗,重新執行命令即可)

2.4>skywalking部署完成之後,可正常訪問:es和ui(IP地址根據實際情況輸入)

http://192.168.56.10:9200/

http://192.168.56.10:8080/

正常開啟無報錯資訊即可

3、.NetCore使用SkyWalking(已建立好WebAPI工程)

3.1>在根目錄建立skyapm.json檔案,並設定複製到輸出目錄:如果較新則複製

寫入內容:

{
  "SkyWalking": {
    "ServiceInstanceName": "OpenServiceInstance",
    "ServiceName": "OpenService",
    "Logging": {
      "Level": "Information",
      "FilePath": "logs\\skyapm-{Date}.log"
    },
    "Transport": {
      "Interval": 3000,
      "QueueSize": 30000,
      "BatchSize": 3000,
      "gRPC": {
        "Servers": "192.168.56.10:11800",
        "Timeout": 10000,
        "ConnectTimeout": 10000,
        "ReportTimeout": 600000
      }
    }
  }
}

ServiceName為服務名稱,ServiceInstanceName為例項名稱,Servers為skywalking收集器地址,只需要改動該三項即可

3.2> 配置啟動環境變數

在launchSettings.json中增加環境變數配置:

"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore"

執行起來並任意訪問一個api地址,然後在skywalking-ui中可追溯api訪問記錄:

(時間範圍記得根據實際情況選擇)

大功告成