一、操作流程图
SkyWalking Agent
和业务系统
绑定在一起,负责 收集各种监控数据。SkyWalking Oapservice
负责 处理监控数据, 通常 以集群的形式 存在。- 比如: 接收 SkyWalking Agent 的监控数据,并存储在数据库中;
接收 SkyWalking Webapp 的前端请求,从数据库查询数据,并返回数据给前端;
- 比如: 接收 SkyWalking Agent 的监控数据,并存储在数据库中;
SkyWalking Webapp
前端界面,用于 展示数据。DB 数据库
用于 存储监控数据的数据库。- 比如:MySQL、Elasticsearch 等等;
二、下载 SkyWalking 安装包
下载后,安装包后的目录:

- bin: 启动脚本,一般使用
startup.*
来启动WEB 页面
和 对应的后台应用
。- oapService: 使用
init
模式启动;在此模式下,OAP服务器启动以执行初始化工作,然后退出。 - oapServiceNoInit: 使用
no init
模式启动;在此模式下,OAP服务器启动不会初始化。 - webappService: UI 前端的启动脚本。
- startup: 组合脚本,同时启动
oapService.*
、webappService.*
脚本。
- oapService: 使用
- config: 使用启动配置文件。
- config-examples: 配置文件参考示例。
- oap-libs: 后台应用的
JAR
包,以及它的依赖JAR
包,里边有一个server-starter-*.jar
启动程序文件。 - tools: 数据生成工具脚本、代理文件导出工具脚本。
- webapp: UI前端(WEB)页面, 里边有一个
skywalking-webapp.jar
启动程序文件。
注意事项: 运行环境要求
- 至少 4核 CPU
- 至少 4GB 内存
2.1 启动脚本
- window 启动
startup.bat
- linux 或 Mac 启动
startup.sh
当前使用的是 Linux, 进入 /bin
目录, 执行命令:
shell
$ sh startup.sh
# 输出
SkyWalking OAP started successfully!
SkyWalking Web Application started successfully!
2.3 日志信息存储在 logs
目录
- 在安装包目录:
logs
- 启动成功后会启动2个服务:
- 一个是
SkyWalking-oap-server
启动后,会暴露11800
和12800
两个端口。11800
端口: 收集监控数据的端口。12800
端口: 接收前端请求的端口。
- 一个是
SkyWalking-web-ui
。
- 一个是
shell
$ ls -l
# 输出
-rw-r--r--@ 1 calvin staff 0 9 26 10:48 oap.log
-rw-r--r-- 1 calvin staff 193245 9 26 10:48 skywalking-oap-server.log
-rw-r--r--@ 1 calvin staff 0 9 26 10:48 webapp-console.log
2.2 访问 SkyWalking Webapp UI
- 默认访问端口为:
8080
- 可以修改配置文件目录:
/webapp/webapp.yml
为自定端口, 当前修改端口号为38080
server.port
:SkyWalking UI服务端口,默认是8080。collector.ribbon.listOfServers
:SkyWalking OAP服务地址数组,SkyWalking UI界面的数据是通过请求SkyWalking OAP服务来获得。
三、Docker Compose 安装
3.1 拉取 GitHub 代码
shell
$ git clone https://github.com/apache/skywalking-showcase.git
3.2 发布启动
- 拉取后,进入目录
skywalking-showcase
项目,执行make
进行 dokcer 部署。
shell
# Deploy
make deploy.docker
# Undeploy
make undeploy.docker
# Redeploy
make redeploy.docker # equivalent to make undeploy.docker deploy.docker
官网参考地址: https://skywalking.apache.org/docs/skywalking-showcase/next/readme/#customization