Springcloud----SkyWalking链路追踪
在本合集中,我们已经讲过了一种链路追踪的插件,就是Sleuth+Zipkin.这里介绍另一款链路追踪插件----SkyWalking.Skywalking相较于Zipkin来说,对代码的侵入性为0,它不需要修改源代码就可以实现链路追踪的功能,相比于Zipkin来说,它还拥有更美观的ui界面,并且还包含性能剖析功能,可以精准对位到问题所在,甚至是那一行的源代码导致性能降低.SkyWalking在国内虽然不是特别火,但是属于是潜力股,它比Sleuth+Zipkin的模式更加好用,相信未来在中国市场中定会有他的一席之地.
一.SkyWalking,Zipkin和Cat对比
Zipkin是Twitter开源的调用链路分析工具,目前基于Spingcloud sleuth得到了广泛的应用,特点是轻量,部署简单。
Pinpoint一个韩国团队开源的产品,运用了字节码增强技术,只需要在启动时添加启动参数即可,对代码无侵入,目前支持Java和PHP语言,底层采用HBase来存储数据,探针收集的数据粒度非常细,但性能损耗大,因其出现的时间较长,完成度也很高,应用的公司较多
Skywalking是本土开源的基于字节码注入的调用链路分析以及应用监控分析工具,特点是支持多种插件,UI功能较强,接入端无代码侵入。
CAT是由国内美团点评开源的,基于Java语言开发,目前提供Java、C/C++、Node.js、Python、Go等语言的客户端,监控数据会全量统计,国内很多公司在用,例如美团点评、携程、拼多多等,CAT跟下边要介绍的Zipkin都需要在应用程序中埋点,对代码侵入性强。
二.Skywalking的结构
SkyWalking 逻辑上分为四部分: 探针, 平台后端, 存储和用户界面。
Skywalking agent和业务端绑定在一起,负责收集各种监控数据
Skywalking oapservice是负责处理监控数据,接受agent的数据并存储在数据库中,接受来自UI的请求,查询监控数据。
Skywalking UI提供给用户,展现各种监控数据和告警。
Skywalking目录结构:
三.Skywalking的使用
1.解压Skywalking的压缩包
Skywalking8.5.0win版-Java文档类资源-CSDN下载SkyWalking链路追踪插件8.5.0版本更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/lrs998563/86438267
2.启动/bin/start.bat
默认Skywalking的端口号为8080.这里我已经修改过它的端口号了,修改方法再下一个章节统一讲述.
在浏览器中访问ui界面:
3.IDEA集成使用agent
开发环境IDEA中使用探针配置即可集成使用agent,我们把 apache-skywalking-apm-bin
放到本地G://
目录下,此时我们使用探针配置为3个项目分别配置agent:
# 客户端需要的jar所在位置
-javaagent:G:/apache-skywalking-apm-bin/agent/skywalking-agent.jar
# 客户端服务名称
-Dskywalking.agent.service_name=lrs-order
# skywalking地址
-Dskywalking.collector.backend_service=localhost:11800
我们需要给每个微服务都配置上这些信息.我们已Gateway服务为例:
注意,Skywalking默认是不会收集gateway的信息的,我们需要信息一些配置:
把这个jar包复制到plugins中
四.修改配置
1.修改端口号
webapp目录下的webapp.yml文件
2.数据持久化
在数据库中新建一个数据库,库名为swtest.然后重启bin目录下的start.bat文件重启Skywalking程序.
这样数据持久化到数据库中就成功了.
五.SkyWalking中的参数
1 Rocketbot-仪表盘作用:查看被监控服务的运行状态。监控面板:
1.1 APMAPM: 应用性能管理,通过各种探针采集数据,收集关键指标,同时搭配数据呈现以实现对应用程序性能管理和故障管理的系统化解决方案。
1.1.1 Global全局维度
板块描述:
services load :服务每分钟请求数s1ow services:慢响应服务,单位ms Un-Health services (Apdex) :Apdex性能指标,1为满分。 show Endpoints:慢响应端点,单面ms G1obal Response Latency:百分比响应延时,不同百分比的延时时间,单位ms G1obal Heatmap:服务响应时间热力分布图,根据时间段内不同响应时间的数量显示颜色深度 底部栏:展示数据的时间区间,点击可以调整
1.1.2 Service服务维度
属性描述:
service Apdex(数字):当前服务的评分 service Apdex(折线图):不同时间的Apdex评分 service Avg Response Times:平均响应延时,单位ms G1obal Response Time Percentile:百分比响应延时 successfu1 Rate(数字):请求成功率 successfu1 Rate(折线图):不同时间的请求成功率 servce Load(数字):每分钟请求数 servce Load(折线图):不同时间的每分钟请求数 servce Instances Load:每个服务实例的每分钟请求数 show service Instance:每个服务实例的最大延时 service Instance successfu1 Rate:每个服务实例的请求成功率
1.1.3 Instance实例维度
属性描述:
service Instance Load:当前实例的每分钟请求数 service Instance successfu1 Rate:当前实例的请求成功率 service Instance Latency:当前实例的响应延时 vM CPu: jvm占用CPU的百分比 JVM Memory : VM内存占用大小,单位m JVM GC Time : VM垃圾回收时间,包含YGC和oGC JVM Gc count: JVM垃圾回收次数,包含YGC和oGC JVM Thread count (ava service) : VM创建线程数量 CLR xx:类似VM虚拟机(可以直接理解成虚拟机)
1.1.4 Endpoint端点(API)维度
属性描述:
Endpoint Load in current service:每个端点的每分钟请求数 s1ow Endpoints in current service:每个端点的最慢请求时间,单位ms successful Rate in current service:每个端点的请求成功率 Endpoint Load:当前端点每个时间段的请求数据 Endpoint Avg Response Time:当前端点每个时间段的请求行响应时间 Endpoint Response Time Percentile:当前端点每个时间段的响应时间占比 Endpoint successfu1 Rate:当前端点每个时间段的请求成功率
1.2 DataSource展示栏
属性描述:
当前数据库:选择查看数据库指标 Database Avg Response Time:当前数据库事件平均响应时间,单位ms Database Access successfu7 Rate:当前数据库访问成功率 Database Traffic:CPM,当前数据库每分钟请求数 Database Access Latency Percentile:数据库不同比例的响应时间,单位ms s1ow statements :前N个慢查询,单位ms A17 Database Loads:所有数据库中CPM排名 Un-Health Databases:所有数据库健康排名,请求成功率排名
2 拓扑图
3 追踪
属性描述:
左侧:api接口列表,红色-异常请求,蓝色-正常请求 右侧:api追踪列表,api请求连接各端点的先后顺序和时间
操作详情:可以看到底层执行语句
4 性能剖析
创建性能剖析采集清单:
新建性能剖析属性描述:
服务:需要分析的服务 端点:链路监控中端点的名称,可以再链路追踪中查看端点名称监控时间:采集数据的开始时间 监控持续时间:监控采集多长时间起始监控时间:多少秒后进行采集监控间隔:多少秒采集一次 最大采集数:最大采集多少样本
5 告警
不同维度告警列表,可分为服务、端点和实例。日志收集只在8.4以上版本支持。
Springcloud----SkyWalking链路追踪相关推荐
- Skywalking链路追踪--告警篇
1.概述 Skywalking发送告警的基本原理是每隔一段时间轮询skywalking-oap收集到的链路追踪的数据,再根据所配置的告警规则(如服务响应时间.服务响应时间百分比)等,如果达到阈值则发送 ...
- SkyWalking链路追踪-Agent (代理人)
基础概念: SkyWalking链路追踪代理(SkyWalking Tracing Agent)是一种用于收集和传输链路追踪数据的工具.它与应用程序一起部署,并通过自动或手动方式来收集关于应用程序中的 ...
- docker环境下docker-compose一键式搭建skywalking链路追踪服务
前言 本节内容我们使用docker-compose一键式搭建一套skywalking链路追踪服务,实现docker环境下的微服务链路追踪监控,在开始本节内容之前,我们需要提前安装好docker和doc ...
- SpringCloud微服务-----skywalking链路追踪
微服务架构已经是一个很通用的系统架构,常见的技术栈如下图所示,这张架构图基本涵括了当前微服务体系下的各种技术栈,可能不同的技术栈有不同的开源实现. 链路追踪介绍 对于一个大型的几十个,几百个微服务构成 ...
- SpringCloud 分布式链路追踪、分布式日志系统
目录 概述 Zipkin的使用 搭建zipkin server zipkin dependencies 在服务中添加zipkin的相关配置 SkyWalking的使用 部署skywalking web ...
- Admin监控Sleuth链路追踪 skywalking链路追踪
Admin监控&Sleuth链路追踪,skywalking **Sleuth&Zipkin** 一.Sleuth&Zipkin介绍 二.搭建环境 三.Sleuth入门操作 四. ...
- skywalking链路追踪在微服务架构中的使用
场景 链路追踪 随着微服务分布式系统变得日趋复杂,越来越多的组件开始走向分布式化,如分布式服务.分布式数据库.分布式缓存等,使得后台服务构成了一种复杂的分布式网络.在服务能力提升的同时,复杂的网络结构 ...
- SpringCloud多线程链路追踪
Spring Cloud项目,如果采用sleuth实现链路追踪,使用线程池时建议采用Configuration配置方式实例化线程池Bean, 这样可以用到sleuth链路追踪,输出日志有traceId ...
- 7.SpringCloud:Skywalking链路追踪和OpenTracing对接
目录 一.概述 二.Skywalking介绍 三.内部传输协议 四.Skywalking服务端 五.Skywalking客户端 六.调整agent自带插件 七.定制化采集 方式A(customize- ...
- skywalking链路追踪整合spring-cloud
skywalking安装资料 一.安装skywalking 将apache-skywalking-apm-bin.zip上传到/opt目录下 2. 解压apache-skywalking-a ...
最新文章
- OGG学习笔记04-OGG复制部署快速参考
- java8 注解增强_Java8新增的重复注解功能示例
- python 图片背景前景分离_【绝了】用 Python 把朋友头像变表情包!
- 电商用户行为分析与挖掘(MYSQL数据分析+SPSS构建RFM模型)
- github的应用详解
- fun(int **p)的使用
- XSD(XML Schema Definition)学习笔记
- midas显示代理服务器错误,midas运行后出错大神帮忙看看哪错了
- Ubuntu触摸屏校准命令
- 这些问题你是否也有中招?TMT行业质量报告新鲜出炉
- Ubuntu获取最高权限(su)的方式
- 《微微一笑很倾城》中肖奈大神说的平方根倒数速算法是什么鬼?三十分钟理解!
- linux系统下配置无线网卡的方法,linux系统下配置无线网卡的具体步骤
- STM32个人笔记--GPIO框图
- 4.1.1 OS之初识文件管理概念和功能
- java远程连接fpt_java远程连接本地fpt
- 渗透测试-内网横向移动专题
- Apache Kafka是数据库吗?
- PHP根据汉字转换拼音
- Matlab中的匿名函数如何使用?