1、Skywalking的初识-概念
2021-05-14 本文已影响0人
rock_fish
Skywalking前章:监控的基础认知
监控的元素
| 概念 | 作用 | 系统 |
|---|---|---|
| Trace | 分布式链路追踪 | Skywalking、pinpoint等 |
| Logging | 记录系统行为的离散事件 | EFK(Elasticsearch+Filebeat+Kibana) |
| Metric | 系统在一段时间内某一方面的某个度量,是可以聚合的 | Promethus、Open-Falcon |
Trace溯源
2010 年 4 月谷歌发表了一篇论文《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》,介绍了分布式追踪的概念,之后一些互联网公司就开始根据这篇论文打造自己的分布式链路追踪系统。
详情可参考:分布式trace原理-dapper总结
初识Skywalking
Skywallking核心概念
- Service:服务,类比微服务的应用。
- ServiceInstance:服务实例,类比某个微服务应用的jvm实例。
- Endpoint:端点,类比某个服务接口。
Skywalking核心功能
- 服务、服务实例、端点指标、SLA分析
- 服务拓扑图分析
- 性能分析
- 日志
- 告警
Skywalking核心组成
image.png
SkyWalking 逻辑上分为四部分: 探针, 平台后端, 存储和用户界面。
-
Agent(探针)
Agent 运行在各个服务实例中,负责采集服务实例的 Trace 、Metrics 等数据,然后通过 gRPC、Kafka 方式上报给 SkyWalking 后端;比如java类系统的Agent是JavaAgent,有些语言没有类似JavaAgent的机制的,需要通过侵入式编码来构造采集数据。 -
OAP
- Analysis:负责接收 Agent 上报上来的 Trace、Metrics 等数据,交给 Analysis Core (涉及 SkyWalking OAP 中的多个模块)进行流式分析,最终将分析得到的结果写入持久化存储中,之后将数据做报警通知和导出。
- Query:负责响应 SkyWalking UI 界面发送来的查询请求,将前面持久化的数据查询出来,组成正确的响应结果返回给 UI 界面进行展示
-
存储
SkyWalking支持很多存储:H2(用作演示环境)、MySQL(当数据量大时检索性能下降很厉害)、ES(主流生产级别的存储)、TiDB等 -
UI
SkyWalking 前后端进行分离,该 UI 界面负责将用户的查询操作封装为 GraphQL 请求提交给 OAP 后端触发后续的查询操作,待拿到查询结果之后会在前端负责展示