抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

Apache SkyWalking 单机版测试

一、部署SkyWalking

学习之前,最好先浏览一下SkyWalking的设计原理:分布式追踪 & APM 系统 SkyWalking 源码分析 —— Collector 存储 Trace 数据

1、下载SkyWalking

SkyWalking官方下载地址

2、解压tar.gz

得到类似的目录:
SkyWalking的目录

3、启动SkyWalking

SkyWalking启动分两步进行:webApp、OapServer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
localhost:bin wuxuan.chai$ pwd
/Users/wuxuan.chai/Documents/application/skywalking/apache-skywalking-apm-bin-es7/bin
localhost:bin wuxuan.chai$ ls -l
-rwxr-xr-x 1 wuxuan.chai staff 1352 12 24 14:10 oapService.bat
-rwxr-xr-x 1 wuxuan.chai staff 1599 12 24 14:10 oapService.sh
-rwxr-xr-x 1 wuxuan.chai staff 1364 12 24 14:10 oapServiceInit.bat
-rwxr-xr-x 1 wuxuan.chai staff 1597 12 24 14:10 oapServiceInit.sh
-rwxr-xr-x 1 wuxuan.chai staff 1367 12 24 14:10 oapServiceNoInit.bat
-rwxr-xr-x 1 wuxuan.chai staff 1616 12 24 14:10 oapServiceNoInit.sh
-rwxr-xr-x 1 wuxuan.chai staff 941 12 24 14:10 startup.bat
-rwxr-xr-x 1 wuxuan.chai staff 934 12 24 14:10 startup.sh
-rwxr-xr-x 1 wuxuan.chai staff 1426 12 24 14:10 webappService.bat
-rwxr-xr-x 1 wuxuan.chai staff 1630 12 24 14:10 webappService.sh
localhost:bin wuxuan.chai$

bin目录里面包含了三个部分:oap服务、oap服务初始化、webappService

  • webappService服务的作用:提供SkyWalking的web服务
  • oap服务初始化:初始化oap服务所需要的环境初始化,例如:DataStorage的初始化,读取配置中心配置等
  • oap服务:相当于监控数据的收集(collecter)和持久化

如果配置完成,可以直接执行 sh startup.sh,启动整个项目

4、SkyWalking相关的配置

4.1、oap收集数据存储位置配置

1
2
3
4
5
# 打开配置文件
~ vim ./config/application.yml
# 查看storage配置项的支持,SkyWalking支持将数据落地到:elasticsearch、elasticsearch7、h2
# 根据实际需求设置响应的配置信息

4.2、设置配置中心

SkyWalking支持的配置中心有apollo、nacos、zookeeper、etcd、consul

1
2
3
# 打开配置文件
~ vim ./config/application.yml
# 根据实际需求设置响应的配置信息

4.3、服务端口的设置

1
2
3
4
# 打开配置文件
~ vim ./webapp/webapp.yml
# 修改web端口,server.port=9090 默认为8080
# cellector服务的调用地址 修改listOfServers,多个服务用‘,’隔开

4.4、Agent的配置

1
2
3
4
5
6
7
# 打开配置文件
~ vim ./agent/config/agent.config
# oapservice的后端服务,用于应用订阅(默认值127.0.0.1:11800)
collector.backend_service=xxx
# 是否追踪sql的参数
plugin.mysql.trace_sql_parameters=true/false

配置完成这些基本配置之后,就可以直接执行 sh startup.sh,启动整个项目了

5、将应用加入到SkyWalking的监控代理中

5.1、springboot项目

springboot应用:启动springboot的demo应用,

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env sh

# SkyWalking Agent 配置
export SW_AGENT_NAME=demo-application # 配置 Agent 名字。一般来说,我们直接使用 Spring Boot 项目的 `spring.application.name` 。
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800 # 配置 Collector 地址。
export SW_AGENT_SPAN_LIMIT=2000 # 配置链路的最大 Span 数量。一般情况下,不需要配置,默认为 300 。主要考虑,有些新上 SkyWalking Agent 的项目,代码可能比较糟糕。
export JAVA_AGENT=-javaagent:/Users/wuxuan.chai/Documents/application/skywalking/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar # SkyWalking Agent jar 地址。

# Jar 启动
java -jar $JAVA_AGENT -jar lab-39-demo-2.2.2.RELEASE.jar

执行启动脚本,即可在SkyWalking的拓扑图中看到对应的服务监控信息

5.2、传统的ssm项目,使用tomcat/jetty等容器发布的工程

需要在启动的参数中加入

1
2
3
4
-DSW_AGENT_NAME=xxx
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800
-DSW_AGENT_SPAN_LIMIT=2000
-javaagent:/Users/wuxuan.chai/Documents/application/skywalking/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar

启动tomcat/jetty,即可。

效果如图:
应用服务的拓扑图

评论