▶ 概述java
SkyWalking 是一個開源的 APM 系統,核心功能以下:面試
▶ SkyWalking 架構圖spring
SkyWalking 支持多種來源和多種格式的 traces / metrics 數據,包括:docker
▶ 部署 SkyWalking OAP & SkyWalking UI數據庫
參考文檔:Docker 部署 SkyWalking OAP & UIapache
▶ 示例:Spring Boot & SkyWalking Java Agentjson
一、獲取 Java Agent 庫性能優化
參考 Docker 鏡像 - 構建 SkyWalking OAP & UI ,編譯後,Java Agent 即爲 skywalking-agent/skywalking-agent.jar, agent 配置文件爲 skywalking-agent/config/agent.config架構
二、啓動 Spring Boot 應用框架
以 spring-boot-demos/hello spring boot 項目做爲示例,使用 maven 打包後,經過以下命令啓動服務:
java \
-javaagent:/<skywalking-project-path>/skywalking-agent/skywalking-agent.jar \
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800 \
-DSW_AGENT_NAME=spring-boot \
-jar hello-world-1.0-SNAPSHOT.jar複製代碼
輸出日誌相似以下表明 Agent 啓動成功:
DEBUG 2019-05-08 11:58:52:399 main AgentPackagePath : The beacon class location is jar:file:/Users/admin/docker/skywalking/apache-skywalking-apm-6.1.0/skywalking-agent/skywalking-agent.jar!/org/apache/skywalking/apm/agent/core/boot/AgentPackagePath.class.
INFO 2019-05-08 11:58:52:401 main SnifferConfigInitializer : Config file found in /Users/admin/docker/skywalking/apache-skywalking-apm-6.1.0/skywalking-agent/config/agent.config.
.........複製代碼
三、任意訪問 Spring Boot 服務的地址,便可自動採集信息
SkyWalking UI Dashboard
儀表盤
拓撲圖
往期推薦
● Spring Boot 注入外部配置到應用內部的靜態變量
● Java 使用 UnixSocket 調用 Docker API
● Service Mesh - gRPC 本地聯調遠程服務
● Spring Security 實戰乾貨:如何保護用戶密碼
● Spring Boot RabbitMQ - 優先級隊列
本文由博客一文多發平臺 OpenWrite 發佈!