Skywalking簡單介紹
Skywalking是一個應用性能管理(APM)系統,具有服務器性能監測,應用程序間調用關系及性能監測等功能,Skywalking分為服務端、管理界面、以及嵌入到程序中的探針部分,由程序中的探針采集各類調用數據發送給服務端保存,在管理界面上可以查看各類性能數據。本文介紹服務端及管理界面的安裝。
Docker 安裝
需要安裝ES、SkyWalking服務端、SkyWalking ui。
安裝ES
修改系統參數
vim /etc/security/limits.conf
調整參數
vm.max_map_count=262144
刷新參數
sysctl -p
docker run -d --name=es7 \ -p 9200:9200 -p 9300:9300 \ -e ES_JAVA_OPTS="-Xms128m -Xmx512m" \ -e "discovery.type=single-node" elasticsearch:7.5.1
安裝oap
注意:等待elasticsearch完全啟動之后,再啟動oap
docker run --name oap --restart always -d \ --restart=always \ -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 說明:這里指定elasticsearch 來存儲數據
安裝ui
docker run -d --name skywalking-ui \ --restart=always \ -e TZ=Asia/Shanghai \ -p 8088:8080 \ --link oap:oap \ -e SW_OAP_ADDRESS=oap:12800 \ apache/skywalking-ui:6.6.0
安裝完畢后的界面如下:
在.net core中使用
我們新建一個.net core項目來使用。
1、項目中引用kyAPM.Agent.AspNetCore 這個 NuGet 包。這個包集成了SkyWalking的探針功能,選擇0.9的版本。
2、在項目根目錄添加skyapm.json文件,並添加下以內容,其中的Servers結點的IP地址根據實際情況換成自己的服務器IP
{ "SkyWalking": { "ServiceName": "Demo01", "Namespace": "", "HeaderVersions": [ "sw6" ], "Sampling": { "SamplePer3Secs": -1, "Percentage": -1.0 }, "Logging": { "Level": "Debug", "FilePath": "logs/skyapm-{Date}.log" }, "Transport": { "Interval": 3000, "ProtocolVersion": "v6", "QueueSize": 30000, "BatchSize": 3000, "gRPC": { "Servers": "192.168.22.188:11800", "Timeout": 10000, "ConnectTimeout": 10000, "ReportTimeout": 600000 } } } }
3、 將skyapm.json文件的屬性”復制到輸出目錄“ 修改為 ”如果較新則復制”
4、展開項目的Properties,打開launchSettings.json文件,在其中的環境變量中加入 "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore",
這樣就配置完成了。訪問本地接口,然后打開http://192.168.22.188:8088/頁面,在skywalking看板界面可以查看接口的調用情況。
參考博客