Spring Cloud —— SkyWalking (二)

4. 术语介绍

4.1 APM

Application Performance Monitor 应用性能监控,帮助程序员优化系统性能的技术体系。

作用:收集,分析和可视化应用程序的运行时数据(如 响应时间、吞吐量、错误率等)。

前文的 CAT 和 SkyWalking 就是 APM 工具。

4.2 OAP

Observability Analysis Platform 观测分析平台。

SkyWalking 架构通常包含 三个主要组件:探针(A gent),后端(B ackend),和前端(UI)。

OAP 是后端的重要组成,任务是 接受处理存储 探针给的可观测数据 ,并生成聚合指标

4.3 Agent

探针,轻量数据采集 组件,通过 字节码植入 技术,无侵入收集程序运行时数据。

4.4 UI

前端的可视化界面。

其通过 RESTful API 从 OAP 获取数据,支持图表化展示与交互式筛选,提供 Web 控制台,展示服务拓扑、调用链路、实时指标、告警信息等。

4.5 Metrics

指标,如服务响应时间,服务成功率等

4.6 Endpoint

服务实例中 接受,处理外部请求的具体入口点。比 service 更细粒度的监控单元,用于描述服务内部的接口和方法级别的访问路径。

在这里可以粗暴的理解为服务的接口。

5. 安装部署 SW

5.1 下载

下载地址:https://skywalking.apache.org/downloads/

这里我们下载:SkyWalking APM (10.2.0)和 Java Agent(9.4.0)。

8.8.0 之后,apm 和 agent 就分开安装了

如果没有找到这个版本,就翻到网页最下面的链接,跳转下载对应版本。

解压这两个文件,并在 \apache-skywalking-apm-10.2.0\apache-skywalking-apm-bin的下创建 agent 文件夹,

将刚才解压的 agent 包的全部内容(如下图),剪切到创建的 agent 文件夹下。

5.2 web 界面配置

配置 web 界面的端口:
\apache-skywalking-apm-10.2.0\apache-skywalking-apm-bin\webapp 下的 application.yml 文件。8080 是 tomcat 的默认端口,不该这里,就改服务的端口。

skywalking-oap-server 服务(oap模块的实际运行实例)启动后,会暴露 11800 和 12800 两个端口

11800:grpc 端口,接受 skywalking agent 的监控数据

12800: REST API 端口,提供 RESTful API 服务,供 skywalking UI 或其他外部系统调用,用于查询监控数据

5.3 数据库配置

5.3.1 相关知识简介

skywalking 支持多种存储,这里介绍几种:

  1. H2

    2025 年前,一直是 sw 的默认的,直接启动不用配置。

    其采用 内存模式,随让可以直接上手,但是 H2 的该模式会在运行约 20 分钟后,丢失数据,且其行为没有任何预警。

    后采用 BanyanDB 作为默认配置。

    相关文章:2025 年的首次公告:永久移除 H2 存储选项

  2. MySql

    skywalking 一直支持 mysql 作为存储选项。

    MySQL 对 中小型规模的数据友好,部署,运维成本低。

    但是 分库分表复杂,不适应千亿级数据的分布式存储需求。 此外,其对时间序列数据的聚合查询速率远低于 ES,复杂查询易成瓶颈。

    适于学习,测试环境,或小数据量环境。

  3. Elasticsearch

    2025 年前,一直是 skywalking 官方推荐的生产环境的存储选项。

    ES 基于倒排索引和分片机制,擅长处理海量时序数据的查询与聚合分析。集群分片后能应对 PB 级数据存储需要。此外,社区支持广泛。

    但是,运维成本高,要单独部署 ES 集群,资源消耗大,性价比不高。

  4. BanyanDB

    skywaling 的原生数据库,2025年已经生产可用。

    主要面向 APM 领域,专为处理 Metrics(指标)、Tracing(追踪)、Logging(日志)三类可观测数据设计。

    BanyanDB 专为云原生架构设计,能够处理更大工作负载,无需担心数据丢失,且设计简单,使用门槛低。

这里使用 MySQL 作为配置,其他的使用和其类似。

5.3.2 驱动放置

将 mysql 的驱动 jar 包放在该路径下
\apache-skywalking-apm-10.2.0\apache-skywalking-apm-bin\oap-libs

5.3.3 配置修改

修改文件,图片中的地方。
\apache-skywalking-apm-10.2.0\apache-skywalking-apm-bin\config\application.yml

这里数据库名字自拟,但是要和 yml 文件中对照。

5.3.4 启动&访问

\apache-skywalking-apm-10.2.0\apache-skywalking-apm-bin\bin

访问http://127.0.0.1:8902/ 如果有如下界面说明配置成功。(首次加载速度较慢)

相关推荐
小园子的小菜1 分钟前
Spring事务失效9大场景(Java面试高频)
java·spring·面试
这儿有个昵称16 分钟前
Java面试场景:从音视频到微服务的技术深挖
java·spring boot·spring cloud·微服务·面试·kafka·音视频
Remember_99330 分钟前
【数据结构】Java数据结构深度解析:栈(Stack)与队列(Queue)完全指南
java·开发语言·数据结构·算法·spring·leetcode·maven
Remember_9931 小时前
深入理解 Java String 类:从基础原理到高级应用
java·开发语言·spring·spring cloud·eclipse·tomcat
马达加斯加D1 小时前
缓存 --- Redis缓存的一致性
分布式·spring·缓存
无名-CODING1 小时前
Spring Bean生命周期详解:从入门到精通
java·后端·spring
卓怡学长2 小时前
m111基于MVC的舞蹈网站的设计与实现
java·前端·数据库·spring boot·spring·mvc
笔墨新城12 小时前
Agent Spring Ai 开发之 (一) 基础配置
人工智能·spring·agent
梁下轻语的秋缘13 小时前
ESP32-WROOM-32E存储全解析:RAM/Flash/SD卡读写与速度对比
java·后端·spring
鸽鸽程序猿15 小时前
【JavaEE】【SpringCloud】注册中心_nacos
java·spring cloud·java-ee