一、介紹
1、簡介
SkyWalking 是一個 開源的 APM(Application Performance Monitoring,應用性能監控)和分布式追蹤系統,主要用于監控、追蹤、分析分布式系統中的調用鏈路、性能指標和日志。
它由 Apache 基金會托管,特別適合微服務、云原生和容器化架構的應用。
2、核心功能
-
調用鏈追蹤(Tracing)
自動收集服務間調用鏈路數據,幫助你知道請求是如何從一個服務流向另一個服務的。 -
性能監控(Metrics)
提供 CPU、內存、QPS、響應時間、錯誤率等多維度監控指標。 -
服務拓撲圖
自動生成服務間調用關系圖,直觀展示微服務依賴。 -
日志與鏈路關聯
將日志與調用鏈整合,方便快速定位問題。 -
告警
支持規則配置,當指標異常時發出告警。
3. 典型使用場景
-
微服務排障:快速找出性能瓶頸和異常調用鏈。
-
性能分析:分析接口耗時、數據庫慢查詢等。
-
依賴分析:可視化查看服務之間的依賴關系。
-
生產監控:配合告警及時發現問題。
二、原理
SkyWalking 通過 Agent + OAP Server + UI 三部分協作:
1、Agent(探針)
以插件方式植入到應用(Java、.NET、Node.js 等),自動攔截 HTTP、RPC、數據庫等調用,采集鏈路數據。
2、OAP Server(后端)
接收 Agent 發送的數據,進行存儲、聚合、分析。
3、UI(前端可視化界面)
展示調用鏈、指標圖表、告警信息等。
三、下載安裝
1、bin下載安裝
https://downloads.apache.org/skywalking/10.2.0/apache-skywalking-apm-9.4.0.tar.gz
解壓后,目錄結構大致是
2、agent獲取
上面下載的不包含agent,手動創建個agent目錄,然后手動下載
https://repo1.maven.org/maven2/org/apache/skywalking/apm-agent-core/9.4.0/apm-agent-core-9.4.0.jar 放進去,再手動創建\agent\config\agent.config配置文件,內容為:
collector.backend_service
要指向你本地或遠程 OAP Server 的 HTTP 端口(默認 11800)。
# 服務名稱,對應你的應用名
agent.service_name=your-app-name# 后端 OAP 服務地址,多個用逗號分隔
collector.backend_service=127.0.0.1:11800# 日志等級,開發調試可用 DEBUG
logging.level=INFO
3、啟動插件
(1)啟動 OAP Server(后臺服務)
SkyWalking 的核心是 OAP Server,它負責接收應用程序上報的監控數據。
# Linux / macOS
./bin/oapService.sh# Windows (cmd)
bin\oapService.bat
默認端口:12800
(gRPC) 和 11800
(HTTP)
日志會輸出在控制臺,你可以看到 OAP server started
的提示。
(2)啟動 Web UI
UI 是前端界面,通過瀏覽器訪問。
# Linux / macOS
./bin/webappService.sh# Windows (cmd)
bin\webappService.bat
訪問?http://localhost:8080/