SkyWalking 建立於2015年,提供分佈式追蹤功能。從5.x開始,項目進化爲一個完成功能的Application Performance Monitoring系統。
他被用於追蹤、監控和診斷分佈式系統,特別是使用微服務架構,雲原生或容積技術。提供如下主要功能:html
SkyWalking主要由三大部分組成:Agent,Collector,Web;前端
Web:做用是將Collector收集的參數進行不一樣維度的展現java
一、在安裝SkyWalking以前,須要選擇數據的存在方式並進行搭建環境,SkyWalking支持兩種存儲方式:H二、mysql和ES
二、獲取Apache的最新發布的穩定版本或者下載github上面的源碼在穩定版本的tag上進行編譯完成以後會獲取到以下圖所示的文件結構
下載skywalking6.0.0
http://skywalking.apache.org/downloads/
http://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/6.5.0/apache-skywalking-apm-6.5.0.zip,解壓便可。
下載jdk8
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
經測試高於jdk8不支持。
三、安裝collector模塊
修改collector的配置:找到config目錄下的application.yml文件,找到如下的配置,
MySQL配置方法:
找個mysql-connector-java-5.1.47.jar
放入apache-skywalking-apm-incubating\oap-libs
經測試mysql/j版本是6.x.x和8.x.x會有問題
mysql配置
打開apache-skywalking-apm-incubating\config\application.yml
註釋掉storage:h2 解鎖mysql
打開apache-skywalking-apm-incubating\config\datasource-settings.properties
修改mysql的配置
加入dataSource.useSSL=false (可選)
mysql: properties: jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://10.200.110.4:3306/duan"} dataSource.user: ${SW_DATA_SOURCE_USER:duan} dataSource.password: ${SW_DATA_SOURCE_PASSWORD:123456} dataSource.cachePrepStmts: ${SW_DATA_SOURCE_CACHE_PREP_STMTS:true} dataSource.prepStmtCacheSize: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_SIZE:250} dataSource.prepStmtCacheSqlLimit: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT:2048} dataSource.useServerPrepStmts: ${SW_DATA_SOURCE_USE_SERVER_PREP_STMTS:true} dataSource.useSSL: false metadataQueryMaxSize: ${SW_STORAGE_MYSQL_QUERY_MAX_SIZE:5000}
ES配置方法:
storage: elasticsearch: clusterName: CollectorDBCluster //修改集羣名稱爲你的ES的集羣名稱 clusterNodes: localhost:9300 //修改集羣節點爲你的ES的集羣節點地址
而後啓動bin
目錄下的startup.sh
就能夠將collector和Web模塊啓動起來了。訪問本地的8080端口便可登陸頁面,帳號密碼都爲admin。
覈對webapp
apache-skywalking-apm-incubating\webapp\webapp.yml
server:
port爲網站端口,默認的8080容易與其餘軟件衝突,建議改一下好比18080
server:
ip設置爲0.0.0.0 (可選)
collector:ribbon:listOfServers設置爲127.0.0.1:12800(多個以逗號隔開)
保證18080,10800,11800,12800端口不被佔用
啓動前先初始化 執行oapServiceInit.bat
而後執行:startup.bat,啓動skywalking
web模塊若是啓動正常,能夠經過訪問:http://10.200.110.100:18080/,看到以下頁面:
collector模塊若是啓動正常,會在MySQL中建立不少表及數據:
建立windows服務
複製oapService.bat爲oapService1.bat
註釋::start "%OAP_PROCESS_TITLE%" 注意,後面%_EXECJAVA%開始的部分不要註釋掉
複製webappService.bat爲webappService1.bat
註釋::start "%WEBAPP_PROCESS_TITLE%" 注意,後面%_EXECJAVA%開始的部分不要註釋掉
而後用nssm將其發佈成windows服務
nssm install SkywalkingOap
nssm install SkywalkingWebapp
使用javaagent無侵入式的配合collector實現對分佈式系統的追蹤和相關數據的上下文傳遞。
配置文件位置
apache-skywalking-apm-incubating\agent\config\agent.config
配置說明
這個配置可在.net core程序中重寫
D:\gitspace\appsflyer-reflux\build\libs>java -javaagent:D:\soft\skywalking\apache-skywalking-apm-bin\agent\skywalking-agent.jar -jar appsflyer-reflux-201905241004.jar