0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Skywalking UI 管理后台介绍

jf_ro2CN3Fa 来源:芋道源码 作者:芋道源码 2022-10-24 10:27 次阅读

一、APM介绍

二、分布式链路追踪

三、Apache Skywalking(Incubator)简介

四、SkyWalking 原理架构图

五、SkyWalking 核心模块

六、SkyWalking服务端安装

七、Skywalking Agent安装

八、Skywalking UI 管理后台介绍

一、APM介绍

APMApplication Performance Management应用性能管理 ,通过各种探针采集并上报数据,收集关键指标,同时搭配数据展示以实现对应用程序性能管理和故障管理的系统化解决方案。

目前主要的一些 APM 工具有: Cat、Zipkin、Pinpoint、SkyWalking,这里主要介绍 SkyWalking ,它是一款优秀的国产 APM 工具,包括了分布式追踪、性能指标分析、应用和服务依赖分析等。

Zabbix、Premetheus、open-falcon等监控系统主要关注服务器硬件指标与系统服务运行状态 等,而APM系统则更重视程序内部执行过程指标和服务之间链路调用情况的监控APM更有利于深入代码找到请求响应“慢”的根本问题,与Zabbix之类的监控是互补关系。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

项目地址:https://gitee.com/zhijiantianya/ruoyi-vue-pro

视频教程:https://doc.iocoder.cn/video/

二、分布式链路追踪

下图是常见的微服务的框架,4 个实例,2 个 MySQL、1 个 Redis。实际上它有两次完全不同的请求进来:有一次的一个请求会访问 Redis,再去访问 MySQL;另外一个可能走到另外的服务上,然后直接去 MySQL。整个分布式追踪的目的是什么?是为了让我们最终在页面上、UI上、和数据上能够复现这个过程。我们要拿到整个完整的链路,包括精确的响应时间,访问的方法、访问的 circle,访问的 Redis 的 key等,这些是我们在做分布式追踪的时候需要展现的一个完整的信息

faa89734-52c2-11ed-a3b6-dac502259ad0.jpg

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

项目地址:https://gitee.com/zhijiantianya/yudao-cloud

视频教程:https://doc.iocoder.cn/video/

三、Apache Skywalking(Incubator)简介

分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。

Apache Skywalking(Incubator)专门为微服务架构和云原生架构系统而设计并且支持分布式链路追踪的APM系统。Apache Skywalking(Incubator)通过加载 探针-非侵入式 的方式收集应用调用链路信息,并对采集的调用链路信息进行分析,生成应用间关系和服务间关系以及服务指标。Apache Skywalking (Incubating)目前支持多种语言,其中包括Java,.Net Core,Node.js和Go语言。另外社区还发展出了一个叫OpenTracing的组织,旨在推进调用链监控的一些规范和标准工作。

Skywalking支持从6个可视化维度剖析分布式系统的运行情况。

总览视图(Global view)是应用和组件的全局视图,其中包括组件和应用数量,应用的告警波动,慢服务列表以及应用吞吐量;

拓扑图(topology view)从应用依赖关系出发,展现整个应用的拓扑关系;

应用视图从单个应用的角度,展现应用的上下游关系,TopN的服务和服务器,JVM的相关信息以及对应的主机信息。

服务视图关注单个服务入口的运行情况以及此服务的上下游依赖关系,依赖度,帮助用户针对单个服务的优化和监控;

追踪(trace)展现了调用的单次请求经过的所有埋点以及每个埋点的执行时长;

告警视图(alarm)根据配置阈值针对应用、服务器、服务进行实时告警。

四、SkyWalking 原理架构图

fad59d4c-52c2-11ed-a3b6-dac502259ad0.jpg

五、SkyWalking 核心模块

SkyWalking采用组件式开发,易于扩展,主要组件作用如下:

1. Skywalking Agent :链路数据采集tracing(调用链数据)和metric(指标)信息并上报,上报通过HTTP或者gRPC方式发送数据到Skywalking Collector。

2. Skywalking Collector :链路数据收集器,对agent传过来的tracing和metric数据进行整合分析通过Analysis Core模块处理并落入相关的数据存储中,同时会通过Query Core模块进行二次统计和监控告警。

3. Storage :Skywalking的存储,支持以ElasticSearch、Mysql、TiDB、H2等主流存储作为存储介质进行数据存储,H2仅作为临时演示单机用。

4. SkyWalking UI :Web可视化平台,用来展示落地的数据,目前官方采纳了RocketBot作为SkyWalking的主UI。

