SkyWalking 核心概念与智能探针工作原理深度揭秘(上)

#作者:朱雷

文章目录

Skywalking是什么

Skywalking是一款国产开源的应用性能监控工具和分布式链路追踪系统,2015年由吴晟开源 , 2017年加入Apache孵化器。Skywalking主要用于APM性能监控和分布式链路追踪,功能包括分布式追 踪、性能指标分析、服务依赖分析及告警等。

SkyWalking为服务(service),服务实例(service instance),以及端点(endpoint)提供了指标和调用链的监控能力。使用 SkyWalking 时,用户可以看到服务与端点之间的拓扑结构,每个服务/服务实例/端点的性能指标,还可以设置报警规则。

Skywalking分布式链路追踪是遵循OpenTracing规范的,但不支持Opentelemetry规范的 W3C context传播协议。

Skywalking架构组成

SkyWalking逻辑上分为四个部分:探针、平台后端、存储和UI

Agent(探针)

探针收集数据并根据SkyWalking的要求对数据进行重

新格式化(不同的探测器支持不同的来源);Agent 运行

在各个服务实例中,负责采集服务实例的 Trace 、

Metrics等数据,然后通过 gRPC方式上报给 SkyWalking

后端

  • OAP
    接收 Agent 上报上来的 Trace、Metrics 等数据,
    分析得到的结果写入持久化存储中;响应 SkyWalking UI
    界面发送来的查询请求,将前面持久化的数据查询出来
    ,组成正确的响应结果返回给 UI 界

存储

接SkyWalking数据可以选择存储在已实现的

ElasticSearch, H2, MySQL, TiDB, InfluxDB的持久化系统,

一般线上使用ElasticSearch 集群作为其后端存储

UI

可视化和管理SkyWalking 数据

核心概念-资源对象

核心概念-链路追踪

  • 追踪: 一次请求完整的经过,可以微服务内的请求,也可以是夸服务的请求
  • Trace:表示一次(分布式)请求经过的所有局部操作(Span)构成的一条完整的有向无环图
  • Span:表示一次(分布式)请求过程的一个步骤或操作,代表系统中一个逻辑运行单元
  • TraceSegment:是一个介于Trace与Span之间的概念,是一次Trace在某一实例上的一个片段,会包 含多个Span;上报OAP端的trace数据粒度就是segment级别。

相关推荐
yuanManGan3 小时前
走进Linux的世界:gdb的使用
linux·运维·服务器
ZYMFZ3 小时前
Linux系统Nginx服务(二)
linux·运维·nginx
维尔切3 小时前
MySQL 主从复制
linux·运维·数据库·mysql·adb
三坛海会大神5554 小时前
ZooKeeper详解
运维·zookeeper
荣光波比4 小时前
ELK企业级日志分析系统详解:从入门到部署实践
运维·elk·云计算
love530love5 小时前
【02】EPGF 架构搭建教程之 Python 多版本配置
运维·开发语言·人工智能·windows·python·架构·epgf 架构
狮子也疯狂5 小时前
【保姆级】| 基于Docker的dify部署流程
运维·docker·容器
进击的_鹏5 小时前
【Linux】基础指令和基础知识点
linux·运维·服务器
望获linux5 小时前
【Linux基础知识系列:第一百三十四篇】理解Linux的进程调度策略
java·linux·运维·服务器·数据库·mysql