Apache Skywalking簡介
Skywalking是一個可觀測性分析平台(Observability Analysis Platform簡稱OAP)和應用性能管理系統(Application Performance Management簡稱APM)。提供分布式鍊路追蹤、服務網格(Service Mesh)遙測分析、度量(Metric)聚合和可視化一體化解決方案。下面是Skywalking的幾大特點:
- 多語言自動探針,Java,.NET Core和Node.JS。
- 多種監控手段,語言探針和service mesh。
- 輕量高效。不需要額外搭建大資料平台。
- 子產品化架構。UI、存儲、叢集管理多種機制可選。
- 支援告警。
- 優秀的可視化效果。
Skywalking整體架構如下:

skywalaking總體架構分為三部分
- skywalking-collector:鍊路資料歸集器,資料可以落地ElasticSearch,單機也可以落地H2,不推薦,H2僅作為臨時示範用
- skywalking-web:web可視化平台,用來展示落地的資料
- skywalking-agent:探針,用來收集和發送資料到歸集器
Apache Skywalking(Incubator)共提供兩種部署模式:單節點模式和叢集模式,以下為單節點模式部署步驟。
依賴第三方元件環境配置
- JDK8+
- Mysql5.6 (不推薦)
- ElasticSearch: 6.x.
- skywalking-collector服務:192.168.1.100
- skywalking-web服務:192.168.1.101
- ES叢集:192.168.1.102
安裝ES
Linux無坑安裝Elasticsearch
配置 Skywalking Collector服務
cd /usr/lib/skywalking/wget https://mirrors.bfsu.edu.cn/apache/skywalking/8.1.0/apache-skywalking-apm-8.1.0.tar.gztar zxvf apache-skywalking-apm-8.1.0.tar.gzmv apache-skywalking-apm-bin skywalking-apcd skywalking-ap
-
配置ES 存儲監控資料(推薦)
vi config/application.yml
storage: selector: ${SW_STORAGE:h2} elasticsearch: nameSpace: ${SW_NAMESPACE:""} # 主要配置es節點位址 clusterNodes: 113.143.100.157:9200
- 啟動collector服務
#初始化./bin/oapServiceInit.sh #啟動collector服務./bin/oapService.sh
配置 Skywalking Web服務
- 修改配置
vi webapp/webapp.yml
server: port: 18188collector: path: /graphql ribbon: ReadTimeout: 10000 # Point to all backend's restHost:restPort, split by # 配置collector位址,預設d的rest端口12800 listOfServers: 127.0.0.1:12800
- 2、啟動web服務
./bin/webappService.sh
通路http://113.143.100.157:18188/來檢視 SkyWalking UI
探針配置(agent)
- 被監控端下載下傳skywalking
- 探針的配置 修改agent.config配置如下:
vi agent/config/agent.config-------------------------------------------------------------agent.service_name=Your_ApplicationName #改為你的項目名字collector.backend_service=127.0.0.1:11800 #collector的端口服務位址;logging.level=info
- 啟動Agent
-
基于JAR file的服務(SpringBoot)
在啟動你的應用程式的指令行中添加 -javaagent 參數. 并確定在-jar參數之前添加它. 例如:
-
java -javaagent:/usr/lib/skywalking/skywalking-apm/agent/skywalking-agent.jar -jar test-0.0.1-SNAPSHOT.jar
監控圖: