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,参考解决
相关推荐
杂货铺的小掌柜3 小时前
spring mvc源码学习笔记之六
学习·spring·mvc
心之语歌5 小时前
Spring boot 项目 Spring 注入 代理 并支持 代理对象使用 @Autowired 去调用其他服务
spring boot·后端·spring
不修×蝙蝠7 小时前
SpringMVC(三)请求
spring·springmvc·请求·springmvc请求
_LiuYan_7 小时前
SpringMVC启动与请求处理流程解析
spring·mvc
杂货铺的小掌柜9 小时前
spring mvc源码学习笔记之五
学习·spring·mvc
小陈far10 小时前
Springcloud项目-前后端联调(一)
后端·spring·spring cloud
m0_7493175210 小时前
springboot优先级和ThreadLocal
java·开发语言·spring boot·后端·学习·spring
Dolphin_Home11 小时前
Docker搭建Skywalking
docker·容器·skywalking
一个儒雅随和的男子11 小时前
Spring为什么要用三级缓存解决循环依赖?
java·spring·缓存
长安不及十里11 小时前
Spring Security 搭建一套基于 JWT 的 OAuth 2.0 架构
数据库·spring·架构