本文通过Docker容器安装Skywalking,并示例整合apisix网关、Spring Boot微服务项目进行APM(Application Performance Management)应用性能管理,检测接口网关到微服务实例、再到数据库、缓存等存储层之间的链路追踪。

六、SkyWalking服务端安装

安装环境:

操作系统:CentOS7,配置为4核8G

Docker版本:Docker version 19.03.12, build 48a66213fe

安装工具:docker-compose,版本:docker-compose version 1.26.2, build eefe0d31

skywalking版本:8.1.0

elasticsearch版本:7.5.0

1、创建目录

mkdir-p/data/ent/skywalking
cd/data/ent/skywalking

2、编写docker-compose.yml

vimdocker-compose.yml
#添加以下内容
version:'3.8'
services:
elasticsearch:
image:docker.elastic.co/elasticsearch/elasticsearch:7.5.0
container_name:elasticsearch
restart:always
ports:
-9200:9200
healthcheck:
test:["CMD-SHELL","curl--silent--faillocalhost:9200/_cluster/health||exit1"]
interval:30s
timeout:10s
retries:3
start_period:40s
environment:
-discovery.type=single-node
-bootstrap.memory_lock=true
-"ES_JAVA_OPTS=-Xms512m-Xmx512m"
-TZ=Asia/Shanghai
ulimits:
memlock:
soft:-1
hard:-1
skywalking-oap:
image:apache/skywalking-oap-server:8.1.0-es7
container_name:skywalking-oap
depends_on:
-elasticsearch
links:
-elasticsearch
restart:always
ports:
-11800:11800
-12800:12800
healthcheck:
test:["CMD-SHELL","/skywalking/bin/swctl"]
interval:30s
timeout:10s
retries:3
start_period:40s
environment:
TZ:Asia/Shanghai
SW_STORAGE:elasticsearch7
SW_STORAGE_ES_CLUSTER_NODES:elasticsearch:9200
skywalking-ui:
image:apache/skywalking-ui:8.1.0
container_name:skywalking-ui
depends_on:
-skywalking-oap
links:
-skywalking-oap
restart:always
ports:
-28080:8080
environment:
TZ:Asia/Shanghai
SW_OAP_ADDRESS:skywalking-oap:12800

3、启动服务

#启动(docker和docker-compose的安装不再详介绍)
docker-composeup-d

4、开放端口

firewall-cmd--zone=public--add-port=11800/tcp--permanent
firewall-cmd--zone=public--add-port=12800/tcp--permanent
firewall-cmd--zone=public--add-port=28080/tcp--permanent
firewall-cmd--reload

5、访问skywalking ui后台,访问地址为:http://服务器ip:28080

fb1525f2-52c2-11ed-a3b6-dac502259ad0.png

七、Skywalking Agent安装

以java agent为例,下载skywalking项目,地址:https://www.apache.org/dyn/closer.cgi/skywalking/8.1.0/apache-skywalking-apm-es7-8.1.0.tar.gz

解压下载后的文件,将agent文件夹复制至java项目下,执行java项目时,使用javaagent开启skywalking agent

java-javaagent:agent/skywalking-agent.jar=agent.service_name=sab-service,collector.backend_service=192.168.35.226:11800-jarsab-manager.war--spring.profiles.active=local_dev

其中,agent.service_name为要注册到skywalking的服务名称,collector.backend_service为skywalking grpc注册地址。

启动无报错,在skywalking ui后台可查看服务是否已注册成功到skywalking。

fbc14a80-52c2-11ed-a3b6-dac502259ad0.png

八、Skywalking UI 管理后台介绍

1、首页

fbd5abe2-52c2-11ed-a3b6-dac502259ad0.png

仪表盘:查看被监控服务的运行状态

拓扑图:以拓扑图的方式展现服务直接的关系,并以此为入口查看相关信息

追踪:以接口列表的方式展现,追踪接口内部调用过程

性能剖析:单独端点进行采样分析,并可查看堆栈信息

告警:触发告警的告警列表,包括实例,请求超时等。

自动刷新:自动刷新当前数据内容

2、仪表盘

fbf6da1a-52c2-11ed-a3b6-dac502259ad0.png

**查看全局服务基本性能指标**

第一栏:不同内容主题的监控面板,应用/数据库/容器等

第二栏:操作,包括编辑/导出当前数据/导入展示数据/不同服务端点筛选展示

第三栏:不同纬度展示,服务/实例/端点

2.1、参数说明

2.1.1 Global全局维度

fc2fb2ea-52c2-11ed-a3b6-dac502259ad0.png

第一栏:Global、Server、Instance、Endpoint不同展示面板,可以调整内部内容

