【skywalking学习-1-简介】

skywakling学习-1-简介

  • 1. 概述
  • 2. 应用场景
  • 3. 核心概念
    • 3.1 术语解释
    • 3.2 逻辑架构
  • 4. 优势
  • 5. 原理介绍
    • 5.1 Java探针原理
  • 6. UI界面
    • 6.1 service页面
    • 6.2 拓扑图页面
    • 6.3 链路追踪页面
    • 6.4 日志页面
    • 6.5 告警页面
    • 6.6 设置页面
  • 7. 相关文档

1. 概述

Skywalking是一个国产的开源框架,2015年有吴晟个人开源,2017年加入Apache孵化器,国人开源的产品,主要开发人员来自于华为,2019年4月17日Apache董事会批准SkyWalking成为顶级项目。

SkyWalking 是一个开源可观测性平台,用于收集、分析、聚合和可视化来自服务和云原生基础架构的数据。SkyWalking 提供了一种简单的方法来保持分布式系统的清晰视图,甚至可以跨云。它是一个现代 APM(Application Performance Management 即应用性能管理系统),专为云原生、基于容器的分布式系统而设计。

2. 应用场景

  • 链路追踪:可以通过调用链结合业务日志快速定位错误信息
  • 调用链路可视化:可以看到各个阶段的耗时,进行性能调优
  • 日志定位:可以通过配置,由调用链路直接查询到对应的日志,方便定位问题

3. 核心概念

3.1 术语解释

Skywalking 为服务、服务实例、端点、进程提供可观测性功能,具体含义如下:

  • 服务:表示为传入请求提供相同行为的一组/组工作负载,skywalking允许你自定义服务名称
  • 服务实例:服务组中的每个工作负载称为一个实例
  • 端点:服务中传入请求的路径,例如HTTP URI 路径或 gRPC 服务的类名+方法签名
  • 进程:操作系统的进程。在某些情况下,服务实例不是一个进程,例如 pod Kubernetes 可能包含多个进程

3.2 逻辑架构

SkyWalking在逻辑上分为四个部分:探针,后端,存储和UI
【skywalking学习-1-简介】_第1张图片

  • 探针:负责收集遥测数据,包括各种格式的指标,跟踪,日志和事件
  • 后端:负责数据聚合、分析和处理,涵盖链路追踪、指标、日志和事件
  • 存储:负责存储Skywalking的数据,可以选择现有的实现,例如:es、H2、Mysql、TiDB、BanyanDB
  • UI:是一个高度可定制的web页面,用于Skywalking的可视化和管理数据

4. 优势

  • Java探针采用字节码增强技术实现,对业务代码无侵入,集成成本极小
  • 探针性能优秀,网络资料显示,带来的性能损耗在5%之内
  • 探针不会干扰应用本身的功能,至少目前没有资料显示
  • 告警机制:可设置当服务成功率未达到设置值,触发告警提醒
  • 社区活跃,中英文文档齐全,增长势头强劲,目前正在被广泛应用
  • 多框架支持,包括国产框架:像Dubbo、gRPC、SOFARPC
  • 多插件支持,配置简单,且支持自定义插件
  • UI界面丰富,包括成功率、平均耗时、吞吐量等等,且支持高度定制
  • ……

5. 原理介绍

5.1 Java探针原理

SkyWalking 的 Java 探针实现原理为字节码注入,将需要注入的类文件转换成 byte 数组,通过设置好的拦截器注入到正在运行的程序中。这种探针通过控制 JVM 中类加载器的行为,侵入运行时环境以实现分布式追踪,无须修改业务系统的源代码。

6. UI界面

6.1 service页面

包含接入skywalking的应用,不同业务组件或不同环境的组件支持通过分组进行区分,比如post::agg
【skywalking学习-1-简介】_第2张图片

6.2 拓扑图页面

主要是各个应用之间的调用关系,其中User表示用户请求,且可识别出springboot应用为小绿叶,redis服务为官网redis红色图标等
【skywalking学习-1-简介】_第3张图片

6.3 链路追踪页面

其中可以选择服务、实例、端点、状态、追踪ID、标记等等进行筛选和搜索

点击某个调用链后,可以在右边选择列表形式、树结构形式、表格形式、统计形式等进行展示,且可以查看日志(前提日志已集成)
【skywalking学习-1-简介】_第4张图片

6.4 日志页面

可以看到该调用链的所有日志,字段包括:服务名、实例、端点、标记、时间、追踪ID、内容等
【skywalking学习-1-简介】_第5张图片
且点击某条日志后可以看到详细
【skywalking学习-1-简介】_第6张图片

6.5 告警页面

【skywalking学习-1-简介】_第7张图片

6.6 设置页面

【skywalking学习-1-简介】_第8张图片

7. 相关文档

官网说明文档:https://skywalking.apache.org/docs/

Java探针支持的技术列表:https://skywalking.apache.org/docs/skywalking-java/v8.14.0/en/setup/service-agent/java-agent/supported-list/

官网探针性能测试报告:https://skyapmtest.github.io/Agent-Benchmarks/README_zh.html

作者寄语:一晃又很长时间过去了,更新速度还是太慢了,我继续努力,先把skywalking学习系列更新完

你可能感兴趣的:(skywalking学习,skywalking,学习,kubernetes)