盛兴彩票-Thanos - 具有无限存储空间的可扩展Pro

Improbable工程团队 Thanos,这是一组组件盛兴彩票网可通过跨集群联合,跨集群无限存储和全局查询为Prometheus安装增加高可用性。

不可能的有一个庞大的Prometheus部署来监视他们的几十个Kubernetes集群。开箱即用的Prometheus设置在查询历史数据,在单个API调用中跨分布式Prometheus服务器查询以及合并来自多个Prometheus HA设置的复制数据方面遇到困难。

Prometheus具有现有的高可用性功能,全球Prometheus服务器可以在其他Prometheus服务器上聚合数据,可能在多个数据中心中。每台服务器只能看到一部分指标。为了处理每个数据中心的更多负载,多台Prometheus服务器可以在一个数据中心内运行,并进行水平分片。在分片设置中,从服务器获取数据的子集,并由主服务器对其进行聚合。查询特定的机器涉及查询刮掉其数据的特定从机。默认情况下,Prometheus将时间序列数据存储。盛兴彩票网为了存储无限期的数据,Prometheus有写入另一个数据存储以及其常规数据存储。但是,数据的重复数据删除是这种方法的一个问题。其他解决方案如在用作远程写入端点时提供可扩展的长期存储以及兼容的查询API。

在所有服务器之间引入了一个中央查询层,通过一台坐在每台普罗米修斯服务器旁的边车组件和一个响应PromQL查询的中央查询器组件。这构成了Thanos部署。组件间通信是通过八卦协议。Querier可以水平扩展,因为它是无状态的,并且充当智能逆向代理,将请求传递给侧车,汇总它们的响应并评估对它们的PromQL查询。

Thanos通过使用对象存储作为后端来解决存储保留问题。Prometheus将数据写入磁盘并将其上传到对象存储器时,边车StoreAPI组件会进行检测。相同的Store组件还可以作为一个基于闲话协议的检索代理,让Querier组件与它进行通信以获取数据。

InfoQ与Improbable的软件工程师了解更多关于盛兴彩票网Thanos如何执行查询的信息:

在Thanos中,查询总是在一个地方进行评估 - 在根中,通过HTTP监听PromQL查询。来自Prometheus 2.2.1的vanilla PromQL引擎用于评估查询,该查询推导出我们需要获取数据的时间序列和时间范围。我们使用基本的过滤(基于时间范围和外部标签)过滤掉不会提供所需数据的StoreAPI(叶子),然后调用剩余的数据。然后将结果从不同来源合并 - 按时间顺序附加在一起。

Querier组件可以根据用户放大和缩小,在分辨率(例如5分钟,1小时,24小时)之间进行自动切换。Thanos如何确定哪些API服务器在查询中具有所需的数据?Płotka解释说:

StoreAPI传播外部标签及其数据的时间范围。所以我们可以对此进行基本过滤。但是,如果您没有在查询中指定任何这些(您只需要所有“up”系列)查询器就会同时询问所有StoreAPI服务器。此外,边车和商店数据之间可能会有重复的结果

StoreAPI组件理解Prometheus数据格式,因此它可以优化查询执行计划并缓存块的特定索引以对用户查询做出足够快的响应。这免除了缓存大量数据的需要。在使用Thanos sidecars的HA Prometheus设置中,是否会有多盛兴彩票网个侧架试图将相同的数据块上传到对象存储的问题?

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.gdjxjy.com.cn/a/shengxingcaipiao/252.html