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

相关推荐
码云数智-园园4 小时前
C++20 Modules 模块详解
java·开发语言·spring
咖啡八杯4 小时前
GoF设计模式——享元模式
java·spring·设计模式·享元模式
Flittly5 小时前
【AgentScope Java新手村系列】(10)实战-多Agent天气助手
java·spring boot·spring
李少兄5 小时前
从原理到实战:Spring IoC/DI 核心知识体系与高频面试题全解
java·后端·spring
shushangyun_5 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
慧一居士6 小时前
Feign的GET请求如何传递对象参数?
java·spring cloud
ofoxcoding6 小时前
在AI API聚合平台配置DeepSeek V3.2提示词缓存实战:快速接入与成本优化指南
人工智能·spring·缓存·ai
一杯奶茶¥7 小时前
水果销售网站 CRM客户信息管理系统 超市管理系 酒店管理系统 健身房管理系统 在线音乐网站 校园招聘系统
java·vue.js·spring boot·mysql·spring·java项目
摇滚侠9 小时前
SpringMVC 入门到实战 RESTFul 49-55
java·开发语言·后端·spring·intellij-idea·restful
我登哥MVP9 小时前
SpringCloud Alibaba 核心组件解析:服务链路追踪
java·spring boot·后端·spring·spring cloud·java-ee·maven