Services load:服务每分钟请求数

Slow Services:慢响应服务,单位ms

Un-Health services(Apdex):Apdex性能指标,1为满分。

Global Response Latency:百分比响应延时,不同百分比的延时时间,单位ms

Global Heatmap:服务响应时间热力分布图,根据时间段内不同响应时间的数量显示颜色深度

底部栏:展示数据的时间区间,点击可以调整。

2.1.2 Service实例维度

fc8609ec-52c2-11ed-a3b6-dac502259ad0.png

Service Apdex(数字):当前服务的评分

Service Apdex(折线图):不同时间的Apdex评分

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

Successful Rate(折线图):不同时间的请求成功率

Servce Load(数字):每分钟请求数

Servce Load(折线图):不同时间的每分钟请求数

Service Avg Response Times:平均响应延时,单位ms

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

Servce Instances Load:每个服务实例的每分钟请求数

Show Service Instance:每个服务实例的最大延时

Service Instance Successful Rate:每个服务实例的请求成功率

2.1.3 Instance实例维度

fcda73ec-52c2-11ed-a3b6-dac502259ad0.png

Service Instance Load:当前实例的每分钟请求数

Service Instance Successful Rate:当前实例的请求成功率

Service Instance Latency:当前实例的响应延时

JVM CPU:jvm占用CPU的百分比

JVM Memory(Java Service):JVM内存占用大小,单位MB

JVM GC Time:JVM垃圾回收时间,包含YGC和OGC

JVM GC Count:JVM垃圾回收次数,包含YGC和OGC

JVM Thread Count(Java Service):JVM生成的线程数

CLR XX:类似JVM虚拟机参数

2.1.4 Endpoint端点维度

fd17a5dc-52c2-11ed-a3b6-dac502259ad0.png

Endpoint Load in Current Service:每个端点的每分钟请求数

Slow Endpoints in Current Service:每个端点的最慢请求时间,单位ms

Successful Rate in Current Service:每个端点的请求成功率

Endpoint Load:当前端点每个时间段的请求数据

Endpoint Avg Response Time:当前端点每个时间段的请求行响应时间

Endpoint Response Time Percentile:当前端点每个时间段的响应时间占比

Endpoint Successful Rate:当前端点每个时间段的请求成功率

3、拓扑图

SkyWalking能够根据获取的数据自动绘制服务之间的调用关系图,并能识别常见的服务显示在图标上。每条连线的颜色 反应了服务之间的调用延迟 情况,可以非常直观的看到服务与服务之间的调用状态,连线中间的点能点击,可显示两个服务之间链路的平均响应时间、吞吐率以及SLA等信息。

fd436dd4-52c2-11ed-a3b6-dac502259ad0.png

1:选择不同的服务关联拓扑

2:查看单个服务相关内容

3:服务间连接情况

4:分组展示服务拓扑

4、追踪

显示请求的响应内部执行情况,一个完整的请求都经过了哪些服务、执行了哪些代码方法、每个方法的执行时间、执行状态等详细信息,快速定位代码问题。

fd7d2f4c-52c2-11ed-a3b6-dac502259ad0.png

可通过选择服务、实例、状态和端点名称来搜索调用链路,

可以点击标记红色的端点,查看异常信息

fdf60c28-52c2-11ed-a3b6-dac502259ad0.png

5、性能剖析

fe7613a0-52c2-11ed-a3b6-dac502259ad0.png

新建需要分析的端点,在左侧列表显示任务及对应的采样请求,右侧显示端点链路及每个端点的堆栈信息。

6、告警

feb07dce-52c2-11ed-a3b6-dac502259ad0.png

不同维度告警列表,可分为服务、端点和实例。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7197

    浏览量

    89843
  • 服务器
    +关注

    关注

    12

    文章

    9352

    浏览量

    86222
  • APM
    APM
    +关注

    关注

    1

    文章

    72

    浏览量

    13059

原文标题:分布式追踪与监控:Skywalking介绍

