news 2026/6/15 1:14:56

Windows 环境 SkyWalking 完整实操教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows 环境 SkyWalking 完整实操教程

一、SkyWalking 核心架构

SkyWalking有4大组件,零代码侵入监控Java微服务、链路追踪、指标监控、告警:

  1. Agent探针(Java Agent):依附你的Java进程,字节码增强,自动采集接口、SQL、MQ、RPC调用耗时、异常、TraceID,上报后端;不用改一行业务代码
  2. OAP服务端(Collector):接收探针上报数据、聚合分析、计算指标,默认端口:11800(gRPC)12800(HTTP)
  3. 存储层:默认内置H2内存库(测试临时用,重启数据丢失);生产改用Elasticsearch持久化。
  4. UI控制台:可视化查看拓扑、调用链、慢接口、SQL耗时、JVM指标、告警,默认端口8080

版本重要提醒:9.x+ 开始APM后端包、Java Agent探针包分开下载,不能共用一个压缩包。

二、Windows 部署SkyWalking后端

包括OAP+UI

1. 下载安装包

官网下载地址:官网
1)后端包:apache-skywalking-apm-x.x.x-bin.zip
2)Java探针包:apache-skywalking-java-agent-x.x.x.tgz

解压路径绝对不能有中文、空格、括号,示例解压到:D:\soft\skywalking-apmD:\soft\skywalking-agent

2. Windows一键启动后端

进入OAP包的bin目录,双击startup.bat

  • 会自动同时启动OAP收集服务 + UI网页服务,弹出两个黑窗口,不要关闭。
  • 访问控制台:浏览器打开http://localhost:8080,默认账号密码admin/admin

3. 常用端口说明

端口作用
11800Agent gRPC上报数据(探针必须连这个端口)
12800Agent HTTP上报
8080UI控制台访问端口

4. 存储切换

测试H2够用,生产必须ES

打开config/application.yml,修改storage:

storage:selector:${SW_STORAGE:h2}# selector: ${SW_STORAGE:elasticsearch} # 生产打开ES注释

H2内存库重启OAP数据清空,仅本地学习使用。

三、SpringBoot/Java项目接入Agent探针

前置说明

接入只需要加JVM启动参数,pom无需引入任何依赖、业务代码零修改,自动拦截SpringMVC、MyBatis、Dubbo、Kafka、Redis等主流组件。

方式1:IDEA开发环境配置

  1. IDEA打开启动配置:Run/Debug Configurations→ 选中你的SpringBoot启动类
  2. 找到VM options,粘贴下面参数(修改探针绝对路径、服务名)
-javaagent:D:/soft/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=order-service -Dskywalking.collector.backend_service=127.0.0.1:11800

参数解释:

  • -javaagent:指定探针jar绝对路径(Windows用正斜杠/,避免转义报错)
  • service_name:自定义服务英文名,控制台用来区分微服务
  • backend_service:OAP后端地址+gRPC端口
  1. 应用保存配置,重启SpringBoot项目,控制台日志输出SkyWalking加载日志即接入成功。

方式2:Jar包命令行启动(Windows cmd)

打包好xxx.jar后,cmd执行完整启动命令:

java -javaagent:D:/soft/skywalking-agent/skywalking-agent.jar ^ -Dskywalking.agent.service_name=goods-service ^ -Dskywalking.collector.backend_service=127.0.0.1:11800 ^ -jar goods-0.0.1-SNAPSHOT.jar

四、Agent常用配置优化(agent/config/agent.config)

# 1、服务名(也可JVM参数覆盖) agent.service_name=user-service # 2、OAP后端地址 collector.backend_service=127.0.0.1:11800 # 3、采样率:1=100%全采集(测试),生产0.3=30%采样减少存储压力 agent.sample_n_per_3_secs=1 # 4、忽略静态资源、健康检查接口,不生成链路 trace.ignore_path=/static/**,/actuator/**,/health

五、UI控制台五大核心功能实操

用于日常排查

1. 服务拓扑图

也叫微服务调用全景

左侧菜单Service → Service Topology

  • 自动画出所有微服务、网关、数据库、MQ之间调用关系;
  • 圆圈大小代表QPS,红色标异常报错服务,一眼定位哪个服务雪崩。

2. 调用链路追踪

排查慢接口/报错

菜单Traces

  1. 筛选服务、时间范围,可按响应耗时、异常状态码过滤;
  2. 点开一条Trace详情:完整展示一次请求全链路:
    Gateway → Controller → Mapper SQL → Redis → MQ
    每一段执行耗时、调用参数、异常堆栈全部展示;
  3. 经典排查场景:接口整体慢,点开发现某条SQL执行2s,直接定位慢SQL。

3. 服务指标监控

QPS、响应时间、错误率

菜单Service → Service Dashboard

  • P95/P99响应耗时、TPS吞吐量、错误率、JVM堆内存、GC次数、线程池状态;
  • 自动生成曲线图,观察高峰期性能波动。

4. 数据库SQL监控

菜单Database
自动捕获MyBatis/Jdbc执行的所有SQL,统计每条SQL平均耗时、执行次数、慢SQL排行,无需开启数据库慢日志。

5. 告警配置

支持自定义规则:接口错误率>5%、P99耗时>1s、服务实例下线,触发邮件/钉钉告警。

六、多微服务接入完整演示

网关、订单、库存3个服务分别配置不同service_name

  1. gateway-gateway
  2. order-service
  3. stock-service
    全部启动后调用网关接口,拓扑图自动把3个服务串联成完整调用链路,一条TraceID贯穿全链路。

七、使用避坑

  1. 启动项目提示找不到skywalking-agent.jar
    路径写反斜杠\被转义,统一改用正斜杠/;路径不要嵌套太深、不要中文。

  2. 服务启动正常,UI控制台看不到服务

  • 检查OAP的11800端口是否监听,防火墙放行;
  • VM参数里backend_service地址写错,不是127.0.0.1:11800
  • 先调用几次项目接口生成访问数据,不会主动空展示。
  1. 静态资源/健康检查接口大量无用链路
    在agent配置trace.ignore_path忽略对应路径。

  2. 重启startup.bat历史监控数据消失
    默认H2内存存储,生产务必切换Elasticsearch持久化。

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

ElasticsearchRestTemplate使用方法详解!!!

本文基于 SpringBoot 3 ES High Level Rest Client,详细介绍精确匹配、模糊检索、布尔多条件、范围、排序分页、聚合、高亮、批量操作的使用。 前置实体 1)商品文档实体 GoodsDoc import lombok.Data; import org.springframework.data.annotation.Id; …

作者头像 李华
网站建设 2026/6/15 0:57:20

如何3分钟免费解锁Cursor Pro:终极AI编程助手破解方案

如何3分钟免费解锁Cursor Pro:终极AI编程助手破解方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tri…

作者头像 李华
网站建设 2026/6/15 0:49:08

MPC8306 PowerQUICC II Pro:通信处理器架构与QUICC Engine实战解析

1. MPC8306 PowerQUICC II Pro:嵌入式通信系统的“瑞士军刀”在工业控制、网络接入设备、通信网关这些对实时性和多协议处理能力要求严苛的领域,选对一颗“心脏”至关重要。这颗心脏不仅要算得快,还得是个“多面手”,能同时流畅地…

作者头像 李华
网站建设 2026/6/15 0:27:14

如何让Figma说中文:设计师亲测的完整汉化解决方案

如何让Figma说中文:设计师亲测的完整汉化解决方案 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 你是否曾因Figma的全英文界面而感到困扰?当团队协作时&#xf…

作者头像 李华