随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。

Skywalking是一个可观测性分析平台和应用性能管理系统。

提供分布式跟踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。

原理图

说几个碰到的坑:

  1. mysql 支持,github下载下来的包默认没有驱动,如果你要用mysql来存储数据,需要把mysql-connector-java-5.1.46.jar 放到oap-libs目录下
  2. 数据自动清除,默认删除90分钟前的数据
  3. 使用 端点面板 中 全局最慢端点追踪 中复制的id 去搜索是搜不到的,必须要加1
  4. 时区必须保持一致:Ubuntu18.04 设置时区.必须要用
  5. 不能使用域名,只能使用IP(碰到连接异常或者agent注册不上可以试试)
timedatectl set-timezone "Asia/Shanghai"

docker 中设置时区可以用

    environment:
- TZ=Asia/Shanghai

主界面

提供全局视图,主要展示了所有被监控服务的总体信息

具体有:

全局热图

提供每分钟响应时间的统计数据

全局响应百分比

(大于) 过去 10 秒内最慢的 x% 的请求的平均延迟,其中 x 是数字与 100 之差。例如,p99 1.403 表示过去 10 秒内最慢的 1% 请求的平均延迟为 1.403 秒。

(ps:这句话很拗口)

全局概况

全局最大吞吐量

每个服务每分钟调用次数

全局最慢端点

服务面板

主要提供当前选中服务的基础信息

全局概况

服务平均响应时间

服务平均吞吐量

该服务每分钟调用次数

服务平均可用性

