Skywalking使用说明

news2024/11/24 10:24:31

需求背景

随着分布式的盛行,系统的复杂度也逐步增加,不同服务间的交互对性能的定位提出了更高的要求。任意一个节点的异常,都可能对业务系统造成损失。对于链路追踪,迫切需要一个优秀的监测工具。

需求如下

功能性需求

  • 请求链路追踪,快速定位故障,缩短故障的排除时间 以及 判断故障影响范围
  • 可视化链路各阶段的耗时,进行性能分析,排除业务瓶颈
  • 梳理服务依赖关系以及优化依赖的合理性
  • 系统指标监控,吞吐量(TPS)、响应时间及错误记录等。

非功能性需求:

探针的性能消耗:服务调用埋点本身会带来性能损耗,这就需要组件对业务系统的性能影响小
代码的侵入性:对业务系统尽可能少入侵或者无入侵其他,对于使用方透明,减少开发人员的负担。

Skywalking

  • 简介

一款全链路追踪的工具

使用说明如下

仪表盘

仪表盘是Skywalking的首页,它提供多个指示板来可视化指标,例如:服务(APM)、数据库(Database)等等。

https

APM

APM面板总体分为四个维度:Global(全局)、Service(服务)、Instance(实例)、Endpoint(API),提供筛选功能,每块都包含一些指标。

https

  • Global(全局)指标:

https
1、Services Load:

服务每分钟请求数

2、Slow Services:
慢响应服务,按响应时间排序topN,单位ms

3、Un-Health Services (Apdex):

Apdex性能指标,即服务的不健康值,1为满分,Apdex是根据设定的阈值和响应时间综合考虑的衡量标准,是满意响应时间和不满意响应时间相对于总响应时间的比率,衡量的是用户对服务的满意程度,因为传统的指标(如平均响应时间)可能很快就会容易形成偏差。

4、Slow Endpoints:

慢接口平均响应耗时排序,单位ms

5、Global Response Latency:

响应时间百分比,不同百分比的延时时间,单位ms。percentile 标签含义,例如 p99 为 3500ms,意味着 99% 的请求应该比 3500ms 更快

6、Global Heatmap:

服务响应时间热力分布图,根据时间段内不同响应时间的数量显示颜色深度, 颜色越深,请求越多。

  • Service(服务)维度:**

https
Service Apdex 数字:
Apdex性能指标

Service Apdex 折线图:
一段时间的Apdex分数

Service Avg Response Time
服务平均响应时间

Service Response Time Percentile:
百分比响应延时

**Successful Rate(%)**数字:
请求成功率

**Successful Rate(%)折线图:**一段时间的请求成功率
**Service Load(CPM - calls per minute):
**每分钟调用数

Service Load(CPM - calls per minute):

一段时间的每分钟调用数

Service Instances Load(CPM - calls per minute):

每个实例每分钟请求数

Slow Service Instance:

每个服务实例平均延时topN

Service Instance Successful Rate:

服务实例的请求成功率 topN

  • Instance(实例)维度:

https

https

  • Endpoint(API)维度:

https

https

Database(数据库):

https

https

拓扑图

拓扑图可以很直观地展示服务与服务之间的依赖关系,这对于我们进行服务梳理是非常有帮助的,并且支持自定义分组,如下图所示,就将 ai-search、social-search、social-scan 三个服务自定义一个分组,并通过拓扑图很直观地展示出三者间的依赖关系:

https
除此之外,拓扑图还能查看服务运行信息进行度量,包括开发框架类型、服务平均响应时间、吞吐量、百分比响应、Apdex分值、SLA值等

https

链路追踪:

https

  • 查看数据库操作详情:

https

  • 查看Redis缓存操作详情:

https

性能剖析:

Skywalking 在性能剖析方面非常强大,提供到基于堆栈的分析结果,能够让开发人员一看看出调用过程中各个步骤所消耗的时间,以便进行有针对性的进行优化。

性能剖析通过新建任务,对不同端点进行采样,提供更详细的报告,比如比链路追踪多了线程栈的信息、慢方法提示等等内容。接下来我们就介绍下怎么进行性能剖析:

  • 新建任务:
    在 性能剖析模块 -> 新建任务 -> 选择服务、填写端点、监控时间,操作如下图:

https
温馨提示:每个服务,相同时间只能添加一个任务,且添加的任务不能更改也不能删除,只能等待过期后自动删除

  • 执行请求:
    多次访问 “/api/searchByWholeOcr” 接口,然后选择这个任务将会出现监控到的数据,如下图:

