應用效能監控:SkyWalking

2022-08-31 06:00:43


SkyWalking 簡介

SkyWalking 是一款優秀的 APM 工具(Application Performance Monitoring,應用效能監控),專為微服務、雲原生架構和基於容器(Docker、K8S、Mesos)的架構而設計,包含了分散式追蹤、效能指標分析和服務依賴分析等功能。

更詳細介紹


SkyWalking 搭建

平臺後端(Backend)

官方: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)

官方:UI(舊版)

# 新版 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

如下表示搭建成功:


Java Agent(Java 應用監控)

Java Agent 下載

官方:Setup java agent

curl -LO https://dlcdn.apache.org/skywalking/java-agent/8.11.0/apache-skywalking-java-agent-8.11.0.tgz

Java 演練專案

演練專案:https://github.com/spring-projects/spring-petclinic

  • 至少需要 Java11
[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

存取演練專案:


SkyWalking 監控

成功載入應用監控資料:

應用監控概覽:

應用使用的鏈路追蹤:

應用使用的相關 SQL: