thanos
Thanos:(集群组件系统)
定义:Thanos是一组组件,可以组成具有长期存储功能的高可用性Prometheus设置。 其主要目标是简化操作,保留Prometheus的可靠性。
结构:
- Metric sources
- Stores
- Queriers
总体架构图:
- Metric Sources:
数据源是生成或收集度量标准数据的组件的非常通用的定义。 Source将群集中的此数据通告给潜在客户。 可以通过众所周知的gRPC服务检索度量数据。
Thanos提供了两个充当数据源的组件:Prometheus边车(Sidecar)和(Rule)规则节点。
sidecar在Prometheus的HTTP and remote-read APIs之上实现gRPC服务。 规则节点直接在它运行的Prometheus存储引擎之上实现它。
Thanos的sidecar组件与Prometheus实例一起部署。它在Prometheus的远程读取API之上实现了Thanos的Store API,并将自己作为数据源通告给集群。
- Metric Data Backup:
持久保存数据以进行长期存储的数据源通过Prometheus 2.0存储引擎实现。存储引擎定期生成固定时间范围内的不可变数据块。块是一个包含少量较大文件的目录,其中包含检索数据所需的所有样本数据和必需索引:
- Store:
从本质上讲,Store API允许通过一组标签匹配器(从PromQL中获知)和时间范围来查找数据。它返回在块数据中找到的压缩样本块。它纯粹是一种数据检索API,不提供复杂的查询执行
- Queriers:
查询器是无状态和水平可伸缩的实例,它们在集群中公开的Store API之上实现PromQL。 查询者参与群集以便能够弹性地发现所有数据源和存储节点。 返回的规则节点可以发现查询节点以评估记录和警报规则。基于存储节点和源节点的元数据,它们尝试最小化请求扇出以获取特定查询的数据。
(以上图片来自thanos的github文档https://thanos.io/design.md/)
下一篇会介绍thanos的具体使用及测试。