1.Skywalking概述

**skywalking web页面官网地址(请点击) **

1.1 什么是APM系统

1.1.1 APM系统概述

APM (Application Performance Management) 即应用性能管理系统,是对企业系统即时监控以实现 对应用程序性能管理和故障管理的系统化的解决方案。应用性能管理,主要指对企业的关键业务应用进 行监测、优化,提高企业应用的可靠性和质量,保证用户得到良好的服务,降低IT总拥有成本。 APM系统是可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和 解决问题。

1.1.2 分布式链路追踪

随着分布式系统和微服务架构的出现,一次用户的请求会经过多个系统,不同服务之间的调用关系十分 复杂,任何一个系统出错都可能影响整个请求的处理结果。以往的监控系统往往只能知道单个系统的健 康状况、一次请求的成功失败,无法快速定位失败的根本原因。

除此之外,复杂的分布式系统也面临这下面这些问题: 性能分析:一个服务依赖很多服务,被依赖的服务也依赖了其他服务。如果某个接口耗时突然变长 了,那未必是直接调用的下游服务慢了,也可能是下游的下游慢了造成的,如何快速定位耗时变长 的根本原因呢? 链路梳理:需求迭代很快,系统之间调用关系变化频繁,靠人工很难梳理清楚系统链路拓扑(系统 之间的调用关系)。 **为了解决这些问题,Google 推出了一个分布式链路跟踪系统 **Dapper ,之后各个互联网公司都参照 Dapper 的思想推出了自己的分布式链路跟踪系统,而这些系统就是分布式系统下的APM系统。

1.1.3 什么是OpenTracing

分布式链路跟踪最先由Google在Dapper论文中提出,而OpenTracing通过提供平台无关、厂商无关 的API,使得开发人员能够方便的添加(或更换)追踪系统的实现。 下图是一个分布式调用的例子,客户端发起请求,请求首先到达负载均衡器,接着经过认证服务,订单 服务,然后请求资源,最后返回结果。

2.Skywalking基础

2.1 agent的使用

agent探针可以让我们不修改代码的情况下,对java应用上使用到的组件进行动态监控,获取运行数据 发送到OAP上进行统计和存储。agent探针在java中是使用java agent技术实现的,不需要更改任何代 码,java agent会通过虚拟机(VM)接口来在运行期更改代码。 Agent探针支持 JDK 1.6 - 12的版本,Agent探针所有的文件在Skywalking的agent文件夹下。文件目录 如下:

2.2 RocketBot的使用

模块栏目

  • 仪表盘:查看被监控服务的运行状态
  • 拓扑图:以拓扑图的方式展现服务直接的关系,并以此为入口查看相关信息
  • 追踪:以接口列表的方式展现,追踪接口内部调用过程
  • 性能剖析:单独端点进行采样分析,并可查看堆栈信息
  • 告警:触发告警的告警列表,包括实例,请求超时等。
  • 自动刷新:刷新当前数据内容(我这好像没有自动刷新)

2.2.1 仪表盘

2.2.1.1 控制栏

  • 第一栏:不同内容主题的监控面板,应用/数据库/容器等
  • 第二栏:操作,包括编辑/导出当前数据/倒入展示数据/不同服务端点筛选展示
  • 第三栏:不同纬度展示,服务/实例/端点

2.2.1.2 展示栏

Global全局维度

  • 第一栏:Global、Server、Instance、Endpoint不同展示面板,可以调整内部内容
  • Services load:服务每分钟请求数
  • Slow Services:慢响应服务,单位ms
  • Un-Health services(Apdex):Apdex性能指标,1为满分。
  • Global Response Latency:百分比响应延时,不同百分比的延时时间,单位ms
  • Global Heatmap:服务响应时间热力分布图,根据时间段内不同响应时间的数量显示颜色深度
  • 底部栏:展示数据的时间区间,点击可以调整。

Service服务维度

  • 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:每个服务实例的请求成功率

Instance实例维度

  • Service Instance Load:当前实例的每分钟请求数
  • Service Instance Successful Rate:当前实例的请求成功率
  • Service Instance Latency:当前实例的响应延时
  • JVM CPU:jvm占用CPU的百分比
  • JVM Memory:JVM内存占用大小,单位m
  • JVM GC Time:JVM垃圾回收时间,包含YGC和OGC
  • JVM GC Count:JVM垃圾回收次数,包含YGC和OGC
  • CLR XX:类似JVM虚拟机,这里用不上就不做解释了

Endpoint端点(API)维度

  • 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:当前端点每个时间段的请求成功率

2.2.2 拓扑图

  • 1:选择不同的服务关联拓扑
  • 2:查看单个服务相关内容
  • 3:服务间连接情况
  • 4:分组展示服务拓扑
    • 服务告警信息
    • 服务端点追踪信息
    • 服务实例性能信息
    • api信息面板

2.2.3 追踪

  • 左侧:api接口列表,红色-异常请求,蓝色-正常请求
  • 右侧:api追踪列表,api请求连接各端点的先后顺序和时间

