news 2026/9/3 10:52:32

10分钟快速搭建 SkyWalking 服务

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
10分钟快速搭建 SkyWalking 服务

从 0 开始入门 SkyWalking,搭建 SkyWalking 服务,并接入 Java 项目中实现分布式链路追踪。

Tags 

目录:

  • 1. 概述
  • 2. 搭建 SkyWalking 单机环境
  • 3. 搭建 SkyWalking 集群环境
  • 4. 告警
  • 5. 注意事项
  • 6. Spring Boot 使用示例

1. 概述

1.1 概念

SkyWalking 是什么?

FROM Apache SkyWalking

分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。

提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。

1.2 功能列表

SkyWalking 有哪些功能?

FROM Apache SkyWalking

  • 多种监控手段。可以通过语言探针和 service mesh 获得监控是数据。
  • 多个语言自动探针。包括 Java,.NET Core 和 Node.JS。
  • 轻量高效。无需大数据平台,和大量的服务器资源。
  • 模块化。UI、存储、集群管理都有多种机制可选。
  • 支持告警。
  • 优秀的可视化解决方案。

1.3 整体架构

SkyWalking 整体架构如何?

FROM Apache SkyWalking

整个架构,分成上、下、左、右四部分:

考虑到让描述更简单,我们舍弃掉 Metric 指标相关,而着重在 Tracing 链路相关功能。

  • 上部分 Agent :负责从应用中,收集链路信息,发送给 SkyWalking OAP 服务器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 数据信息。而我们目前采用的是,SkyWalking Agent 收集 SkyWalking Tracing 数据,传递给服务器。
  • 下部分 SkyWalking OAP :负责接收 Agent 发送的 Tracing 数据信息,然后进行分析(Analysis Core) ,存储到外部存储器( Storage ),最终提供查询( Query )功能。
  • 右部分 Storage :Tracing 数据存储。目前支持 ES、MySQL、Sharding Sphere、TiDB、H2 多种存储器。而我们目前采用的是 ES ,主要考虑是 SkyWalking 开发团队自己的生产环境采用 ES 为主。
  • 左部分 SkyWalking UI :负责提供控台,查看链路等等。

1.4 官方文档

在 skywalking/docs at master · apache/skywalking · GitHub 地址下,提供了 SkyWalking 的英文文档。

考虑到大多数胖友的英语水平和艿艿不相伯仲,再加上胖友一开始对 SkyWalking 比较陌生,所以比较推荐先阅读 GitHub - SkyAPM/document-cn-translation-of-skywalking: [已过期,请使用官网AI文档] The CN translation version of Apache SkyWalking document 地址,提供了 SkyWalking 的中文文档。

考虑到胖友使用 SkyWalking 的目的,是实现分布式链路追踪的功能,所以最好去了解下相关的知识。这里推荐阅读两篇文章:

  • 《OpenTracing 官方标准 —— 中文版》
  • Google 论文 《Dapper,大规模分布式系统的跟踪系统》

2. 搭建 SkyWalking 单机环境

考虑到让胖友更快的入门,我们来搭建一个 SkyWalking 单机环境,步骤如下:

  • 第一步,搭建一个 Elasticsearch 服务。
  • 第二步,下载 SkyWalking 软件包。
  • 第三步,搭建一个 SkyWalking OAP 服务。
  • 第四步,启动一个 Spring Boot 应用,并配置 SkyWalking Agent。
  • 第五步,搭建一个 SkyWalking UI 服务。

2.1 Elasticsearch 搭建

FROM Elasticsearch:官方分布式搜索和分析引擎 | Elastic

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

参考《Elasticsearch 极简入门》的「1. 单机部署」小节,搭建一个 Elasticsearch 单机服务。

不过要注意,本文使用的是 Elasticsearch 7.5.1 版本。因为 SkyWalking 6.6.0 版本,增加了对 Elasticsearch 7.X 版本的支持。当然,如果胖友使用 Elasticsearch 6.X 版本也是可以的。

2.2 下载 SkyWalking 软件包

对于 SkyWalking 的软件包,有两种方式获取:

  • 手动编译
  • 官方包

一般情况下,我们建议使用官方包。手动编译,更多是尝鲜或者等着急修复的 BUG 的版本。

2.2.1 官方包

在 Downloads | Apache SkyWalking 下,我们下载操作系统对应的发布版。

这里,我们选择 Binary Distribution for ElasticSearch 7 (Linux) 版本,因为艿艿是 Mac 环境,再加上想使用 Elasticsearch 7.X 版本作为存储。如果胖友想用 Elasticsearch 6.X 版本作为存储,记得下载 Binary Distribution (Linux) 版本。

① 下载

# 创建目录 $ mkdir -p /Users/yunai/s
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 10:47:52

QtScrcpy:不装 App 就能投屏控手机的跨平台工具,5 分钟跑通

QtScrcpy:不装 App 就能投屏控手机的跨平台工具,5 分钟跑通 【免费下载链接】QtScrcpy Android real-time display control software 项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy QtScrcpy 是一款基于 scrcpy 技术的跨平台工具&a…

作者头像 李华
网站建设 2026/9/3 10:46:44

1.7.10最强钻石剑毕业攻略:附魔选择与铁砧合成全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 10:45:45

从16元抿节面套餐学数据库设计:SKU、配料与续面规则建模

一家开在河北博物院西侧范光胡同的小店,把“老陕北抿节”做成了类似套餐的形式:16 元的抿节面,默认搭配 15 种小料,并且把免费续面当作基础权益。从产品运营角度看,这是把“吃面”做成了“规则组合”;从系统…

作者头像 李华
网站建设 2026/9/3 10:44:18

Spring Boot国际化实战:从零构建法语(fr-FR)本地化支持

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 10:44:10

薛之谦2023天外来物石家庄演唱会背后的技术支撑

这个标题对应的是一台演唱会主题活动,而不是可安装、可部署或可接口调用的技术项目。目前输入里没有项目正文、没有关键词、没有摘要说明,也没有相关技术细节可以用作事实依据,所以我无法在不虚构内容的前提下,把这件事包装成一篇…

作者头像 李华