发布时间: 2023-04-24 14:05:09
Thanos是一个 "具有长期存储能力的开源、高可用的Prometheus 系统"。Thanos被许多知名公司使用,是CNCF孵化计划的一部分。Thanos的主要特点之一是,它通过使用对象存储(如S3)允许 "无限 "的存储空间。对象存储可以由每个云提供商或像ceph、rook或minio的解决方案提供。
Thanos和Prometheus并肩工作,通常从Prometheus开始,升级到Thanos。
Thanos被分割成多个组件,每个组件都有一个目标(典型的云原生架构),组件之间通过gRPC通信。
Thanos和Prometheus一起运行(有一个sidecar),每2小时将Prometheus的指标输出到一个对象库。这使得Prometheus几乎是无状态的。
rometheus仍然在内存中保存2小时的指标,所以在停机的情况下,你可能仍然会失去2小时的指标(这个问题应该由你的Prometheus设置来处理,使用HA/sharding,而不是Thanos)。
Thanos sidecar 与 Prometheus Operator 和 Kube Prometheus 栈一起,可以轻松部署。这个组件充当 Thanos 查询的存储。
Thanos 存储充当一个网关,将查询转换为远程对象存储。它还可以在本地存储上缓存一些信息。基本上,这个组件允许你查询对象存储以获取指标。这个组件充当 Thanos 查询的存储。
Thanos Compactor(压缩器) 是一个单体(它是不可扩展的),它负责压缩和降低存储在对象存储中的指标。下采样(数据老化)是随着时间的推移对指标粒度的宽松。例如,你可能想将你的指标保持 2 年或 3 年,但你不需要像昨天的指标那么多数据点。这就是压缩器的作用,它可以在对象存储上节省字节,从而节省成本。
Thanos Query(查询)是 Thanos 的主要组件,它是向其发送 PromQL 查询的中心点。Thanos 查询暴露了一个与 Prometheus 兼容的端点。然后它将查询分派给所有的 “stores”。记住,Store 可能是任何其他提供指标的 Thanos 组件。Thanos 查询可以发送查询到另一个 Thanos 查询(他们可以堆叠)。
上一篇: TruthGPT是什么意思
下一篇: 云原生网关API标准背景及发展现状