Java服务器端编程监控专题-Skywalking

APM-Skywalking UI使用全攻略

2020-08-10  本文已影响0人  登高且赋

0. 概述

功能简介

Skywalking(简称SW)是分布式系统的应用程序性能监视(APM)工具,专为微服务、云原生和容器架构而设计,提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。通过探针自动收集所需的指标,并进行分布式追踪,具有无代码嵌入,支持众多中间件,agent种类全面,性能消耗低等优点。

本文基于7.0版本,为读者提供UI使用全攻略,帮助读者快速入门指标监控。

指标盘界面通识

image-20200602144210229

这里着重介绍下 SkyWalking 中最重要的三个概念:

SW所有的指标信息都是围绕三者展开的。

1. 指标仪表盘

1.1 服务指标

点击仪表盘,选择要查询的应用,如“is-file-store”, 再切换仪表盘为“Service”模式,即可查询对应服务的指标

image-20200602152707864

服务主要指标包括:

大盘中会列出以上指标的当前的平均值,和历史走势。

服务慢端点 Service Slow Endpoint

服务指标仪表盘会列举出当前服务响应时间最大的端点Top5,如果有端点的响应时间过高,则需要进一步关注其指标(点击可以复制端点名称)。

image-20200602154937031

运行中的实例 Running ServiceInstance

该服务目前所有实例的吞吐量情况,通过此可以推断出实例之间的负载情况。如果发现某个实例吞吐量较低,就需要查询实例指标(如查询该实例是不是发生了GC,或则CPU利用率过高)

image-20200602172630012

1.2 端点指标

如果发现有端点的响应时间过高,可以进一步查询该端点的指标信息。和服务指标类似,端点指标也包括吞吐量、SLA、响应时间等指标,这里不再赘述。

端点仪表盘会有如下特有信息:

  1. Dependency Map: 依赖关系图,代表哪些服务在依赖(调用)该端点,如果是前端直接调用,会显示为用户(User)依赖中;

  2. Slow Traces: 即慢调用请求记录,SW会自动列出当前时间段内端点最慢的调用记录和TraceID,通过这个ID可以在追踪功能找到具体的调用链信息,便于定位。

image-20200602160237829

1.3 服务实例指标

选择服务的实例并切换仪表盘,即可查看服务某个实例的指标数据。除了常规的吞吐量、SLA、响应时间等指标外,实例信息中还会给出JVM的信息,如堆栈使用量,GC耗时和次数等。

image-20200602160801867

1.4 DB 数据指标查询

除了服务本身的指标,SW也监控了服务依赖的DB指标。切换DB指标盘并选择对应DB实例,就可以看到从服务角度(client)来看该DB实例的吞吐量、SLA、响应时间等指标。

更进一步,该DB执行慢SQL会被自动列出,可以直接粘贴出来,便于定位耗时原因。

image-20200602174112268

2. 拓扑结构

image-20200602162056258

3. 请求追踪

当用户发现服务的SLA降低,或者某个具体的端口响应时间上扬明显,可以使用追踪功能查询具体的请求记录。

image-20200602162641769

image-20200602181837692 image-20200602163316474

*

4. 性能剖析

追踪功能展示出的跨度是服务调用粒度的,如果要看应用实时的堆栈信息,可以选择性能剖析功能。

注意: 如果端点的响应时间小于监控间隔,可能会导致采样分析失败。

image-20200602164824443

新建任务后,SW将开始采集应用的实时堆栈信息。采样结束后,用户点击分析即可查看具体的堆栈信息。

  1. 点击跨度右侧的“查看”,可以看到调用链的具体详情;

  2. 跨度目录下方是SW收集到的具体进程堆栈信息和耗时情况。

image-20200602165038016

需要提醒的时候,性能剖析功能因为要实时高频率收集服务的JVM堆栈信息,对于服务本身有一定的性能消耗,只适用于耗时端点的行为分析。

5. 指标对比

当用户需要对比不同端点指标的关联情况的话,可以使用性能对比功能。选择待对比的端点和指标,SW将会列出相同时间段的指标记录。如下图中,两个端点虽然属于不同的应用,但是在响应时间的指标,表现出一定的关联性。实际上两个端点有依赖关系,一个响应时间变多,另一个也会变多。

image-20200602163921097
上一篇 下一篇

猜你喜欢

热点阅读