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

相关推荐
还在忙碌的吴小二25 分钟前
Harness 最佳实践:Java Spring Boot 项目落地 OpenSpec + Claude Code
java·开发语言·spring boot·后端·spring
老神在在0012 小时前
Spring Boot 全局异常处理器(GlobalExceptionHandler)
spring boot·spring·java-ee·状态模式·
__土块__2 小时前
大厂后端一面模拟:从线程安全到分布式缓存的连环追问
jvm·redis·mysql·spring·java面试·concurrenthashmap·大厂后端
陌殇殇2 小时前
002 Spring AI Alibaba框架整合百炼大模型平台 — 聊天、文生图、语音、向量模型整合
人工智能·spring·ai
随风,奔跑2 小时前
Spring Security
java·后端·spring
Java成神之路-3 小时前
Spring 事务从入门到精通:一篇搞定事务失效、传播行为、回滚规则(Spring系列10)
spring
卓怡学长3 小时前
m326数据结构课程网络学习平台的设计与实现+vue
java·spring·tomcat·maven·intellij-idea·mybatis
身如柳絮随风扬4 小时前
SpringMVC 异常处理?Spring 父子容器?
java·spring·mvc
MX_93594 小时前
Spring MVC拦截器
java·后端·spring·mvc
云烟成雨TD5 小时前
Spring AI Alibaba 1.x 系列【11】Spring AI Models 扩展:DashScope
java·人工智能·spring