skywalking-ui使用指南

1. 概述

整个skyWalking 分为三个区域(如下图):

  1. 功能选项卡选择区:这里列出了主要特性,下面会介绍细节
  2. 重载区:控制重新加载机制,包括定期重新加载或手动重新加载
  3. 时间选择器:控制时区和时间范围、语言切换

在这里插入图片描述

2. 详细介绍

2.1 功能选型卡选择区

2.1.1 仪表盘

仪表盘是我们进入skywalking的首页。他提供多个指示板来可视化指标,例如:服务(APM)
、数据库(Database)、istio等等。接下来,会着重介绍APM和Database面板。

如图
在这里插入图片描述

2.1.1.1 APM

APM面板总体分为四块:global(全局)、service(服务)、instance(实例)、endpoint(端点),提供筛选功能。每块都包含一些指标。

global(全局)指标:
  • Services Load(CPM - calls per minute):服务每分钟请求数
  • Slow Services(ms):慢响应服务(响应时间排序top n)
  • Un-Health Services (Apdex):Apdex分数(本文附录1有详细介绍,也可直接查看Apdex in WIKI

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

  • Slow Endpoints (ms):endpoint的平均响应耗时排序,单位ms
  • Global Response Latency(percentile in ms):响应时间百分比,不同百分比的延时时间,单位ms

percentile标签含义(p99、p95、pxx等):例如p99为3500ms, 这意味着 99% 的请求应该比3500ms更快
参考:https://stackoverflow.com/questions/12808934/what-is-p99-latency

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

在这里插入图片描述

Service 指标
  • Service Apdex 数字:Apdex分数(请参考上一章golbal的解释)
  • Service Apdex 折线图:一段时间的Apdex分数
  • Service Avg Response Time(ms):服务平均响应时间
  • Service Response Time Percentile(ms):百分比响应延时(参考上一章golbal的解释)
  • 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(ms):每个服务实例平均延时topN
  • Service Instance Successful Rate(%):服务实例的请求成功率 topN

在这里插入图片描述

Instance 指标
  • Service Instance Load(CPM - calls per minute):实例每分钟调用数
  • Service Instance Successful Rate(%):实例调用成功比率
  • Service Instance Latency(ms):实例响应延时
  • JVM CPU(java service)%:jvm占用cpu百分比
  • JVM Memory (java service)(MB):jvm内存占用大小,包含四个指标instance_jvm_memory_heap(堆内存使用)、instance_jvm_memory_heap_max(最大堆内存)、instance_jvm_memory_noheap(直接内存当前使用)、instance_jvm_memory_noheap_max(最大直接内存)
  • JVM GC Time(ms):jvm垃圾回收时间,包含young gc和old gc。
  • JVM GC Count:jvm垃圾回收次数,包含young gc count和old gc count
  • JVM Thread Count(java service)线程数
    另外还有四个.net的指标,不涉及,暂不描述

在这里插入图片描述

Endpoint指标
  • Endpoint Load in Current Service(CPM / PPM):每个端点(API)每分钟请求数
  • Slow Endpoints in Current Service(ms):每个端点(API)的平均响应时间最慢top n,单位ms
  • Successful Rate in Current Service(%):每个端点(API)的请求成功率
  • Endpoint Load:当前端点每个时间段的请求数据
  • Endpoint Avg Response Time:当前端点每个时间段的平均请求响应时间
  • Endpoint Response Time Percentile(ms):当前端点每个时间段的响应时间占比
  • Endpoint Successful Rate(%):当前端点每个时间段的请求成功率

在这里插入图片描述

2.1.1.2 Database
  • Database Avg Response Time(ms):当前数据库平均响应时间,单位ms
  • Database Access Successful Rate(%):当前数据库访问成功率
  • Database Traffic(CPM: Calls Per Minute):当前数据库每分钟请求数
  • Database Access Latency Percentile(ms):数据库不同比例的响应时间,单位ms
  • Slow Statements(ms):前N个慢查询,单位ms
  • All Database Loads(CPM: Calls Per Minute):所有数据库中请求量排序
  • Un-Health Databases:所有数据库不健康排名,请求成功率排名,失败最多的请求在最上。

在这里插入图片描述

2.1.2 拓扑图

可以描述服务与服务直接的联系,例如下图,我们可以清晰的看到有服务依赖了redis、服务依赖了飞书开放平台等。
在这里插入图片描述

2.2.3 追踪

查看每个接口的调用链,每个链路耗时、状态。如果为失败,还会展示错误信息,如果是数据库,会展示查询语句。另外可以根据追踪id(trace id)和标记(tag)筛选(这里trace id和tag 涉及到日志上报skywalking,下一篇文章介绍)。
如下图:
在这里插入图片描述

点击查看详情:
在这里插入图片描述

2.2.4 性能剖析

性能剖析通过新建任务,对不同端点进行采样,提供更详细的报告。目前看起来,比追踪多了线程栈的信息、慢方法提示

新建任务
在这里插入图片描述

查看详细分析
在这里插入图片描述

2.2.5 日志

界面只提供查看日志功能,如何配置下篇文章介绍

2.2.6 告警

界面只提供查看告警记录功能,如何配置告警之后的文章介绍

2.2 重载区

提供页面自动刷新配置和手动刷新按钮

2.3 时间选择器

选择时间、语言、时区

附:

1. Apdex介绍

介绍:

本部分摘自:skywalking官方文档

Apdex是根据设定的阈值和响应时间结合考虑的衡量标准。它是满意响应时间和不满意响应时间相对于总响应时间的比率。

Apdex是根据应用和服务的响应时间来衡量使用者满意程度的行业标准。它衡量的是用户对你的服务的满意程度,因为传统的指标(如平均响应时间)可能很快就会容易形成偏差。

基于满意度的响应时间,表示特定服务的往返响应时间小于设定的阈值的次数。不满意响应时间虽然意思相反,但又进一步分为容忍型和失望型。容忍型包括了了任何响应时间不超过四倍阈值的表现,而任何超过四倍阈值或遇到了错误的表现都被认为是失望型。这里提到的阈值是我们对任意服务所期望的理想响应表现。我们可以设置一个全局范围的阈值,如,500ms。

Apdex得分是满意型请求和容忍型请求与做出的总请求的比率。

每个_满意的请求_算作一个请求,而每个_容忍的请求_算作半个_满意_的请求。

一个Apdex得分从0到1的范围内取值。0是最差的分数,表示用户总是感到失望;而’1’是最好的分数(100%的响应时间是令人满意的)。

这个分数的百分比表示也可以用作服务的健康指标。

数学表示:

Apdex得分的实际计算是通过以下公式实现的:


		                   满意请求数 +  ( 容忍请求数 / 2 )

Apdex 得分  =  ------------------------------------------------------

                                总请求数
此公示得到的百分率,即可视为服务的健康度。

样例计算:

在两分钟的采样时间内,主机处理200个请求。

Apdex阈值T设置为0.5秒(500ms)。

*. 170个请求在500ms内被处理完成,它们被分类为满意型。 *. 20个请求在500ms和2秒间被处理,它们被分类为容忍型。 *. 剩余的10个请求没有被正确处理或者处理时间超过了2秒,所以它们被分类为失望型。

最终的Apdex得分是0.9,即(170 + (20 / 2))/ 200。

Q&A

  1. 进来没数据怎么办?
    检查首页右上角自动刷新是否开启
    在这里插入图片描述

https://skyapm.github.io/document-cn-translation-of-skywalking/zh/8.0.0/ui/

https://skywalking.apache.org/docs/main/v8.5.0/en/ui/readme/

skywalking-ui介绍视频:
https://www.youtube.com/watch?v=mfKaToAKl7k

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以通过以下步骤来使用 SkyWalking 客户端 JavaScript(skywalking-client-js): 1. 首先,确保你的项目中已经安装了 Node.js 环境。 2. 在你的项目目录中,使用以下命令安装 skywalking-client-js: ``` npm install skywalking-client-js ``` 3. 在你的 JavaScript 代码中,导入并初始化 SkyWalking 客户端: ```javascript const { Tracer, Segment, Span } = require('skywalking-client-js'); // 初始化 Tracer Tracer.initialize({ serviceName: 'your-service-name', // 设置你的服务名称 directServers: 'your-skywalking-collector-url:your-collector-port', // 设置 SkyWalking Collector 的地址和端口 }); // 创建 Segment,并开始记录 const segment = new Segment('your-segment-name'); segment.start(); // 创建 Span,并开始记录 const span = new Span('your-span-name'); span.start(); // 执行你的业务逻辑 // ... // 结束 Span 和 Segment 的记录 span.end(); segment.end(); // 发送数据到 SkyWalking Collector Tracer.stop(); ``` 在上述代码中,你需要替换以下内容: - `your-service-name`:你的服务名称,可以自定义。 - `your-skywalking-collector-url:your-collector-port`:SkyWalking Collector 的地址和端口,通常是 `localhost:11800`。 - `your-segment-name` 和 `your-span-name`:你的 Segment 和 Span 的名称,可以自定义。 4. 运行你的 JavaScript 代码,确保 SkyWalking Collector 能够接收到数据并进行监控。 这样,你就可以使用 SkyWalking 客户端 JavaScript 进行性能监控和分析了。更多详细的用法和配置可以参考 skywalking-client-js 的官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值