陈同学
微服务
Accelerator
About
# Docker + Spring Boot 演示 SkyWalking Demo 本文使用 Docker + Spring Boot 做一个 SkyWalking 的简单 Demo 演示。 ## 简介 ![](https://blog-1256695615.cos.ap-shanghai.myqcloud.com/2020/01/02/1.jpeg) 图片与以下内容来自官网,可通过 [官方 Living Demo](http://122.112.182.72:8080/) 体验产品效果。 ``` SkyWalking 是一款分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。 SkyWalking 是观察性分析平台和应用性能管理系统。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案. ``` ## Docker 部署 以 Docker Hub 官方镜像 6.5.0 进行演示。 ### 部署 SkyWalking oap 部署 **skywalking-oap-server**,oap 即 Observability Analysis Platform,表示 SkyWalking 的 backend. ```bash 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 ```java 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](http://localhost:8080),效果如下: ![](https://blog-1256695615.cos.ap-shanghai.myqcloud.com/2020/01/04/1.png) ## 使用 Demo 从 [官网](https://skywalking.apache.org/downloads>) 下载 6.5.0 版本的压缩包,选 **Binary Distribution (Linux)** 即可。 解压后修改配置文件 `你的目录/apache-skywalking-apm-bin/agent/config/agent.config` ```properties # 设置为应用名称 agent.service_name=HelloWorld # 设置为OAP地址 collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:127.0.0.1:11800} ``` **注意:不要变更agent目录的目录结构。** 创建一个 Spring Boot Web 项目(应用使用8085或其他非8080端口),代码如下: ```java @RestController public class EchoController { @GetMapping("helloworld") public String helloworld() { return "HelloWorld"; } } ``` 在IDEA上设置好 VM Options,内容如下: ```java -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 的绝对路径 如果采用Docker服务,可以设置如下环境变量: ``` JAVA_OPTS: -javaagent:/yourDir/skywalking-agent.jar SW_AGENT_NAME: HelloWorld SW_AGENT_COLLECTOR_BACKEND_SERVICES: x.x.x.x:11800 ``` 启动应用,访问一次应用接口: [http://localhost:8085/helloworld](http://localhost:8085/helloworld)。 打开 SkyWalking UI,刷新一下,就可以看到注册上来的 **HelloWorld** 应用及其统计数据。特别注意的是,时间范围的选择在右下角,产品设计的比较坑,很不方便。 ![](https://blog-1256695615.cos.ap-shanghai.myqcloud.com/2020/01/04/2.png) ## 推荐资料 * [SkyWalking 官网](https://skywalking.apache.org/) * [SkyWalking GitHub](https://github.com/apache/skywalking) * [SkyWalking 文档中文版(社区提供)](https://skyapm.github.io/document-cn-translation-of-skywalking/) * [SkyWalking 官方 Living Demo](http://122.112.182.72:8080/)
本文由
cyj
创作,可自由转载、引用,但需署名作者且注明文章出处。
文章标题:
Docker + Spring Boot 演示 SkyWalking Demo
文章链接:
https://chenyongjun.vip/articles/126
扫码或搜索 cyjrun 关注微信公众号, 结伴学习, 一起努力