Skywalking專門為微服務架構和雲原生架構系統而設計並且支持分布式鏈路追蹤的APM系統,即應用性能監控系統,為微服務架構和雲原生架構系統設計。它通過探針自動收集所需的指標,並進行分布式追蹤。通過這些調用鏈路以及指標,Skywalking APM會感知應用間關系和服務間關系,並進行相應的指標統計。目前支持鏈路追蹤和監控應用組件如下,基本涵蓋主流框架和容器,如國產PRC Dubbo和motan等,國際化的spring boot,spring cloud都支持了。Apache Skywalking (Incubating)目前支持多種語言,其中包括Java,.Net Core,Node.js和Go語言。
skywalking總體架構分為三部分
skywalking-collector:鏈路數據歸集器,本文用的是mysql
skywalking-web:web可視化平台,用來展示落地的數據
skywalking-agent:探針,用來收集和發送數據到歸集器
1、官網下載skywalking服務端
http://skywalking.apache.org/downloads/
2、上傳解壓
tar -zxvf apache-skywalking-apm-6.3.0.tar.gz
3、重命名文件夾
mv apache-skywalking-apm skywalking
ll /opt/skywalking
4、將儲存方式由 h2 修改為 mysql:
vim /opt/skywalking/config/application.yml
修改storage部分,注釋掉h2,打開mysql,其他保持不動
配置數據源
vim /opt/skywalking/config/datasource-settings.properties
5、下載mysql驅動包到 /opt/skywalking/oap-libs 目錄下(5.1.48)
http://central.maven.org/maven2/mysql/mysql-connector-java/
6、進入mysql 創建swtest 數據庫
mysql -uroot –p
mysql> create database swtest;
Query OK, 1 row affected (0.00 sec)
7、啟動collector服務
#初始化
cd /opt/skywalking/bin/
./oapServiceInit.sh
#啟動collector服務
./oapService.sh
8、配置 Skywalking Web服務
vim /opt/skywalking/webapp/webapp.yml
# 修改webapp.yml 文件配置如下:
默認的8080容易與其他軟件沖突,建議改一下比如18080
9、啟動web服務
cd /opt/skywalking/bin
./webappService.sh
啟動bin目錄下的startup.sh可以將collector和Web模塊一起啟動起來。
倘若沒有問題,此時可以訪問http://ip:18080進入SkyWalking UI
9、探針配置(Agent)
vim /opt/skywalking/agent/config/agent.config
修改項目名字和日志打印級別
10、啟動Agent
1、基於Tomcat的服務(SpringMvc)
在tomcat的bin目錄下的catalina.sh中增加如下命令行
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/opt/skywalking/agent/skywalking-agent.jar"
export CATALINA_OPTS
2、基於JAR file的服務(SpringBoot)
在啟動應用程序的命令行中添加 -javaagent 參數. 並確保在-jar參數之前添加它. 例如:
java -javaagent:/opt/skywalking/agent/skywalking-agent.jar -jar yourApp.jar
然后重啟服務,就可以看到頁面上有數據了;如果發生了其他錯誤,請查看日志進行詳細排查;collector的日志和Web的日志都是在SkyWalking根目錄的log目錄之中(會在collector啟動之后創建);Agent的目錄是在agent目錄之下。