.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地址根據實際情況輸入)
正常開啟無報錯資訊即可
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訪問記錄:
(時間範圍記得根據實際情況選擇)
大功告成