https

备注:需要连续执行多次请求,因为存在采用设置。如果执行次数少,可能不会出现采样数据,也就无法进行分析了

性能剖析:

https
上图可以看出,”/api/searchByWholeOcr“ 接口耗费了681ms,通过分析详细堆栈信息,我们可以看到耗时最多的操作就是SearchServiceImpl 类的 executeSearchRequest()方法,耗费了563ms,主要是调用 ES 做了全文搜索,如下图所示:

https

写在最后

Skywaling是一个很好的链路追踪的工具,尤其是在生产环境,对于定位接口耗时,链路过程有着重要的辅助作用。对于它的使用,至少得看得懂,才知道怎么定位问题。这里是"安前码后",一个专注分享实用干货的号,觉得用心整理并且对看官们有帮助的,请给个三连。更多实用干货持续更新中…

本文由mdnice多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/766306.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎么把word文档转换成pdf文件?这三个方法超级实用!

word文档编辑完成后,通常会将其转换为PDF格式,以使文档内容更加简洁。那么,如何将Word文档转换为PDF呢?下面将介绍三种方法,相信对你会有所帮助。 一、记灵在线工具 首先,在浏览器中打开记灵在线工具的网…

Spring+SpringMVC+JdbcTemplate小Demo

项目目录结构 创建mavenWeb项目 pom文件 spring依赖、spring-web依赖、spring-webmvc依赖、spring-test、junit依赖 servlet依赖、jsp依赖、jstl、standard依赖 jackson的core和databind和annotations依赖、fastjson依赖、 文件上传的commons-fileupload和commons-io依赖 日志c…

图片修补 EdgeConnect 论文的阅读与翻译:生成边缘轮廓先验,再填补缺失内容

本文将要介绍的论文就是:EdgeConnect: Generative Image Inpainting with Adversarial Edge Learning,因为知乎在(2019-02-02)前,缺少详细介绍这篇论文的文章,而我最近需要复现它,所以顺便在这里…

消息重试框架 Spring-Retry 和 Guava-Retry

一 重试框架之Spring-Retry 1.Spring-Retry的普通使用方式 2.Spring-Retry的注解使用方式 二 重试框架之Guava-Retry 总结 图片 一 重试框架之Spring-Retry Spring Retry 为 Spring 应用程序提供了声明性重试支持。它用于Spring批处理、Spring集成、Apache Hadoop(等等)。…

智能应急疏散系统在公共建筑中的的应用

安科瑞 华楠 摘 要:随着大型公共建筑物的不断增多,其所产生的各种建筑安全隐患问题也在逐渐加剧,一旦出现火灾险情,要想从公共建筑中安全的脱离出来,其难度也是可想而知。因此,这就需要在进行公共建筑设计时…

Java打怪升级路线的相关知识

第一关:JavaSE阶段 1、计算机基础 2、java入门学习 3、java基础语法 4、流程控制和方法 5、数组 6、面向对象编程 7、异常 8、常用类 9、集合框架 10、IO 11、多线程 12、GUI编程 13、网络编程 14、注解与反射 15、JUC编程 16、JVM探究 17、23种设计模式 18、数据结构与算法 1…

mysql数字开头字符串排序