通过请求成功与失败次数来计算(来源:http://blog.itpub.net/31562043/viewspace-2305574/)

全局响应百分比

过去 10 秒内最慢的 x% 的请求的平均延迟,其中 x 是数字与 100 之差。例如,p99 1.403 表示过去 10 秒内最慢的 1% 请求的平均延迟为 1.403 秒。

服务响应百分比

过去 10 秒内最慢的 x% 的请求的平均延迟,其中 x 是数字与 100 之差。例如,p99 1.403 表示过去 10 秒内最慢的 1% 请求的平均延迟为 1.403 秒。

服务最慢端点

该服务下响应最慢的端点

运行中的实例

端点面板

主要提供当前选中端点的基础信息

全局概况

端点平均响应时间

端点平均吞吐量

该端点每分钟调用次数

端点平均可用性

通过请求成功与失败次数来计算(来源:http://blog.itpub.net/31562043/viewspace-2305574/)

全局响应百分比

过去 10 秒内最慢的 x% 的请求的平均延迟,其中 x 是数字与 100 之差。例如,p99 1.403 表示过去 10 秒内最慢的 1% 请求的平均延迟为 1.403 秒。

端点响应百分比

过去 10 秒内最慢的 x% 的请求的平均延迟,其中 x 是数字与 100 之差。例如,p99 1.403 表示过去 10 秒内最慢的 1% 请求的平均延迟为 1.403 秒。

依赖关系图

最慢端点追踪

默认显示该服务下的最慢的十条记录,可以点击右侧的图标复制追踪ID进行查询详细信息

全局最慢端点

默认显示全局的最慢的十条记录,可以点击右侧的图标复制追踪ID进行查询详细信息

实例面板

实例信息

该选中实例基础信息(语言,系统,主机名,流程号,ip)

实例平均吞吐量

该实例每分钟调用次数

实例平均响应时间

该实例平均响应时间

实例平均可用性

通过请求成功与失败次数来计算(来源:http://blog.itpub.net/31562043/viewspace-2305574/)

jvm 垃圾回收耗时

新生代,老年代

jvm 堆内存

jvm 非堆内存

jvm cpu

clr cpu

clr 堆内存

clr gc

拓扑图面板



接口请求的拓扑图

追踪面板

左上角可以输入追踪ID进行搜索

点击任意节点进行查询详情

spring cloud 服务链路追踪 skywalking 6.1的更多相关文章

  1. Spring Cloud全链路追踪实现(Sleuth+Zipkin+RabbitMQ+ES+Kibana)

    简介 在微服务架构下存在多个服务之间的相互调用,当某个请求变慢或不可用时,我们如何快速定位服务故障点呢?链路追踪的实现就是为了解决这一问题,本文采用Sleuth+Zipkin+RabbitMQ+ES+ ...

  2. Spring Cloud 全链路追踪实现

    简介 在微服务架构下存在多个服务之间的相互调用,当某个请求变慢或不可用时,我们如何快速定位服务故障点呢?链路追踪的实现就是为了解决这一问题,本文采用Sleuth+Zipkin+RabbitMQ+ES+ ...

  3. Spring Cloud Sleuth+ZipKin+ELK服务链路追踪(七)

    序言 sleuth是spring cloud的分布式跟踪工具,主要记录链路调用数据,本身只支持内存存储,在业务量大的场景下,为拉提升系统性能也可通过http传输数据,也可换做rabbit或者kafka ...

  4. 服务链路追踪(Spring Cloud Sleuth)

    sleuth:英 [slu:θ] 美 [sluθ] n.足迹,警犬,侦探vi.做侦探 微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元.由于服务单元数量众多,业务的 ...

  5. spring cloud 入门系列八:使用spring cloud sleuth整合zipkin进行服务链路追踪

    好久没有写博客了,主要是最近有些忙,今天忙里偷闲来一篇. =======我是华丽的分割线========== 微服务架构是一种分布式架构,微服务系统按照业务划分服务单元,一个微服务往往会有很多个服务单 ...

  6. Spring Cloud 分布式链路跟踪 Sleuth + Zipkin + Elasticsearch【Finchley 版】

    随着业务越来越复杂,系统也随之进行各种拆分,特别是随着微服务架构的兴起,看似一个简单的应用,后台可能很多服务在支撑:一个请求可能需要多个服务的调用:当请求迟缓或不可用时,无法得知是哪个微服务引起的,这 ...

  7. Spring Cloud Sleuth链路监控应用(十四)

    https://docs.spring.io/spring-cloud-sleuth/docs/2.2.5.RELEASE/reference/html/ 一.Sleuth介绍   为什么要使用微服务 ...

  8. Spring Cloud 服务端注册与客户端调用

    Spring Cloud 服务端注册与客户端调用 上一篇中,我们已经把Spring Cloud的服务注册中心Eureka搭建起来了,这一章,我们讲解如何将服务注册到Eureka,以及客户端如何调用服务 ...

  9. 【spring cloud】在spring cloud服务中,打包ms-core失败,报错Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.0.4.RELEASE:repackage (default) on project

    在spring cloud服务中,有一个ms-code项目,只为所有的微服务提供核心依赖和工具类,没有业务意义,作为核心依赖使用.所以没有main方法,没有启动类. 在spring cloud整体打包 ...

随机推荐

  1. Java学习:File类

    Java学习:File类 File类的概述 重点:记住这三个单词 绝对路径和相对路径 File类的构造方法 File类判断功能的方法 File类创建删除功能的方法 File类获取(文件夹)目录和文件夹 ...

  2. 使用Redis实现中英文自动补全功能详解

    1.Redis自动补全功能介绍: ​ Redis可以帮我们实现很多种功能,今天这里着重介绍的是Redis的自动补全功能的实现.我们使用有序集合,并score都为0,这样就按元素值的字典序排序.然后我们 ...

  3. Application类-多窗口交互

    我们在派生自Application类中出来放置响应应用程序事件的代码外,还可以放置一些完成其他任务的代码. 在此之前要知道: 如何获取应用程序的Application对象: //App是一个继承自Ap ...

  4. windows配置flutter的注意点

    参考官网配置:https://flutter.cn/docs/get-started/install/windows 注意点: 1. 配置好环境变量后,必须重启电脑才有效果(后面还有需要重启的,所以到 ...

  5. 【翻译】tus----一个可续传文件上传的开放协议

    tus tus是一个可续穿文件上传协议,它以Http协议为载体,统一了一个文件断点续传的标准. 这篇文章翻译自https://tus.io/ 目前该协议版本信息如下: Version: 1.0.0 ( ...

  6. Servlet处理(jQuery)Ajax请求

    1. jQuery     jQuery是一个JavaScript函数库,极大的简化了JavaScript编程,很容易学习.jQuery是目前最流行的开源js框架,并且提供了大量的扩展. 2. Aja ...

  7. 浅谈Nginx以及特性

    Nginx以及特性 1.Nginx是什么? Nginx是一个高性能的HTTP和反向代理轻量级web服务器,特点:占用内存少,处理并发能力强.Nginx专为性能优化而开发,性能是其最重要的考量 ,能经受 ...

  8. 【开发笔记】- Grails框架定义一个不是数据库字段得属性

    实体类 class Book{ String name String author // myfiled 我不想他在数据库中生成book表的字段 String myfield } 添加声明 class ...

  9. SQLMAP源码阅读(一)

  10. SpringBoot自定义Condition注解

        最近碰到个这样的需求,需要同一套代码适配个版本数据库(数据库不同,且部分表的字段及关联关系可能会不同),即这套代码配置不同的数据库都能跑.项目采用的框架为SpringBoot+Mybatis. ...