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

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. Linux : Ubuntu 安装 RabbitMQ

    安装 Erlang: 手动编译(不推荐)http://www.erlang.org/downloads下载源码 如22版本:http://erlang.org/download/otp_src_22. ...

  2. 阿里OSS前端直传

    第一次写博客,如有错误请多多指教. 先上代码吧: ossUpload = function (file, fun, funParameter) { //第一此请求后台服务器获取认证请求 $.ajax( ...

  3. Centos7 python虚拟环境virtualenv和virtualenvwrapper简单介绍

    我的系统版本是 [root@localhost ~]# cat /etc/os-release 我的Python版本是 [root@localhost ~]# python3 -V 关于如何安装Pyt ...

  4. 内部类不能有静态变量(除静态的对Static的理解)

    关于内部类(static与final) Static 不用实例化就能加载进内存 而内部类需要外部类实例化后才能加载进内存.这就间接造成static需要实例化了.与static不需要实例化语义矛盾 1. ...

  5. 为啥git会这么差!!!!

    删除分支  git push origin --delete Chapater6   可以删除远程分支Chapater6 git branch -d Chapater8 可以删除本地分支(在主分支中) ...

  6. 实体类id的几种生成方式

    @Id// @GeneratedValue(strategy = GenerationType.AUTO) // 自增// @GeneratedValue(strategy = GenerationT ...

  7. 由MQTT topic的正则表达式匹配引发的特殊字符"/"匹配思考

    正则表达式中的'/'替换 近期项目对接OneNET的MQTT物联网套件,需要完成命令下发流程. 流程要求: (1)设备在接收平台下发的命令(topic为$sys/{pid}/{device-name} ...

  8. Angular----样式

    本篇根据Angular官网提供的例子,对Angular涉及到的样式绑定进行说明. 一.提供的CSS样式 .red{ color:red; } .green{ color: green; } .yell ...

  9. docker在linux上的安装

    docker安装在liunx环境上,我电脑用的是ubuntu系统的,需要下载对应系统的docker,我下载的是社区版,对着官方的命令敲就好了, 地址是:https://docs.docker.com/ ...

  10. Odoo视图的共有标签

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826405.html 1)name (必选) 通过name值,查找标签 2)model 与view相关联的 ...