SkyWalking 是一款優秀的 APM 工具(Application Performance Monitoring,應用效能監控),專為微服務、雲原生架構和基於容器(Docker、K8S、Mesos)的架構而設計,包含了分散式追蹤、效能指標分析和服務依賴分析等功能。
官方:How to use the Docker images
docker run --name oap -d -p 1234:1234 -p 11800:11800 -p 12800:12800 apache/skywalking-oap-server
如下表示搭建成功:
# 新版 UI(Booster UI)暫無 docker 映象,因此以舊版為範例
docker run --name oap-ui -d -p 10800:8080 --link oap:oap -e SW_OAP_ADDRESS=http://oap:12800 apache/skywalking-ui
如下表示搭建成功:
curl -LO https://dlcdn.apache.org/skywalking/java-agent/8.11.0/apache-skywalking-java-agent-8.11.0.tgz
演練專案:https://github.com/spring-projects/spring-petclinic
[root@localhost skywalking]# cd spring-petclinic-main/
[root@localhost spring-petclinic-main]# ls
build.gradle gradle gradlew.bat mvnw pom.xml settings.gradle
docker-compose.yml gradlew LICENSE.txt mvnw.cmd readme.md src
[root@localhost spring-petclinic-main]# mvn clean package
啟動專案並監控:
[root@localhost spring-petclinic-main]# pwd
/root/skywalking/spring-petclinic-main
[root@localhost spring-petclinic-main]# java -javaagent:/root/skywalking/skywalking-agent/skywalking-agent.jar -DSW_AGENT_NAME=petclinic_demo -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.3.222:11800 -jar target/spring-petclinic-2.7.0-SNAPSHOT.jar
存取演練專案:
成功載入應用監控資料:
應用監控概覽:
應用使用的鏈路追蹤:
應用使用的相關 SQL: