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/ 如果有如下界面说明配置成功。(首次加载速度较慢)

相关推荐
雨落秋垣2 小时前
SpringCache 缓存:注意事项、问题解决与优化策略
java·spring·缓存
听风吟丶2 小时前
分布式追踪实战:SkyWalking 构建微服务全链路可观测性体系
分布式·微服务·skywalking
想不明白的过度思考者2 小时前
Spring IoC 与 DI 深度剖析:从“控制反转”到 Bean 的集中管理
java·spring·ioc·di
小马爱打代码2 小时前
Spring AI:RAG 增强检索介绍
java·人工智能·spring
笨手笨脚の13 小时前
Spring Core常见错误及解决方案
java·后端·spring
YDS82916 小时前
MyBatis-Plus精讲 —— 从快速入门到项目实战
java·后端·spring·mybatis·mybatis-plus
吃喝不愁霸王餐APP开发者16 小时前
霸王餐API文档自动化:Spring REST Docs与Asciidoctor多模块聚合
数据库·spring·自动化
小马爱打代码16 小时前
Spring AI:文生图:调用通义万相 AI 大模型
java·人工智能·spring
摇滚侠17 小时前
2025最新 SpringCloud 教程,网关功能、创建网关,笔记51、笔记52
java·笔记·spring cloud