公司介绍

Thanos 是一个云原生的开源项目,提供高可用 Prometheus 设置及长期存储能力。项目最初由 Fabian Reinartz 和 Bartek Plotka 于 2017 年在 Improbable 公司内部发起,旨在解决 Prometheus 在大规模环境下的高可用与数据持久化问题。Thanos 采用 Sidecar 架构,在不修改 Prometheus 配置的前提下,将指标数据上传至对象存储,并通过统一的查询层实现跨 Prometheus 实例的全局视图。该项目于 2021 年正式成为 CNCF 毕业项目,被全球数千家企业用于生产环境的可观测性建设。

发展历程

时间 事件
2017 年 Fabian Reinartz 和 Bartek Plotka 在 Improbable 公司内部启动 Thanos 项目,解决 Prometheus 高可用与长期存储问题
2018 年 Thanos 在 GitHub 上开源,发布 Thanos Sidecar、Thanos Store 和 Thanos Query 核心组件
2019 年 发布 Thanos Compactor(压缩与降采样)和 Thanos Ruler(记录规则与告警),加入 CNCF Sandbox
2020 年 发布 Thanos Receive(支持 Remote Write 接收),晋级 CNCF Incubating
2021 年 正式成为 CNCF 毕业项目,被全球数千家企业用于生产监控
2023 年 发布 Thanos Query Frontend 优化查询性能,支持更复杂的多租户场景
2026 年 持续迭代,社区活跃度保持高位,成为 Prometheus 生态最流行的长期存储方案之一

核心产品

组件 说明
Thanos Sidecar 与 Prometheus 实例并行部署的 Sidecar 代理,将时间序列数据上传至对象存储并提供 Querier 接口
Thanos Store 提供对象存储中历史数据的读取接口,支持按标签和时间范围高效检索
Thanos Compactor 负责数据压缩、降采样和下采样(downsampling),降低存储成本并加速大范围查询
Thanos Ruler 独立的规则评估引擎,支持跨集群的 Prometheus 记录规则和告警规则
Thanos Query 统一查询层,聚合多个 Prometheus、Sidecar、Store 等数据源,提供全局时间序列查询
Thanos Receive 实现 Remote Write 接收器协议,支持从外部系统(如 Grafana Agent、OpenTelemetry)直接写入指标数据

竞争优势

  • 全局查询视图:Thanos Query 统一多个 Prometheus 实例和对象存储中的数据源,提供跨集群、跨数据中心的全局指标查询能力。
  • 无限长期存储:利用对象存储(如 AWS S3、GCS、MinIO)保存历史数据,不受本地磁盘限制,存储成本极低。
  • 高可用架构:无单点故障设计,每个组件均可水平扩展,Prometheus 实例的故障不影响历史数据的可用性。
  • 无缝集成 Prometheus:通过 Sidecar 模式工作,无需修改 Prometheus 配置或代码,现有部署可平滑升级。
  • 数据降采样:Thanos Compactor 自动对历史数据进行降采样,在大时间范围查询时显著提升查询性能。
  • CNCF 毕业项目:成熟的社区治理、广泛的厂商支持和活跃的贡献者生态,确保长期稳定发展。

竞争对手

Thanos 在 Prometheus 长期存储与高可用领域的主要竞争对手包括:

竞争对手 说明
Grafana Mimir Grafana Labs 推出的 Prometheus 兼容长期存储方案,内置水平分片和多租户支持
VictoriaMetrics 高性能指标存储与查询系统,Prometheus 兼容 API,单节点即可支持百万级样本/秒
Cortex 早期 Prometheus 长期存储方案(已弃用),功能已演进至 Grafana Mimir
InfluxDB 时间序列数据库,可用于长期指标存储,但非原生 Prometheus 兼容
Prometheus(独立部署) 仅使用原生 Prometheus,适合小规模或单集群场景,缺乏全局视图和长期存储
Splunk 企业级可观测性与日志分析平台,提供指标存储和查询能力,适合大型组织