spring cloud-skywalking入门指南

skywalking入门指南

全链路追踪的作用?

对请求源头到底层服务的调用链路中间的所有环节进行监控。

Skywalking是什么?

官方网址,https://skywalking.apache.org/

skywalking是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于架构(Docker、K8s、Messos)架构而设计。

Skywalking是观察性分析平台和应用性能管理系统,提供分布式追踪、服务网格摇测分析、度量聚合和可视化一体化解决方案。

Skywalking整个构架

整个架构分成四部分:

  • 上部分Agent :负责从应用中,收集链路信息,发送给 SkyWalking OAP 服务器;
  • 下部分 SkyWalking OAP :负责接收Agent发送的Tracing数据信息,然后进行分析(Analysis Core),存储到外部存储器(Storage),最终提供查询(Query)功能;
  • 右部分Storage:Tracing数据存储,目前支持ES、MySQL、Sharding Sphere、TiDB、H2多种存储器,目前采用较多的是ES,主要考虑是SkyWalking开发团队自己的生产环境采用ES为主;
  • 左部分SkyWalking UI:负责提供控制台,查看链路等等;

Skywalking环境搭建部署

  1. 下载skywalking

  2. 搭建skywalking OAP服务

  • 修改配置
    • 先使用默认的H2数据库存储,不用修改cofing/application.yml
    • windown下启动脚本bin/startup.bat,启动成功后会启动两个服务,一个是skywalking-oap-server,一个是skywalking-web-ui
    • 访问UI界面,如果端口改为18080,访问:http://localhost:18080/

微服务接入探针

微服务配置jvm参数,接入skywalking

以订单服务为例,idea启动配置中在jvm参数配置skywalking agent

java 复制代码
  -javaagent:D:\apache\skywalking\apache-skywalking-java-agent-9.3.0\skywalking-agent\skywalking-agent.jar
  -DSW_AGENT_NAME=tlmall-order
  -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=tlmall-skywalking-server:11800

测试,用户下单,在skywalking UI界面可以看到链路信息

常见问题

  1. 没有查看到网关服务的数据
  • 需要将agent包的optional-plugins/apm-spring-cloud-gateway-4.x-plugin-9.3.0.jar拷 贝到agent的plugins目录下,重启agent。
  • 网关服务整个日志构架后不打印traceId,参考解决
相关推荐
橙淮2 小时前
Spring Bean作用域与生命周期全解析
java·spring
小江的记录本3 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:CMS:核心原理、回收流程、优缺点、废弃原因(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·面试·maven
小江的记录本5 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:G1:Region分区、Mixed GC、回收流程、适用场景(高频)(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·spring cloud·面试
Simon523148 小时前
Spring AOP 五大通知类型
java·前端·spring
苏渡苇10 小时前
强强联合:OpenFeign 整合 Sentinel
spring boot·spring cloud·微服务·sentinel·openfeign
程序员老乔11 小时前
03-Spring-Security-JWT认证
java·后端·spring
程序员buddha11 小时前
传统 Spring 框架,XML 配置 Bean 的方式
xml·java·spring
希望永不加班11 小时前
SpringBoot 消费者并发控制:线程池配置
java·spring boot·后端·spring
武子康12 小时前
Java-09 深入浅出 MyBatis 注解开发详解:从 CRUD 到复杂关系映射
java·后端·spring
Java 码思客12 小时前
【Spring AI实战】第2章 大模型基础调用:同步/异步/流式输出
java·人工智能·spring·ai