Thanos 简介
Thanos 的一个主要特点就是通过使用对象存储(比如 S3)可以允许 “无限” 存储空间。对象存储可以是每个云提供商提供的对象存储也可以是 ceph、rook 或 minio 这样的解决方案。
工作原理
Thanos 被分成几个组件,每个组件都只有一个目标(典型云原生架构),组件之间通过 gRPC 进行通信。
Thanos Sidecar
📓 参考文档:
Thanos sidecar 与 Prometheus Operator 和 Kube Prometheus 栈一起,可以轻松部署。这个组件充当 Thanos 查询的存储。
Thanos Store(存储)
Thanos Compactor
Thanos Compactor(压缩器) 是一个单体(它是不可扩展的),它负责压缩和降低存储在对象存储中的指标。下采样(数据老化)是随着时间的推移对指标粒度的宽松。例如,你可能想将你的指标保持 2 年或 3 年,但你不需要像昨天的指标那么多数据点。这就是压缩器的作用,它可以在对象存储上节省字节,从而节省成本。
Thanos Query
- Thanos Store
- Thanos Sidecar
- Thanos Query
还负责对来自不同 Store 或 Prometheus 的相同指标进行重复数据删除。例如,如果你有一个度量值在 Prometheus 中,同时也在对象存储中,Thanos Query 可以对该指标值进行重复数据删除。在 Prometheus HA 设置的情况下,重复数据删除也基于 Prometheus 副本和分片。
Thanos Query Frontend(查询前端)
还有其他组件,比如在远程写的情况下 Thanos Receiver(接收器)、Thanos Ruler(规则)。
Thanos 部署架构
三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写。