表结构 CREATE TABLE building (id bigint NOT NULL,name varchar(255) CHARACTER SET utf8mb3 COLLATE utf8_general_ci DEFAULT NULL COMMENT 名称,full_name varchar(255) CHARACTER SET utf8mb3 COLLATE utf8_general_ci DEFAULT NULL COMMENT 全称,PRIMARY KEY (id) USIN…

Qt|读写ini文件使用QSettings 节键值 设置相对路径

#include <QtWidgets/QApplication> #include <QWidget> #include <QSettings> #include <QString>int main(int argc, char *argv[]) {QApplication a(argc, argv);// Qt中使用QSettings类读写ini文件// QSettings构造函数的第一个参数是ini文件的路径…

linux之Ubuntu系列(三)远程管理指令☞Scp

cp scp cp 复制文件 是限制在本地操作 scp&#xff1a; 远程拷贝文件 cp [options] 源文件or 目录 目标文件or 目录 如果复制目录&#xff0c;要加 -r 选项 &#xff0c;同时如果目标目录不存在&#xff0c;会会创建 scp scp就是 secure copy&#xff0c;是一个在linux下用来…

如何创建 Spring Boot 项目

目录 一、Spring Boot 项目的创建 1. 安装 Spring Boot Helper 插件 2. 创建 Spring Boot 项目 3. 项目目录详解 4. 运行 Spring Boot 项目 二、Spring Boot 的优点 前言 Spring Boot 的意思就是 Spring Boot 脚手架的意思&#xff0c;已经总结完成 Spring 的学习&#x…

给httprunnermanager接口自动化测试平台加点功能(七)

文章目录 一、背景1.1、用例列表test_list1.2、套件列表suite_list 二、实现2.1、用例edit页面2.2、套件edit页面 三、数据结构3.1、更新数据结构 四、知识扩展五、总结 一、背景 前面几章优化&#xff0c;从功能bug的优化、到列表的优化、还有字段的优化&#xff0c;暂时满足…

(学习笔记-TCP连接建立)三次握手丢失后分别会发生什么?

第一次握手丢失 当客户端想和服务端建立TCP连接后&#xff0c;首先第一个发的就是SYN报文&#xff0c;然后进入到SYN_SENT状态。 在这之后如果客户端迟迟没有收到服务端的SYN-ACK报文(第二次握手)&#xff0c;就会触发[超时重传]机制&#xff0c;重传SYN报文&#xff0c;而且…

【淘宝API接口开发系列】item_review-获得淘宝商品评论

淘宝/天猫获得淘宝商品评论 API 返回值说明 taobao.item_review 公共参数 请求地址:注册Key和secret接入 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地…

韧性数据安全体系组成:运行保障与底线防御安全 |CEO专栏

「构建适应性进化的韧性数据安全体系」专栏&#xff0c;为你解读美创科技在数据安全的最新探索实践。 上期内容&#xff08;点击此处跳转&#xff09;&#xff0c;专栏重点分享了韧性数据安全体系的重要组成——资产和资产安全。数据资产是网络中最为确定性的存在&#xff0c;以…

qgis以某个字段(属性)的类目值来分类显示不同的颜色和调整每个类别的绘制顺序(一个类别在另一个类别上面不被覆盖)和将某字段(属性)的值当成图层标签进行显示

前言 我这里的样例以北京景区的点shp数据为例,属性表如下所示: 我们将以景区的等级划分成五类,分别显示不同的颜色,并且5A景区绘制在4A景区上方不被遮挡…,并且将景区的名称显示在景区点的上方。 一、分类不同颜色显示 1、自动分配颜色 首先,我们双击图层文件,打开…

小程序源码二开多端合一

1.注册与登录&#xff1a; 用户可以注册账号并登录到小程序&#xff0c;以便进行后续操作和管理。 2.货物管理&#xff1a; 用户可以添加、编辑和删除货物信息。 货物信息包括货物名称、数量、重量、尺寸、装载方式等。 3.拉货服务&#xff1a; 用户可以选择拉货服务&…

TransmittableThreadLocal 原理分析

前言 注&#xff1a;在看此篇文章前&#xff0c;你需要了解 ThreadLocal、InheritableThreadLocal 的原理。 这里先总体的介绍TransmittableThreadLocal &#xff08;下文以 ttl 作为简称&#xff09;的原理再去分析一些核心的源码&#xff0c;旨在先有个整体的认识&#xff0…

(学习笔记-连接断开)TCP四次挥手

TCP四次挥手过程 TCP断开连接是通过四次挥手实现的&#xff0c;双方都可以主动断开连接&#xff0c;断开连接后主机中的资源将被释放&#xff0c;四次挥手的过程如下&#xff1a; 客户端打算关闭连接时&#xff0c;会发送一个TCP首部FIN标志位为1的报文&#xff0c;也就是FIN报…

预警先行,问题零失控,提升物流的重要利器

每一次大促活动&#xff0c;都是商家们的大卖良机&#xff0c;然而出单之后&#xff0c;最怕出现发货异常的问题。比如包裹长时间未揽收、物流长时间未更新...稍有不慎就会影响店铺权重&#xff0c;甚至深陷各种取消订单、退款赔偿的泥潭。 这时物流监控预警就显得格外重要了。…

浏览器书签栏的小图标设置

在我们写项目中肯定需要自定义这些浏览器的图标 , 那么如何设置呢 <link rel"icon" href"favicon.png" type"image/x-icon" /> 其中的href是选择路径 像vue中 , 基本上都是在文件夹public中的index.html设置浏览器标题跟图标 , 图片的大小…