前言

SkyWalking是一个开源的APM(应用程序性能监视器)系统,专为微服务、云原生和基于容器的体系结构而设计。
功能包括对Cloud Native体系结构中的分布式系统的监视,跟踪,诊断,报警等,具体功能明细参见官网

部署skywalking

本文使用docker-compose的方式进行的部署,官网默认的docker示例是es数据库,es占用内存大,示例机器内存不足,我们直接使用自带的h2数据库来保存skywalking产生的数据。

docker-compose.yml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
version: '3.8'
services:
skywalking-oap:
image: apache/skywalking-oap-server:latest
container_name: skywalking-oap
restart: always
ports:
- 11800:11800
- 12800:12800
healthcheck:
test: ["CMD-SHELL", "/skywalking/bin/swctl"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
environment:
JAVA_OPTS: "-Xms512m -Xmx512m"
skywalking-ui:
image: apache/skywalking-ui:latest
container_name: skywalking-ui
depends_on:
- skywalking-oap
links:
- skywalking-oap
restart: always
ports:
- 3380:8080
environment:
SW_OAP_ADDRESS: skywalking-oap:12800

执行docker-compose命令,运行skywalking:

1
docker-compose up -d

下载skywalking-agent.jar

下载地址:http://skywalking.apache.org/downloads/

1
2
3
4
5
6
7
8
9
mkdir -p /home/pro-mall/
cd /home/pro-mall/
wget https://mirror.bit.edu.cn/apache/skywalking/8.1.0/apache-skywalking-apm-8.1.0.tar.gz
tar -zxvf apache-skywalking-apm-8.1.0.tar.gz

# skywalking-agent.jar文件完整地址
/home/pro-mall/apache-skywalking-apm-bin/agent/skywalking-agent.jar
# agent参数介绍
/home/pro-mall/apache-skywalking-apm-bin/agent/config/agent.config

项目使用

以agent的方式启动,对代码没有侵入性,直接在启动命令上指定javaagent即可。

启动命令javaagent参数添加:

1
java -javaagent:/home/pro-mall/apache-skywalking-apm-bin/agent/skywalking-agent.jar -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800 -DSW_AGENT_NAME=pro-mall -jar xxxxx

启动程序后,登录skywalking查看监控情况:http://localhost:3380

监控面板:
监控面板

调用链路:
调用链路