文章出处:【微信号:芋道源码,微信公众号:芋道源码】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    相关推荐

    全链路监控工具Skywalking使用指南

    国产全链路监控工具Skywalking
    发表于 09-03 14:26

    springboot-vue后台管理项目如何快速打包

    springboot-vue后台管理项目快速打包
    发表于 05-18 15:12

    【HarmonyOS HiSpark AI Camera试用连载 】鸿蒙JS UI介绍

    JS UI框架是一种跨设备的高性能UI开发框架,支持声明式编程和跨设备多态UI。HTML5CSSJavaScript JS UI框架适用于手机(Phone)、平板(Tablet)、智慧
    发表于 01-11 20:10

    后台监控系统的功能作用介绍

    办公软件直接生成相应的报表。也给用户提供标准的开发接口,容易嵌入到用户现有的MIS系统中,组成复杂应用。系统提供接口,可以与设备管理系统接口,为设备管理系统提供原始的设备运行数据。  对于后台监控系统
    发表于 01-18 17:17

    怎么实现射频IC卡就餐机和后台管理微机的通信的设计?

    怎么实现射频IC卡就餐机和后台管理微机的通信的设计?
    发表于 05-27 06:27

    HarmonyOS后台任务管理开发指南上线!

    /background-task-overview-0000001614944868-V3 二、选择后台任务 开发者可以根据如下的功能介绍,选择合适的后台任务,以满足应用退至后台后继续
    发表于 11-29 09:58

    VR设计3种UI类型介绍及房间规模VR交互式体验设计UI技巧

    体验设计用户界面(UI)的一些小技巧。 VR中有哪些类型的UI元素? 我们大多数的VR理念起源于电影和游戏。在创建360环境时具有一些特殊性,但是我发现从你知道的东西开始,然后适应新的媒介总是有用的。 VR设计中的3种UI类型:
    发表于 09-15 10:01 10次下载

    双轨奖金制度直销软件 双轨直销后台管理系统

     双轨奖金制度直销软件   双轨直销后台管理系统 双轨奖金制度直销软件   双轨直销后台管理系统也称双轨直销软件系统,双轨直销结算系统,双轨直销管理
    发表于 07-09 15:56 579次阅读

    UI设计是什么?推荐的UI设计软件有哪些?

    介绍这么文章在,我们先来来接一下UI。其实呢,UI就是User Interface(用户界面)的简称。我们常说的UI设计,其实是指对软件的人机交互、操作逻辑、界面美观的整体设计。一个
    的头像 发表于 06-24 14:19 2030次阅读
    <b class='flag-5'>UI</b>设计是什么?推荐的<b class='flag-5'>UI</b>设计软件有哪些?

    Apache SkyWalking Client JS Skywalking客户端JS异常与追踪库

    skywalking-client-js.zip
    发表于 04-25 10:59 0次下载
    Apache <b class='flag-5'>SkyWalking</b> Client JS <b class='flag-5'>Skywalking</b>客户端JS异常与追踪库

    后台管理不可忽视,华为云会议最新支持管理员分权分域

    如今,跨地域,跨组织,需要随时随地接入的远程沟通协作变得愈加频繁,众多企业开始纷纷建设符合自身需求的智能会议室。在会议系统的众多能力中,后台管理,这项常常被C端用户忽略的能力,B端的企业却会非常重视
    的头像 发表于 11-26 19:14 640次阅读
    <b class='flag-5'>后台</b><b class='flag-5'>管理</b>不可忽视,华为云会议最新支持<b class='flag-5'>管理</b>员分权分域

    链路追踪系统SkyWalking的原理

    什么是链路追踪? 链路追踪的原理 链路追踪系统SkyWalking的原理 SkyWalking 的基础架构 SkyWalking 的性能如何 在分布式系统,尤其是微服务系统中,一次外部请求往往需要
    的头像 发表于 01-17 11:00 4262次阅读

    搭建基于Vue3+Vite2+Arco+Typescript+Pinia后台管理系统模板

    今天我们就来快速搭建一个基于Vue3+Vite2+Arco+Typescript+Pinia后台管理系统模板。这样可以帮大家快速制作自己的后台模板
    的头像 发表于 03-01 10:09 858次阅读
    搭建基于Vue3+Vite2+Arco+Typescript+Pinia<b class='flag-5'>后台</b><b class='flag-5'>管理</b>系统模板

    HarmonyOS后台任务管理开发指南上线!

    为什么要使用后台任务?开发过程中如何选择合适的后台任务?后台任务申请时存在哪些约束与限制? 针对开发者使用后台任务中的疑问,我们 上线了概念更明确、逻辑结构更清晰的
    的头像 发表于 11-28 21:10 848次阅读
    HarmonyOS<b class='flag-5'>后台</b>任务<b class='flag-5'>管理</b>开发指南上线!

    配置Skywalking告警

    目录 OpenTracing规范 为什么需要OpenTracing 什么是一个Trace 一个典型的Trace案例 Skywalking 功能介绍 整体架构 Tracing、Logging
    的头像 发表于 01-16 10:58 188次阅读
    配置<b class='flag-5'>Skywalking</b>告警