欢迎访问 博客原文
本文使用 Docker + Spring Boot 做一个 SkyWalking 的简单 Demo 演示。
简介
图片与以下内容来自官网,可通过 官方 Living Demo 体验产品效果。
SkyWalking 是一款分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。
SkyWalking 是观察性分析平台和应用性能管理系统。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案.
Docker 部署
以 Docker Hub 官方镜像 6.5.0 进行演示。
部署 SkyWalking oap
部署 skywalking-oap-server,oap 即 Observability Analysis Platform,表示 SkyWalking 的 backend.
docker run -d \
--name skywalking-oap \
-p 12800:12800 \
-p 11800:11800 \
-e TZ=Asia/Shanghai \
apache/skywalking-oap-server:6.5.0
默认使用 H2 作为存储,暴露以下两个端口:
- 11800 端口用于 gRPC API,探针基于 gRPC 上报数据
- 12800 端口用于 HTTP API ,SkyWalking UI 使用 HTTP 协议执行 GraphQL 查询。
部署 SkyWalking UI
docker run -d \
--name skywalking-ui \
-p 8080:8080 \
--link skywalking-oap:skywalking-oap \
-e SW_OAP_ADDRESS=skywalking-oap:12800 \
apache/skywalking-ui:6.5.0
容器启动后访问 http://localhost:8080,效果如下:
使用 Demo
从 官网 下载 6.5.0 版本的压缩包,选 Binary Distribution (Linux) 即可。
解压后修改配置文件 你的目录/apache-skywalking-apm-bin/agent/config/agent.config
# 设置为应用名称
agent.service_name=HelloWorld
# 设置为OAP地址
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:127.0.0.1:11800}
注意:不要变更agent目录的目录结构。
创建一个 Spring Boot Web 项目(应用使用8085或其他非8080端口),代码如下:
@RestController
public class EchoController {
@GetMapping("helloworld")
public String helloworld() {
return "HelloWorld";
}
}
在IDEA上设置好 VM Options,内容如下:
-javaagent:/你的目录/apache-skywalking-apm-bin/agent/skywalking-agent.jar -Dskywalking_config=/你的目录/apache-skywalking-apm-bin/agent/config/agent.config
- -javaagent :设置skywalking-agent.jar的绝对路径
- -Dskywalking_config:设置为 agent.config 的绝对路径
启动应用,访问一次应用接口: http://localhost:8085/helloworld。
打开 SkyWalking UI,刷新一下,就可以看到注册上来的 HelloWorld 应用及其统计数据。特别注意的是,时间范围的选择在右下角,产品设计的比较坑,很不方便。
推荐资料
欢迎关注公众号 [陈一乐],一起学习,一起成长