2.2.4 性能剖析

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

新建任务

  • 服务:需要分析的服务
  • 端点:链路监控中端点的名称,可以再链路追踪中查看端点名称
  • 监控时间:采集数据的开始时间
  • 监控持续时间:监控采集多长时间
  • 起始监控时间:多少秒后进行采集
  • 监控间隔:多少秒采集一次
  • 最大采集数:最大采集多少样本

2.2.5 告警

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

本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/29

链路追踪-Skywalking概述相关推荐

  1. 分布式链路追踪SkyWalking进阶实战之RPC上报和WebHook通知(三)

    目录 1.自定义SkyWalking链路追踪配置 1.1 什么是TraceId 1.2 使用的背景 1.3 编码 2.SkyWalking-RocketBot性能剖析 3.SkyWalking链路追踪 ...

  2. 微服务链路追踪-SkyWalking

    微服务链路追踪-SkyWalking SkyWalking官网地址:https://skywalking.apache.org/ SkyWalking官方文档:https://skywalking.a ...

  3. 微服务链路追踪SkyWalking

    微服务链路追踪SkyWalking 链路追踪介绍 skywalking是什么 SkyWalking环境搭建部署 SkyWalking跨多个微服务跟踪 SkyWalking UI介绍 SkyWalkin ...

  4. Admin监控Sleuth链路追踪 skywalking链路追踪

    Admin监控&Sleuth链路追踪,skywalking **Sleuth&Zipkin** 一.Sleuth&Zipkin介绍 二.搭建环境 三.Sleuth入门操作 四. ...

  5. 微服务链路追踪SkyWalking第一课 SkyWalking简介

    开篇词:从剖析 SkyWalking 源码到吃透 APM 核心知识 你好,我是你的 SkyWalking 老师徐郡明,网名吴小胖,你也可以叫我胖哥.进入互联网行业工作多年,主要从事基础组件开发相关的工 ...

  6. 链路追踪SkyWalking

    1.SkyWalking的核心概念 1.1 概述 2015年由个人吴晟(华为开发者)开源 , 2017年加入Apache孵化器 分布式系统的应用程序性能监视工具,专为微服务.云原生架构和基于容器(Do ...

  7. PHP分布式链路追踪,SkyWalking:分布式架构链路追踪-SkyWalking介绍

    前面几篇文章提到了微服务相关系统的使用与搭建,在微服务架构下的问题也比较突出.正常系统下我们的每个请求都会在同一个系统中进行输出.但是在微服务架构中一个请求可能设置一到多个服务进行处理.服务之间相互依 ...

  8. 链路追踪-SkyWalking

    链路追踪是为了解决应用内部系统调用: 帮助理解系统行为.用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题,这就是所谓的 APM(应用性能管理) 提供分布式追踪.服务网格遥测分析.度量 ...

  9. 分布式链路追踪-skywalking入门体验

    背景 旁友,你的线上服务是不是偶尔来个超时,或者突然抖动一下,造成用户一堆反馈投诉.然后你费了九牛二虎之力,查了一圈圈代码和日志才总算定位到问题原因了.或者公司内部有链路追踪系统,虽然可以很轻松地通过 ...

最新文章

  1. Android PC投屏简单尝试(录屏直播)3—软解章(ImageReader+FFMpeg with X264)
  2. 非对称加解密,私钥和公钥到底是谁来加密,谁来解密?
  3. 浅谈.Net异步编程的前世今生----TPL篇
  4. python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
  5. java面向对象三个关键字_Java_面向对象_this关键字
  6. 大疆aeb连拍_大疆 AIR2 玩机(一)包围曝光及后期处理
  7. Node-require的加载机制
  8. java 继承 this_java多重继承的this属于谁
  9. oracle的约束什么作用,Oracle数据库知识之约束
  10. java 图片水印旋转,Java实现 图片水印或者文字水印详解
  11. 小米球ngrok如何后台启动
  12. ZZULIOJ:1059: 最高分
  13. linux下安装php+apache+mysql集成环境
  14. Code Complete阅读笔记(二)
  15. scan camera
  16. jeecms oracle v5_jeecms二次开发总结
  17. python监听鼠标键盘_python用pynput监听控制键盘鼠标
  18. 关于劳务派遣有哪些优缺点
  19. GNU开发工具的使用方法
  20. SSO - 单点登录

热门文章

  1. 2022官方发布辐轮王土拨鼠全球十大顶级公路自行车品牌排行榜
  2. 操作系统用户态和内核态之间的切换过程
  3. 造价师考试可以用计算机,2018一级造价工程师考试可以用什么样的计算器?
  4. hadoop-分布式存储工作原理及名词解释
  5. 【原创】可能要写游戏对几个游戏的思考
  6. 解决因缺少msvcp71.dll无法启动Windows程序
  7. 蒸汽幻想服务器修改,月影科技-蒸汽幻想服务端(附带网站+单机IP)
  8. CAD初学者常犯的12个错误
  9. 特征点法构建视觉里程计(代码实践)
  10. 天天爱消除倒计时功能的实现思路